From 590486446f1d3670a3fff0a1098872b9df3b24ed Mon Sep 17 00:00:00 2001 From: yxxhero <11087727+yxxhero@users.noreply.github.com> Date: Mon, 4 Mar 2024 10:30:03 +0800 Subject: [PATCH] fix needs issue when release installed is false (#997) * fix needs issue when release installed is false Signed-off-by: yxxhero --- pkg/app/app.go | 26 +++-- pkg/app/app_sync_test.go | 4 + pkg/app/app_test.go | 1 + pkg/app/desired_state_file_loader.go | 1 + pkg/app/destroy_nokubectx_test.go | 7 ++ pkg/app/destroy_test.go | 7 ++ pkg/app/diff_nokubectx_test.go | 1 + pkg/app/diff_test.go | 1 + pkg/app/testdata/app_diff_test/bad_selector | 1 + .../fail_on_unselected_need_by_default | 1 + pkg/app/testdata/app_diff_test/include-needs | 1 + ...ds_should_not_fail_on_disabled_direct_need | 2 + ...hould_not_fail_on_disabled_transitive_need | 2 + ...ds_should_not_fail_on_disabled_direct_need | 2 + ...hould_not_fail_on_disabled_transitive_need | 2 + .../app_diff_test/include-transitive-needs | 1 + ...hould_not_fail_on_disabled_transitive_need | 2 + pkg/app/testdata/app_diff_test/no-hooks | 1 + pkg/app/testdata/app_diff_test/skip-needs | 1 + .../delete_bar_when_foo_needs_bar | 1 + ..._bar_when_foo_needs_bar_with_include-needs | 2 + ...ete_bar_when_foo_needs_bar_with_skip-needs | 2 + .../delete_foo_and_bar_when_bar_needs_foo | 1 + .../delete_foo_and_bar_when_foo_needs_bar | 1 + .../delete_foo_when_bar_needs_foo | 1 + ..._foo_when_bar_needs_foo_with_include-needs | 2 + ...ete_foo_when_bar_needs_foo_with_skip-needs | 2 + pkg/app/testdata/app_diff_test_1/smoke | 1 + .../delete_bar_when_foo_needs_bar | 1 + ..._bar_when_foo_needs_bar_with_include-needs | 2 + ...ete_bar_when_foo_needs_bar_with_skip-needs | 2 + .../delete_foo_and_bar_when_bar_needs_foo | 1 + .../delete_foo_and_bar_when_foo_needs_bar | 1 + .../delete_foo_when_bar_needs_foo | 1 + pkg/app/testdata/app_diff_test_2/smoke | 1 + pkg/app/testdata/app_lint_test/bad_selector | 1 + .../fail_on_unselected_need_by_default | 1 + pkg/app/testdata/app_lint_test/include-needs | 1 + ...include-needs_fail_on_disabled_direct_need | 108 ------------------ ...ude-needs_fail_on_disabled_transitive_need | 108 ------------------ ...ds_should_not_fail_on_disabled_direct_need | 1 + ...hould_not_fail_on_disabled_transitive_need | 1 + ...nsitive-needs_fail_on_disabled_direct_need | 108 ------------------ ...ive-needs_fail_on_disabled_transitive_need | 108 ------------------ ...ds_should_not_fail_on_disabled_direct_need | 1 + ...hould_not_fail_on_disabled_transitive_need | 1 + .../app_lint_test/include-transitive-needs | 1 + ...hould_not_fail_on_disabled_transitive_need | 1 + pkg/app/testdata/app_lint_test/skip-needs | 1 + .../default_environment_includes_all_releases | 1 + ...ses_for_environment_used_in_multiple_files | 1 + ...releases_matching_selector_and_environment | 1 + .../testdata/app_template_test/bad_selector | 1 + .../fail_on_unselected_need_by_default | 1 + .../testdata/app_template_test/include-needs | 1 + ...include-needs_fail_on_disabled_direct_need | 108 ------------------ ...ude-needs_fail_on_disabled_transitive_need | 108 ------------------ ...ds_should_not_fail_on_disabled_direct_need | 2 + ...hould_not_fail_on_disabled_transitive_need | 2 + ...nsitive-needs_fail_on_disabled_direct_need | 108 ------------------ ...ive-needs_fail_on_disabled_transitive_need | 108 ------------------ ...ds_should_not_fail_on_disabled_direct_need | 2 + ...hould_not_fail_on_disabled_transitive_need | 2 + .../include-transitive-needs | 1 + ...hould_not_fail_on_disabled_transitive_need | 2 + pkg/app/testdata/app_template_test/skip-needs | 1 + .../delete_bar_when_foo_needs_bar/log | 3 + .../delete_foo_and_bar_when_bar_needs_foo/log | 1 + .../delete_foo_and_bar_when_foo_needs_bar/log | 1 + .../delete_foo_when_bar_needs_foo/log | 3 + pkg/app/testdata/testapply/smoke/log | 1 + .../log | 3 + .../log | 3 + .../log | 3 + .../log | 3 + pkg/state/selector_test.go | 14 ++- pkg/state/state.go | 42 ++++--- 77 files changed, 161 insertions(+), 894 deletions(-) delete mode 100644 pkg/app/testdata/app_lint_test/include-needs_fail_on_disabled_direct_need delete mode 100644 pkg/app/testdata/app_lint_test/include-needs_fail_on_disabled_transitive_need delete mode 100644 pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_fail_on_disabled_direct_need delete mode 100644 pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_fail_on_disabled_transitive_need delete mode 100644 pkg/app/testdata/app_template_test/include-needs_fail_on_disabled_direct_need delete mode 100644 pkg/app/testdata/app_template_test/include-needs_fail_on_disabled_transitive_need delete mode 100644 pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_fail_on_disabled_direct_need delete mode 100644 pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_fail_on_disabled_transitive_need diff --git a/pkg/app/app.go b/pkg/app/app.go index 4df32448..917d06fe 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -1083,7 +1083,11 @@ func (a *App) visitStatesWithSelectorsAndRemoteSupport(fileOrDir string, converg // pre-overrides HelmState fHelmStatsWithOverrides := func(st *state.HelmState) (bool, []error) { - st.Releases = st.GetReleasesWithOverrides() + var err error + st.Releases, err = st.GetReleasesWithOverrides() + if err != nil { + return false, []error{err} + } return f(st) } @@ -1111,7 +1115,7 @@ func processFilteredReleases(st *state.HelmState, converge func(st *state.HelmSt func checkDuplicates(releases []state.ReleaseSpec) error { type Key struct { - TillerNamespace, Name, KubeContext string + Namespace, Name, KubeContext string } releaseNameCounts := map[Key]int{} @@ -1123,8 +1127,8 @@ func checkDuplicates(releases []state.ReleaseSpec) error { if c > 1 { var msg string - if name.TillerNamespace != "" { - msg += fmt.Sprintf(" in namespace %q", name.TillerNamespace) + if name.Namespace != "" { + msg += fmt.Sprintf(" in namespace %q", name.Namespace) } if name.KubeContext != "" { @@ -1678,10 +1682,9 @@ func (a *App) status(r *Run, c StatusesConfigProvider) (bool, []error) { var toStatus []state.ReleaseSpec for _, r := range selectedReleases { - if !r.Desired() { - continue + if r.Desired() { + toStatus = append(toStatus, r) } - toStatus = append(toStatus, r) } var errs []error @@ -1761,7 +1764,7 @@ func (a *App) sync(r *Run, c SyncConfigProvider) (bool, []error) { for _, r := range toSyncWithNeeds { release := r if _, deleted := releasesToDelete[state.ReleaseToID(&release)]; !deleted { - if release.Installed == nil || *release.Installed { + if r.Desired() { toUpdate = append(toUpdate, release) } // TODO Emit error when the user opted to fail when the needed release is disabled, @@ -1955,7 +1958,7 @@ func (a *App) withNeeds(r *Run, c DAGConfig, includeDisabled bool, f func(*state for _, r := range selectedReleasesWithNeeds { release := r id := state.ReleaseToID(&release) - if release.Installed != nil && !*release.Installed { + if !release.Desired() { releasesToUninstall[id] = release } else { toRender = append(toRender, release) @@ -2040,10 +2043,9 @@ func (a *App) writeValues(r *Run, c WriteValuesConfigProvider) (bool, []error) { for _, r := range toRender { release := r id := state.ReleaseToID(&release) - if release.Installed != nil && !*release.Installed { - continue + if release.Desired() { + releasesToWrite[id] = release } - releasesToWrite[id] = release } var errs []error diff --git a/pkg/app/app_sync_test.go b/pkg/app/app_sync_test.go index cfc092ff..299a48d1 100644 --- a/pkg/app/app_sync_test.go +++ b/pkg/app/app_sync_test.go @@ -807,6 +807,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 24: merged environment: &{default map[] map[]} +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs 2 release(s) matching app=test found in helmfile.yaml Affected releases are: @@ -825,6 +826,7 @@ GROUP RELEASES 2 default/default/my-release processing releases in group 1/2: default/default/external-secrets +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs processing releases in group 2/2: default/default/my-release UPDATED RELEASES: @@ -955,6 +957,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 24: merged environment: &{default map[] map[]} +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs 2 release(s) matching app=test found in helmfile.yaml Affected releases are: @@ -967,6 +970,7 @@ GROUP RELEASES 2 default/default/my-release processing releases in group 1/2: default/default/external-secrets +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs processing releases in group 2/2: default/default/my-release UPDATED RELEASES: diff --git a/pkg/app/app_test.go b/pkg/app/app_test.go index afc36d39..08d8af28 100644 --- a/pkg/app/app_test.go +++ b/pkg/app/app_test.go @@ -3745,6 +3745,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml err: release(s) "default//foo" depend(s) on an undefined release "default/ns1/bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"? diff --git a/pkg/app/desired_state_file_loader.go b/pkg/app/desired_state_file_loader.go index 04e7bbad..a6b77a4e 100644 --- a/pkg/app/desired_state_file_loader.go +++ b/pkg/app/desired_state_file_loader.go @@ -285,5 +285,6 @@ func (ld *desiredStateLoader) load(env, overrodeEnv *environment.Environment, ba } } + finalState.OrginReleases = finalState.Releases return finalState, nil } diff --git a/pkg/app/destroy_nokubectx_test.go b/pkg/app/destroy_nokubectx_test.go index b26abce6..6e20c2d2 100644 --- a/pkg/app/destroy_nokubectx_test.go +++ b/pkg/app/destroy_nokubectx_test.go @@ -377,6 +377,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 54: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 10 release(s) found in helmfile.yaml processing 5 groups of releases in this order: @@ -390,6 +391,7 @@ GROUP RELEASES processing releases in group 1/5: frontend-v3, frontend-v2, frontend-v1 release "frontend-v3" processed release "frontend-v2" processed +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs release "frontend-v1" processed processing releases in group 2/5: backend-v2, backend-v1 release "backend-v2" processed @@ -589,6 +591,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 54: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 1 release(s) matching name=logging found in helmfile.yaml processing 1 groups of releases in this order: @@ -657,6 +660,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 2 release(s) found in helmfile.yaml processing 2 groups of releases in this order: @@ -665,6 +669,7 @@ GROUP RELEASES 2 backend-v1 processing releases in group 1/2: frontend-v1 +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs release "frontend-v1" processed processing releases in group 2/2: backend-v1 release "backend-v1" processed @@ -729,6 +734,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 2 release(s) found in helmfile.yaml processing 2 groups of releases in this order: @@ -737,6 +743,7 @@ GROUP RELEASES 2 backend-v1 processing releases in group 1/2: frontend-v1 +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs release "frontend-v1" processed processing releases in group 2/2: backend-v1 release "backend-v1" processed diff --git a/pkg/app/destroy_test.go b/pkg/app/destroy_test.go index 1d7bb307..228a945e 100644 --- a/pkg/app/destroy_test.go +++ b/pkg/app/destroy_test.go @@ -449,6 +449,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 54: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 10 release(s) found in helmfile.yaml processing 5 groups of releases in this order: @@ -462,6 +463,7 @@ GROUP RELEASES processing releases in group 1/5: default//frontend-v3, default//frontend-v2, default//frontend-v1 release "frontend-v3" processed release "frontend-v2" processed +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs release "frontend-v1" processed processing releases in group 2/5: default//backend-v2, default//backend-v1 release "backend-v2" processed @@ -658,6 +660,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 54: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 1 release(s) matching name=logging found in helmfile.yaml processing 1 groups of releases in this order: @@ -726,6 +729,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 2 release(s) found in helmfile.yaml processing 2 groups of releases in this order: @@ -734,6 +738,7 @@ GROUP RELEASES 2 default//backend-v1 processing releases in group 1/2: default//frontend-v1 +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs release "frontend-v1" processed processing releases in group 2/2: default//backend-v1 release "backend-v1" processed @@ -801,6 +806,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 2 release(s) found in helmfile.yaml processing 2 groups of releases in this order: @@ -809,6 +815,7 @@ GROUP RELEASES 2 default//backend-v1 processing releases in group 1/2: default//frontend-v1 +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs release "frontend-v1" processed processing releases in group 2/2: default//backend-v1 release "backend-v1" processed diff --git a/pkg/app/diff_nokubectx_test.go b/pkg/app/diff_nokubectx_test.go index 4c98b937..cd0239ad 100644 --- a/pkg/app/diff_nokubectx_test.go +++ b/pkg/app/diff_nokubectx_test.go @@ -946,6 +946,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml err: release(s) "foo" depend(s) on an undefined release "bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"? diff --git a/pkg/app/diff_test.go b/pkg/app/diff_test.go index c390c21d..f33c04a6 100644 --- a/pkg/app/diff_test.go +++ b/pkg/app/diff_test.go @@ -1295,6 +1295,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml err: release(s) "default//foo" depend(s) on an undefined release "default//bar". Perhaps you made a typo in "needs" or forgot defining a release named "bar" with appropriate "namespace" and "kubeContext"? diff --git a/pkg/app/testdata/app_diff_test/bad_selector b/pkg/app/testdata/app_diff_test/bad_selector index fcb7e435..9a3ab785 100644 --- a/pkg/app/testdata/app_diff_test/bad_selector +++ b/pkg/app/testdata/app_diff_test/bad_selector @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 0 release(s) matching app=test_non_existent found in helmfile.yaml changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default b/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default index 56e4c05b..a0113f65 100644 --- a/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default +++ b/pkg/app/testdata/app_diff_test/fail_on_unselected_need_by_default @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml err: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies diff --git a/pkg/app/testdata/app_diff_test/include-needs b/pkg/app/testdata/app_diff_test/include-needs index 5a1f4462..892b6ea0 100644 --- a/pkg/app/testdata/app_diff_test/include-needs +++ b/pkg/app/testdata/app_diff_test/include-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 4 groups of releases in this order: diff --git a/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_direct_need index 3b0dd1a0..9154b011 100644 --- a/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_direct_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml processing 2 groups of releases in this order: @@ -111,6 +112,7 @@ GROUP RELEASES processing releases in group 1/2: default/kube-system/disabled processing releases in group 2/2: default//test2 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs Affected releases are: disabled (incubator/raw) DELETED diff --git a/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_transitive_need index 66c9f0bd..84a81703 100644 --- a/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_diff_test/include-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: @@ -113,6 +114,7 @@ GROUP RELEASES processing releases in group 1/3: default/kube-system/disabled processing releases in group 2/3: default//test2 processing releases in group 3/3: default//test3 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs Affected releases are: disabled (incubator/raw) DELETED diff --git a/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need index 3b0dd1a0..9154b011 100644 --- a/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml processing 2 groups of releases in this order: @@ -111,6 +112,7 @@ GROUP RELEASES processing releases in group 1/2: default/kube-system/disabled processing releases in group 2/2: default//test2 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs Affected releases are: disabled (incubator/raw) DELETED diff --git a/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need index 66c9f0bd..84a81703 100644 --- a/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_diff_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: @@ -113,6 +114,7 @@ GROUP RELEASES processing releases in group 1/3: default/kube-system/disabled processing releases in group 2/3: default//test2 processing releases in group 3/3: default//test3 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs Affected releases are: disabled (incubator/raw) DELETED diff --git a/pkg/app/testdata/app_diff_test/include-transitive-needs b/pkg/app/testdata/app_diff_test/include-transitive-needs index 5a1f4462..892b6ea0 100644 --- a/pkg/app/testdata/app_diff_test/include-transitive-needs +++ b/pkg/app/testdata/app_diff_test/include-transitive-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 4 groups of releases in this order: diff --git a/pkg/app/testdata/app_diff_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_diff_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need index 66c9f0bd..84a81703 100644 --- a/pkg/app/testdata/app_diff_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_diff_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: @@ -113,6 +114,7 @@ GROUP RELEASES processing releases in group 1/3: default/kube-system/disabled processing releases in group 2/3: default//test2 processing releases in group 3/3: default//test3 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs Affected releases are: disabled (incubator/raw) DELETED diff --git a/pkg/app/testdata/app_diff_test/no-hooks b/pkg/app/testdata/app_diff_test/no-hooks index 45db6300..67ee2936 100644 --- a/pkg/app/testdata/app_diff_test/no-hooks +++ b/pkg/app/testdata/app_diff_test/no-hooks @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 2 groups of releases in this order: diff --git a/pkg/app/testdata/app_diff_test/skip-needs b/pkg/app/testdata/app_diff_test/skip-needs index 45db6300..67ee2936 100644 --- a/pkg/app/testdata/app_diff_test/skip-needs +++ b/pkg/app/testdata/app_diff_test/skip-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 2 groups of releases in this order: diff --git a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar index d8024704..febbbebd 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml err: release "default//foo" depends on "default//bar" which does not match the selectors. Please add a selector like "--selector name=bar", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies diff --git a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_include-needs b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_include-needs index 7210980f..1ac8c2d3 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_include-needs +++ b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_include-needs @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml processing 2 groups of releases in this order: @@ -41,6 +42,7 @@ GROUP RELEASES processing releases in group 1/2: default//bar processing releases in group 2/2: default//foo +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs Affected releases are: bar (mychart2) DELETED foo (mychart1) UPDATED diff --git a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_skip-needs b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_skip-needs index 3fd7b10c..2cae2be4 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_skip-needs +++ b/pkg/app/testdata/app_diff_test_1/delete_bar_when_foo_needs_bar_with_skip-needs @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml processing 1 groups of releases in this order: @@ -39,6 +40,7 @@ GROUP RELEASES 1 default//foo processing releases in group 1/1: default//foo +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs Affected releases are: bar (mychart2) DELETED foo (mychart1) UPDATED diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_bar_needs_foo index c623786d..db62f332 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_bar_needs_foo @@ -34,6 +34,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 10: merged environment: &{default map[] map[]} +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml Affected releases are: diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_foo_needs_bar index 08a2d361..7268940e 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_and_bar_when_foo_needs_bar @@ -34,6 +34,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 10: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml Affected releases are: diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo index 5d32dc2e..b10dd133 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml err: release "default//bar" depends on "default//foo" which does not match the selectors. Please add a selector like "--selector name=foo", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_include-needs b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_include-needs index c1967b3a..c34f7b46 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_include-needs +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_include-needs @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml processing 2 groups of releases in this order: @@ -41,6 +42,7 @@ GROUP RELEASES processing releases in group 1/2: default//foo processing releases in group 2/2: default//bar +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs Affected releases are: bar (mychart2) UPDATED foo (mychart1) DELETED diff --git a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_skip-needs b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_skip-needs index 38504c13..60002d0c 100644 --- a/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_skip-needs +++ b/pkg/app/testdata/app_diff_test_1/delete_foo_when_bar_needs_foo_with_skip-needs @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml processing 1 groups of releases in this order: @@ -39,6 +40,7 @@ GROUP RELEASES 1 default//bar processing releases in group 1/1: default//bar +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs Affected releases are: bar (mychart2) UPDATED foo (mychart1) DELETED diff --git a/pkg/app/testdata/app_diff_test_1/smoke b/pkg/app/testdata/app_diff_test_1/smoke index 37e7141b..3cd9cd5a 100644 --- a/pkg/app/testdata/app_diff_test_1/smoke +++ b/pkg/app/testdata/app_diff_test_1/smoke @@ -122,6 +122,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 54: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 10 release(s) found in helmfile.yaml processing 5 groups of releases in this order: diff --git a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar index 778a2898..f3a1cd0f 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml err: release "foo" depends on "bar" which does not match the selectors. Please add a selector like "--selector name=bar", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies diff --git a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_include-needs b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_include-needs index 4eede554..451d5aba 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_include-needs +++ b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_include-needs @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml processing 2 groups of releases in this order: @@ -41,6 +42,7 @@ GROUP RELEASES processing releases in group 1/2: bar processing releases in group 2/2: foo +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs Affected releases are: bar (mychart2) DELETED foo (mychart1) UPDATED diff --git a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_skip-needs b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_skip-needs index c67e80f9..a54fce36 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_skip-needs +++ b/pkg/app/testdata/app_diff_test_2/delete_bar_when_foo_needs_bar_with_skip-needs @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml processing 1 groups of releases in this order: @@ -39,6 +40,7 @@ GROUP RELEASES 1 foo processing releases in group 1/1: foo +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs Affected releases are: bar (mychart2) DELETED foo (mychart1) UPDATED diff --git a/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_bar_needs_foo index c623786d..db62f332 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_bar_needs_foo @@ -34,6 +34,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 10: merged environment: &{default map[] map[]} +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml Affected releases are: diff --git a/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_foo_needs_bar b/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_foo_needs_bar index 08a2d361..7268940e 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_foo_needs_bar +++ b/pkg/app/testdata/app_diff_test_2/delete_foo_and_bar_when_foo_needs_bar @@ -34,6 +34,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 10: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml Affected releases are: diff --git a/pkg/app/testdata/app_diff_test_2/delete_foo_when_bar_needs_foo b/pkg/app/testdata/app_diff_test_2/delete_foo_when_bar_needs_foo index 827e403b..f4cc93bd 100644 --- a/pkg/app/testdata/app_diff_test_2/delete_foo_when_bar_needs_foo +++ b/pkg/app/testdata/app_diff_test_2/delete_foo_when_bar_needs_foo @@ -32,6 +32,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml err: release "bar" depends on "foo" which does not match the selectors. Please add a selector like "--selector name=foo", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies diff --git a/pkg/app/testdata/app_diff_test_2/smoke b/pkg/app/testdata/app_diff_test_2/smoke index 736c9795..fcaf8164 100644 --- a/pkg/app/testdata/app_diff_test_2/smoke +++ b/pkg/app/testdata/app_diff_test_2/smoke @@ -122,6 +122,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 54: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 10 release(s) found in helmfile.yaml processing 5 groups of releases in this order: diff --git a/pkg/app/testdata/app_lint_test/bad_selector b/pkg/app/testdata/app_lint_test/bad_selector index fcb7e435..9a3ab785 100644 --- a/pkg/app/testdata/app_lint_test/bad_selector +++ b/pkg/app/testdata/app_lint_test/bad_selector @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 0 release(s) matching app=test_non_existent found in helmfile.yaml changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default b/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default index 56e4c05b..a0113f65 100644 --- a/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default +++ b/pkg/app/testdata/app_lint_test/fail_on_unselected_need_by_default @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml err: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies diff --git a/pkg/app/testdata/app_lint_test/include-needs b/pkg/app/testdata/app_lint_test/include-needs index 5a1f4462..892b6ea0 100644 --- a/pkg/app/testdata/app_lint_test/include-needs +++ b/pkg/app/testdata/app_lint_test/include-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 4 groups of releases in this order: diff --git a/pkg/app/testdata/app_lint_test/include-needs_fail_on_disabled_direct_need b/pkg/app/testdata/app_lint_test/include-needs_fail_on_disabled_direct_need deleted file mode 100644 index 0d8f94dd..00000000 --- a/pkg/app/testdata/app_lint_test/include-needs_fail_on_disabled_direct_need +++ /dev/null @@ -1,108 +0,0 @@ -processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -merged environment: &{default map[] map[]} -1 release(s) matching name=test2 found in helmfile.yaml - -err: release "default//test2" depends on "default/kube-system/disabled" which does not match the selectors. Please add a selector like "--selector name=disabled", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_lint_test/include-needs_fail_on_disabled_transitive_need b/pkg/app/testdata/app_lint_test/include-needs_fail_on_disabled_transitive_need deleted file mode 100644 index e1b86041..00000000 --- a/pkg/app/testdata/app_lint_test/include-needs_fail_on_disabled_transitive_need +++ /dev/null @@ -1,108 +0,0 @@ -processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -merged environment: &{default map[] map[]} -1 release(s) matching name=test3 found in helmfile.yaml - -err: release "default//test2" depends on "default/kube-system/disabled" which does not match the selectors. Please add a selector like "--selector name=disabled", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_direct_need index 3b894090..ad93dd62 100644 --- a/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_direct_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml processing 2 groups of releases in this order: diff --git a/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_transitive_need index f83877d9..c51d74d8 100644 --- a/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_lint_test/include-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: diff --git a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_fail_on_disabled_direct_need b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_fail_on_disabled_direct_need deleted file mode 100644 index 420dcb85..00000000 --- a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_fail_on_disabled_direct_need +++ /dev/null @@ -1,108 +0,0 @@ -processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -merged environment: &{default map[] map[]} -2 release(s) matching name=test2 found in helmfile.yaml - -err: release "default//test2" depends on "default/kube-system/disabled" which does not match the selectors. Please add a selector like "--selector name=disabled", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_fail_on_disabled_transitive_need b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_fail_on_disabled_transitive_need deleted file mode 100644 index a3087c44..00000000 --- a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_fail_on_disabled_transitive_need +++ /dev/null @@ -1,108 +0,0 @@ -processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -merged environment: &{default map[] map[]} -3 release(s) matching name=test3 found in helmfile.yaml - -err: release "default//test2" depends on "default/kube-system/disabled" which does not match the selectors. Please add a selector like "--selector name=disabled", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need index 3b894090..ad93dd62 100644 --- a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml processing 2 groups of releases in this order: diff --git a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need index f83877d9..c51d74d8 100644 --- a/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_lint_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: diff --git a/pkg/app/testdata/app_lint_test/include-transitive-needs b/pkg/app/testdata/app_lint_test/include-transitive-needs index 5a1f4462..892b6ea0 100644 --- a/pkg/app/testdata/app_lint_test/include-transitive-needs +++ b/pkg/app/testdata/app_lint_test/include-transitive-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 4 groups of releases in this order: diff --git a/pkg/app/testdata/app_lint_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_lint_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need index f83877d9..c51d74d8 100644 --- a/pkg/app/testdata/app_lint_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_lint_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: diff --git a/pkg/app/testdata/app_lint_test/skip-needs b/pkg/app/testdata/app_lint_test/skip-needs index 45db6300..67ee2936 100644 --- a/pkg/app/testdata/app_lint_test/skip-needs +++ b/pkg/app/testdata/app_lint_test/skip-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 2 groups of releases in this order: diff --git a/pkg/app/testdata/app_list_test/default_environment_includes_all_releases b/pkg/app/testdata/app_list_test/default_environment_includes_all_releases index e2212383..5dd4bb4a 100644 --- a/pkg/app/testdata/app_list_test/default_environment_includes_all_releases +++ b/pkg/app/testdata/app_list_test/default_environment_includes_all_releases @@ -121,6 +121,7 @@ second-pass rendering result of "helmfile_1.yaml.part.1": 43: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" processing file "helmfile_2.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" diff --git a/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_multiple_files b/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_multiple_files index 98941e29..8350e3c8 100644 --- a/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_multiple_files +++ b/pkg/app/testdata/app_list_test/filters_releases_for_environment_used_in_multiple_files @@ -121,6 +121,7 @@ second-pass rendering result of "helmfile_1.yaml.part.1": 43: merged environment: &{shared map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" processing file "helmfile_2.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" diff --git a/pkg/app/testdata/app_list_test/list_releases_matching_selector_and_environment b/pkg/app/testdata/app_list_test/list_releases_matching_selector_and_environment index 59e5e422..4d332f10 100644 --- a/pkg/app/testdata/app_list_test/list_releases_matching_selector_and_environment +++ b/pkg/app/testdata/app_list_test/list_releases_matching_selector_and_environment @@ -121,6 +121,7 @@ second-pass rendering result of "helmfile_1.yaml.part.1": 43: merged environment: &{development map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" processing file "helmfile_2.yaml" in directory "/path/to/helmfile.d" changing working directory to "/path/to/helmfile.d" diff --git a/pkg/app/testdata/app_template_test/bad_selector b/pkg/app/testdata/app_template_test/bad_selector index fcb7e435..9a3ab785 100644 --- a/pkg/app/testdata/app_template_test/bad_selector +++ b/pkg/app/testdata/app_template_test/bad_selector @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 0 release(s) matching app=test_non_existent found in helmfile.yaml changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default b/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default index 56e4c05b..a0113f65 100644 --- a/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default +++ b/pkg/app/testdata/app_template_test/fail_on_unselected_need_by_default @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml err: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies diff --git a/pkg/app/testdata/app_template_test/include-needs b/pkg/app/testdata/app_template_test/include-needs index 5a1f4462..892b6ea0 100644 --- a/pkg/app/testdata/app_template_test/include-needs +++ b/pkg/app/testdata/app_template_test/include-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 4 groups of releases in this order: diff --git a/pkg/app/testdata/app_template_test/include-needs_fail_on_disabled_direct_need b/pkg/app/testdata/app_template_test/include-needs_fail_on_disabled_direct_need deleted file mode 100644 index 0d8f94dd..00000000 --- a/pkg/app/testdata/app_template_test/include-needs_fail_on_disabled_direct_need +++ /dev/null @@ -1,108 +0,0 @@ -processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -merged environment: &{default map[] map[]} -1 release(s) matching name=test2 found in helmfile.yaml - -err: release "default//test2" depends on "default/kube-system/disabled" which does not match the selectors. Please add a selector like "--selector name=disabled", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/include-needs_fail_on_disabled_transitive_need b/pkg/app/testdata/app_template_test/include-needs_fail_on_disabled_transitive_need deleted file mode 100644 index e1b86041..00000000 --- a/pkg/app/testdata/app_template_test/include-needs_fail_on_disabled_transitive_need +++ /dev/null @@ -1,108 +0,0 @@ -processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -merged environment: &{default map[] map[]} -1 release(s) matching name=test3 found in helmfile.yaml - -err: release "default//test2" depends on "default/kube-system/disabled" which does not match the selectors. Please add a selector like "--selector name=disabled", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_direct_need index 3b894090..5b8e896d 100644 --- a/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_direct_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml processing 2 groups of releases in this order: @@ -111,4 +112,5 @@ GROUP RELEASES processing releases in group 1/2: default/kube-system/disabled processing releases in group 2/2: default//test2 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_transitive_need index f83877d9..47172c7e 100644 --- a/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_template_test/include-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: @@ -113,4 +114,5 @@ GROUP RELEASES processing releases in group 1/3: default/kube-system/disabled processing releases in group 2/3: default//test2 processing releases in group 3/3: default//test3 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_fail_on_disabled_direct_need b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_fail_on_disabled_direct_need deleted file mode 100644 index 420dcb85..00000000 --- a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_fail_on_disabled_direct_need +++ /dev/null @@ -1,108 +0,0 @@ -processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -merged environment: &{default map[] map[]} -2 release(s) matching name=test2 found in helmfile.yaml - -err: release "default//test2" depends on "default/kube-system/disabled" which does not match the selectors. Please add a selector like "--selector name=disabled", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_fail_on_disabled_transitive_need b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_fail_on_disabled_transitive_need deleted file mode 100644 index a3087c44..00000000 --- a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_fail_on_disabled_transitive_need +++ /dev/null @@ -1,108 +0,0 @@ -processing file "helmfile.yaml" in directory "." -changing working directory to "/path/to" -first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode= -first-pass uses: &{default map[] map[]} -first-pass rendering output of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -first-pass produced: &{default map[] map[]} -first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]} -vals: -map[] -defaultVals:[] -second-pass rendering result of "helmfile.yaml.part.0": - 0: - 1: releases: - 2: - name: logging - 3: chart: incubator/raw - 4: namespace: kube-system - 5: - 6: - name: kubernetes-external-secrets - 7: chart: incubator/raw - 8: namespace: kube-system - 9: needs: -10: - kube-system/logging -11: -12: - name: external-secrets -13: chart: incubator/raw -14: namespace: default -15: labels: -16: app: test -17: needs: -18: - kube-system/kubernetes-external-secrets -19: -20: - name: my-release -21: chart: incubator/raw -22: namespace: default -23: labels: -24: app: test -25: needs: -26: - default/external-secrets -27: -28: -29: # Disabled releases are treated as missing -30: - name: disabled -31: chart: incubator/raw -32: namespace: kube-system -33: installed: false -34: -35: - name: test2 -36: chart: incubator/raw -37: needs: -38: - kube-system/disabled -39: -40: - name: test3 -41: chart: incubator/raw -42: needs: -43: - test2 -44: - -merged environment: &{default map[] map[]} -3 release(s) matching name=test3 found in helmfile.yaml - -err: release "default//test2" depends on "default/kube-system/disabled" which does not match the selectors. Please add a selector like "--selector name=disabled", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies -changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need index 3b894090..5b8e896d 100644 --- a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need +++ b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_direct_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test2 found in helmfile.yaml processing 2 groups of releases in this order: @@ -111,4 +112,5 @@ GROUP RELEASES processing releases in group 1/2: default/kube-system/disabled processing releases in group 2/2: default//test2 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need index f83877d9..47172c7e 100644 --- a/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_template_test/include-needs_with_include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: @@ -113,4 +114,5 @@ GROUP RELEASES processing releases in group 1/3: default/kube-system/disabled processing releases in group 2/3: default//test2 processing releases in group 3/3: default//test3 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/include-transitive-needs b/pkg/app/testdata/app_template_test/include-transitive-needs index 5a1f4462..892b6ea0 100644 --- a/pkg/app/testdata/app_template_test/include-transitive-needs +++ b/pkg/app/testdata/app_template_test/include-transitive-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 4 groups of releases in this order: diff --git a/pkg/app/testdata/app_template_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need b/pkg/app/testdata/app_template_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need index f83877d9..47172c7e 100644 --- a/pkg/app/testdata/app_template_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need +++ b/pkg/app/testdata/app_template_test/include-transitive-needs_should_not_fail_on_disabled_transitive_need @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 1 release(s) matching name=test3 found in helmfile.yaml processing 3 groups of releases in this order: @@ -113,4 +114,5 @@ GROUP RELEASES processing releases in group 1/3: default/kube-system/disabled processing releases in group 2/3: default//test2 processing releases in group 3/3: default//test3 +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs changing working directory back to "/path/to" diff --git a/pkg/app/testdata/app_template_test/skip-needs b/pkg/app/testdata/app_template_test/skip-needs index 45db6300..67ee2936 100644 --- a/pkg/app/testdata/app_template_test/skip-needs +++ b/pkg/app/testdata/app_template_test/skip-needs @@ -102,6 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 44: merged environment: &{default map[] map[]} +WARNING: release test2 needs disabled, but disabled is not installed due to installed: false. Either mark disabled as installed or remove disabled from test2's needs 2 release(s) matching app=test found in helmfile.yaml processing 2 groups of releases in this order: diff --git a/pkg/app/testdata/testapply/delete_bar_when_foo_needs_bar/log b/pkg/app/testdata/testapply/delete_bar_when_foo_needs_bar/log index 94f74e68..21ee48f6 100644 --- a/pkg/app/testdata/testapply/delete_bar_when_foo_needs_bar/log +++ b/pkg/app/testdata/testapply/delete_bar_when_foo_needs_bar/log @@ -32,8 +32,10 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs Affected releases are: bar (stable/mychart2) DELETED foo (stable/mychart1) UPDATED @@ -55,6 +57,7 @@ GROUP RELEASES 1 default//foo processing releases in group 1/1: default//foo +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs UPDATED RELEASES: NAME CHART VERSION DURATION diff --git a/pkg/app/testdata/testapply/delete_foo_and_bar_when_bar_needs_foo/log b/pkg/app/testdata/testapply/delete_foo_and_bar_when_bar_needs_foo/log index ac2b5be5..9da786e8 100644 --- a/pkg/app/testdata/testapply/delete_foo_and_bar_when_bar_needs_foo/log +++ b/pkg/app/testdata/testapply/delete_foo_and_bar_when_bar_needs_foo/log @@ -34,6 +34,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 10: merged environment: &{default map[] map[]} +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml Affected releases are: diff --git a/pkg/app/testdata/testapply/delete_foo_and_bar_when_foo_needs_bar/log b/pkg/app/testdata/testapply/delete_foo_and_bar_when_foo_needs_bar/log index 56415425..bdf61a9e 100644 --- a/pkg/app/testdata/testapply/delete_foo_and_bar_when_foo_needs_bar/log +++ b/pkg/app/testdata/testapply/delete_foo_and_bar_when_foo_needs_bar/log @@ -34,6 +34,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 10: merged environment: &{default map[] map[]} +WARNING: release foo needs bar, but bar is not installed due to installed: false. Either mark bar as installed or remove bar from foo's needs 2 release(s) found in helmfile.yaml Affected releases are: diff --git a/pkg/app/testdata/testapply/delete_foo_when_bar_needs_foo/log b/pkg/app/testdata/testapply/delete_foo_when_bar_needs_foo/log index 7c7352f5..c1e86135 100644 --- a/pkg/app/testdata/testapply/delete_foo_when_bar_needs_foo/log +++ b/pkg/app/testdata/testapply/delete_foo_when_bar_needs_foo/log @@ -32,8 +32,10 @@ second-pass rendering result of "helmfile.yaml.part.0": 9: merged environment: &{default map[] map[]} +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs 2 release(s) found in helmfile.yaml +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs Affected releases are: bar (stable/mychart2) UPDATED foo (stable/mychart1) DELETED @@ -55,6 +57,7 @@ GROUP RELEASES 1 default//bar processing releases in group 1/1: default//bar +WARNING: release bar needs foo, but foo is not installed due to installed: false. Either mark foo as installed or remove foo from bar's needs UPDATED RELEASES: NAME CHART VERSION DURATION diff --git a/pkg/app/testdata/testapply/smoke/log b/pkg/app/testdata/testapply/smoke/log index 566fe147..cc88d88a 100644 --- a/pkg/app/testdata/testapply/smoke/log +++ b/pkg/app/testdata/testapply/smoke/log @@ -122,6 +122,7 @@ second-pass rendering result of "helmfile.yaml.part.0": 54: merged environment: &{default map[] map[]} +WARNING: release frontend-v1 needs backend-v1, but backend-v1 is not installed due to installed: false. Either mark backend-v1 as installed or remove backend-v1 from frontend-v1's needs 10 release(s) found in helmfile.yaml Affected releases are: diff --git a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log index 5edfc5f5..11df52e6 100644 --- a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log +++ b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log @@ -62,8 +62,10 @@ second-pass rendering result of "helmfile.yaml.part.0": 24: merged environment: &{default map[] map[]} +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs 2 release(s) matching app=test found in helmfile.yaml +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs Affected releases are: external-secrets (incubator/raw) UPDATED kubernetes-external-secrets (incubator/raw) DELETED @@ -89,6 +91,7 @@ GROUP RELEASES 2 default/default/my-release processing releases in group 1/2: default/default/external-secrets +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs processing releases in group 2/2: default/default/my-release UPDATED RELEASES: diff --git a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log index dbb96067..dc8c1886 100644 --- a/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log +++ b/pkg/app/testdata/testapply_2/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log @@ -62,8 +62,10 @@ second-pass rendering result of "helmfile.yaml.part.0": 24: merged environment: &{default map[] map[]} +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs 2 release(s) matching app=test found in helmfile.yaml +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs Affected releases are: external-secrets (incubator/raw) UPDATED my-release (incubator/raw) UPDATED @@ -83,6 +85,7 @@ GROUP RELEASES 2 default/default/my-release processing releases in group 1/2: default/default/external-secrets +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs processing releases in group 2/2: default/default/my-release UPDATED RELEASES: diff --git a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log index e7b25886..05f13848 100644 --- a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log +++ b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_installed_but_disabled_release/log @@ -62,8 +62,10 @@ second-pass rendering result of "helmfile.yaml.part.0": 24: merged environment: &{default map[] map[]} +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs 2 release(s) matching app=test found in helmfile.yaml +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs Affected releases are: external-secrets (incubator/raw) UPDATED kubernetes-external-secrets (incubator/raw) DELETED @@ -89,6 +91,7 @@ GROUP RELEASES 2 default/my-release processing releases in group 1/2: default/external-secrets +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs processing releases in group 2/2: default/my-release UPDATED RELEASES: diff --git a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log index 0bce15c4..6bd806a6 100644 --- a/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log +++ b/pkg/app/testdata/testapply_3/skip-needs=false_include-needs=true_with_not_installed_and_disabled_release/log @@ -62,8 +62,10 @@ second-pass rendering result of "helmfile.yaml.part.0": 24: merged environment: &{default map[] map[]} +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs 2 release(s) matching app=test found in helmfile.yaml +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs Affected releases are: external-secrets (incubator/raw) UPDATED my-release (incubator/raw) UPDATED @@ -83,6 +85,7 @@ GROUP RELEASES 2 default/my-release processing releases in group 1/2: default/external-secrets +WARNING: release external-secrets needs kubernetes-external-secrets, but kubernetes-external-secrets is not installed due to installed: false. Either mark kubernetes-external-secrets as installed or remove kubernetes-external-secrets from external-secrets's needs processing releases in group 2/2: default/my-release UPDATED RELEASES: diff --git a/pkg/state/selector_test.go b/pkg/state/selector_test.go index 2f749ded..787a79c3 100644 --- a/pkg/state/selector_test.go +++ b/pkg/state/selector_test.go @@ -110,7 +110,12 @@ func TestSelectReleasesWithOverrides(t *testing.T) { for _, tc := range testcases { state.Selectors = tc.selector - state.Releases = state.GetReleasesWithOverrides() + releases, err := state.GetReleasesWithOverrides() + state.Releases = releases + + if err != nil { + t.Fatalf("%s %s: %v", tc.selector, tc.subject, err) + } rs, err := state.GetSelectedReleases(false) if err != nil { @@ -180,7 +185,12 @@ func TestSelectReleasesWithOverridesWithIncludedTransitives(t *testing.T) { for _, tc := range testcases { state.Selectors = tc.selector - state.Releases = state.GetReleasesWithOverrides() + releases, err := state.GetReleasesWithOverrides() + if err != nil { + t.Fatalf("%s %s: %v", tc.selector, tc.subject, err) + } + + state.Releases = releases rs, err := state.GetSelectedReleases(tc.includeTransitiveNeeds) if err != nil { diff --git a/pkg/state/state.go b/pkg/state/state.go index 0bb248ca..a2caaff9 100644 --- a/pkg/state/state.go +++ b/pkg/state/state.go @@ -67,6 +67,7 @@ type ReleaseSetSpec struct { Repositories []RepositorySpec `yaml:"repositories,omitempty"` CommonLabels map[string]string `yaml:"commonLabels,omitempty"` Releases []ReleaseSpec `yaml:"releases,omitempty"` + OrginReleases []ReleaseSpec `yaml:"-"` Selectors []string `yaml:"-"` // Capabilities.APIVersions @@ -290,7 +291,7 @@ type ReleaseSpec struct { // MissingFileHandler is set to either "Error" or "Warn". "Error" instructs helmfile to fail when unable to find a values or secrets file. When "Warn", it prints the file and continues. // The default value for MissingFileHandler is "Error". MissingFileHandler *string `yaml:"missingFileHandler,omitempty"` - // Needs is the [TILLER_NS/][NS/]NAME representations of releases that this release depends on. + // Needs is the [KUBECONTEXT/][NS/]NAME representations of releases that this release depends on. Needs []string `yaml:"needs,omitempty"` // Hooks is a list of extension points paired with operations, that are executed in specific points of the lifecycle of releases defined in helmfile @@ -458,15 +459,12 @@ var DefaultFetchOutputDirTemplate = filepath.Join( "{{ or .Release.Version \"latest\" }}", ) -func (st *HelmState) ApplyOverrides(spec *ReleaseSpec) { - if st.OverrideKubeContext != "" { - spec.KubeContext = st.OverrideKubeContext - } - if st.OverrideNamespace != "" { - spec.Namespace = st.OverrideNamespace - } - +func (st *HelmState) reformat(spec *ReleaseSpec) []string { var needs []string + releaseInstalledInfo := make(map[string]bool) + for _, r := range st.OrginReleases { + releaseInstalledInfo[r.Name] = r.Desired() + } // Since the representation differs between needs and id, // correct it by prepending Namespace and KubeContext. @@ -478,6 +476,9 @@ func (st *HelmState) ApplyOverrides(spec *ReleaseSpec) { components := strings.Split(n, "/") name = components[len(components)-1] + if !releaseInstalledInfo[name] { + st.logger.Warnf("WARNING: %s", fmt.Sprintf("release %s needs %s, but %s is not installed due to installed: false. Either mark %s as installed or remove %s from %s's needs", spec.Name, name, name, name, name, spec.Name)) + } if len(components) > 1 { ns = components[len(components)-2] @@ -512,8 +513,18 @@ func (st *HelmState) ApplyOverrides(spec *ReleaseSpec) { needs = append(needs, strings.Join(componentsAfterOverride, "/")) } + return needs +} - spec.Needs = needs +func (st *HelmState) ApplyOverrides(spec *ReleaseSpec) { + if st.OverrideKubeContext != "" { + spec.KubeContext = st.OverrideKubeContext + } + if st.OverrideNamespace != "" { + spec.Namespace = st.OverrideNamespace + } + + spec.Needs = st.reformat(spec) } type RepoUpdater interface { @@ -610,6 +621,7 @@ func (st *HelmState) prepareSyncReleases(helm helmexec.Interface, additionalValu }, func(workerIndex int) { for release := range jobs { + errs := []*ReleaseError{} st.ApplyOverrides(release) // If `installed: false`, the only potential operation on this release would be uninstalling. @@ -633,7 +645,6 @@ func (st *HelmState) prepareSyncReleases(helm helmexec.Interface, additionalValu continue } - errs := []*ReleaseError{} for _, value := range additionalValues { valfile, err := filepath.Abs(value) if err != nil { @@ -1054,10 +1065,9 @@ func releasesNeedCharts(releases []ReleaseSpec) []ReleaseSpec { var result []ReleaseSpec for _, r := range releases { - if !r.Desired() { - continue + if r.Desired() { + result = append(result, r) } - result = append(result, r) } return result @@ -2178,14 +2188,14 @@ func (st *HelmState) Clean() []error { return nil } -func (st *HelmState) GetReleasesWithOverrides() []ReleaseSpec { +func (st *HelmState) GetReleasesWithOverrides() ([]ReleaseSpec, error) { var rs []ReleaseSpec for _, r := range st.Releases { spec := r st.ApplyOverrides(&spec) rs = append(rs, spec) } - return rs + return rs, nil } func (st *HelmState) SelectReleases(includeTransitiveNeeds bool) ([]Release, error) {