Fix delete on release of uninstalling status (#1786)

* Fix helmfile destroy/delete not deleting `uninstalling` release

Ref https://github.com/roboll/helmfile/issues/1750#issuecomment-823677950

* Cover helm3 in helmfile-destroy test
This commit is contained in:
Yusuke Kuoka
2021-04-21 09:39:14 +09:00
committed by GitHub
parent 5617b593c8
commit eabda4cf28
8 changed files with 187 additions and 104 deletions
+7 -2
View File
@@ -857,8 +857,13 @@ func (st *HelmState) SyncReleases(affectedReleases *AffectedReleases, helm helme
func (st *HelmState) listReleases(context helmexec.HelmContext, helm helmexec.Interface, release *ReleaseSpec) (string, error) {
flags := st.connectionFlags(helm, release)
if helm.IsHelm3() && release.Namespace != "" {
flags = append(flags, "--namespace", release.Namespace)
if helm.IsHelm3() {
if release.Namespace != "" {
flags = append(flags, "--namespace", release.Namespace)
}
flags = append(flags, "--uninstalling")
} else {
flags = append(flags, "--deleting")
}
flags = append(flags, "--deployed", "--failed", "--pending")
return helm.List(context, "^"+release.Name+"$", flags...)
+2 -2
View File
@@ -1341,7 +1341,7 @@ func TestHelmState_SyncReleasesAffectedRealeases(t *testing.T) {
//simulate the release is already installed
for i, release := range tt.releases {
if tt.installed != nil && tt.installed[i] {
helm.Lists[exectest.ListKey{Filter: "^" + release.Name + "$", Flags: "--deployed--failed--pending"}] = release.Name
helm.Lists[exectest.ListKey{Filter: "^" + release.Name + "$", Flags: "--deleting--deployed--failed--pending"}] = release.Name
}
}
@@ -1444,7 +1444,7 @@ func TestGetDeployedVersion(t *testing.T) {
Lists: map[exectest.ListKey]string{},
}
//simulate the helm.list call result
helm.Lists[exectest.ListKey{Filter: "^" + tt.release.Name + "$", Flags: "--deployed--failed--pending"}] = tt.listResult
helm.Lists[exectest.ListKey{Filter: "^" + tt.release.Name + "$", Flags: "--deleting--deployed--failed--pending"}] = tt.listResult
affectedReleases := AffectedReleases{}
state.SyncReleases(&affectedReleases, helm, []string{}, 1)