From beda5e1e2be460543c32e2267982d6a7333be483 Mon Sep 17 00:00:00 2001 From: Peter Engelbert Date: Fri, 18 Dec 2020 16:29:15 -0600 Subject: [PATCH] Address error on deletion of old dependencies Signed-off-by: Peter Engelbert --- cmd/helm/dependency_update_test.go | 2 +- pkg/downloader/manager.go | 16 ++-------------- pkg/getter/getter_test.go | 2 +- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/cmd/helm/dependency_update_test.go b/cmd/helm/dependency_update_test.go index ce93e5c41..896018735 100644 --- a/cmd/helm/dependency_update_test.go +++ b/cmd/helm/dependency_update_test.go @@ -144,7 +144,7 @@ func TestDependencyUpdateCmd(t *testing.T) { t.Logf("Output: %s", out) t.Fatal(err) } - expect = dir(ociChartName, "charts/oci-dependent-chart") + expect = dir(ociChartName, "charts/oci-dependent-chart-0.1.0.tgz") if _, err := os.Stat(expect); err != nil { t.Fatal(err) } diff --git a/pkg/downloader/manager.go b/pkg/downloader/manager.go index f2945fdb6..38ed04279 100644 --- a/pkg/downloader/manager.go +++ b/pkg/downloader/manager.go @@ -335,7 +335,7 @@ func (m *Manager) downloadAll(deps []*chart.Dependency) error { }, } - untar, version := false, "" + version := "" if strings.HasPrefix(churl, "oci://") { if !resolver.FeatureGateOCI.IsEnabled() { return errors.Wrapf(resolver.FeatureGateOCI.Error(), @@ -346,29 +346,17 @@ func (m *Manager) downloadAll(deps []*chart.Dependency) error { if err != nil { return errors.Wrapf(err, "could not parse OCI reference") } - untar = true dl.Options = append(dl.Options, getter.WithRegistryClient(m.RegistryClient), getter.WithTagName(version)) } - destFile, _, err := dl.DownloadTo(churl, version, destPath) + _, _, err = dl.DownloadTo(churl, version, destPath) if err != nil { saveError = errors.Wrapf(err, "could not download %s", churl) break } - if untar { - err = chartutil.ExpandFile(destPath, destFile) - if err != nil { - return errors.Wrapf(err, "could not open %s to untar", destFile) - } - err = os.RemoveAll(destFile) - if err != nil { - return errors.Wrapf(err, "chart was downloaded and untarred, but was unable to remove the tarball: %s", destFile) - } - } - churls[churl] = struct{}{} } diff --git a/pkg/getter/getter_test.go b/pkg/getter/getter_test.go index 95d309c16..ab14784ab 100644 --- a/pkg/getter/getter_test.go +++ b/pkg/getter/getter_test.go @@ -58,7 +58,7 @@ func TestAll(t *testing.T) { all := All(env) if len(all) != 4 { - t.Errorf("expected 3 providers (default plus two plugins), got %d", len(all)) + t.Errorf("expected 4 providers (default plus three plugins), got %d", len(all)) } if _, err := all.ByScheme("test2"); err != nil {