mirror of
https://github.com/helmfile/helmfile.git
synced 2026-10-19 02:11:17 +02:00
fix: Check needs with context and namespace (#1986)
* fix: Check needs with context and namespace Signed-off-by: André Arnqvist <andrearnqvist@gmail.com> * fix: Ensure releases have overrides Signed-off-by: André Arnqvist <andrearnqvist@gmail.com> * fix: Run go fmt Signed-off-by: André Arnqvist <andrearnqvist@gmail.com> * fix: Add tests checking needs with same name in different namespaces Signed-off-by: André Arnqvist <andrearnqvist@gmail.com> * fix: Simplify setting overrides Signed-off-by: André Arnqvist <andrearnqvist@gmail.com> --------- Signed-off-by: André Arnqvist <andrearnqvist@gmail.com>
This commit is contained in:
@@ -3219,6 +3219,35 @@ releases:
|
||||
{Name: "bar", Flags: []string{"--kube-context", "default", "--namespace", "ns2"}},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "upgrade when ns1/foo needs ns1/bar and ns2/bar is disabled",
|
||||
loc: location(),
|
||||
files: map[string]string{
|
||||
"/path/to/helmfile.yaml": `
|
||||
releases:
|
||||
- name: bar
|
||||
chart: stable/mychart2
|
||||
namespace: ns1
|
||||
- name: bar
|
||||
chart: stable/mychart2
|
||||
namespace: ns2
|
||||
installed: false
|
||||
- name: foo
|
||||
chart: stable/mychart1
|
||||
namespace: ns1
|
||||
needs:
|
||||
- ns1/bar
|
||||
`,
|
||||
},
|
||||
diffs: map[exectest.DiffKey]error{
|
||||
{Name: "bar", Chart: "stable/mychart2", Flags: "--kube-context default --namespace ns1 --detailed-exitcode --reset-values"}: helmexec.ExitError{Code: 2},
|
||||
{Name: "foo", Chart: "stable/mychart1", Flags: "--kube-context default --namespace ns1 --detailed-exitcode --reset-values"}: helmexec.ExitError{Code: 2},
|
||||
},
|
||||
upgraded: []exectest.Release{
|
||||
{Name: "bar", Flags: []string{"--kube-context", "default", "--namespace", "ns1"}},
|
||||
{Name: "foo", Flags: []string{"--kube-context", "default", "--namespace", "ns1"}},
|
||||
},
|
||||
},
|
||||
//
|
||||
// deletes: deleting all releases in the correct order
|
||||
//
|
||||
|
||||
@@ -533,6 +533,34 @@ releases:
|
||||
},
|
||||
upgraded: []exectest.Release{},
|
||||
},
|
||||
{
|
||||
name: "upgrade when ns1/foo needs ns1/bar and ns2/bar is disabled",
|
||||
loc: location(),
|
||||
files: map[string]string{
|
||||
"/path/to/helmfile.yaml": `
|
||||
releases:
|
||||
- name: bar
|
||||
chart: mychart2
|
||||
namespace: ns1
|
||||
- name: bar
|
||||
chart: mychart2
|
||||
namespace: ns2
|
||||
installed: false
|
||||
- name: foo
|
||||
chart: mychart1
|
||||
namespace: ns1
|
||||
needs:
|
||||
- ns1/bar
|
||||
`,
|
||||
},
|
||||
detailedExitcode: true,
|
||||
error: "Identified at least one change",
|
||||
diffs: map[exectest.DiffKey]error{
|
||||
{Name: "bar", Chart: "mychart2", Flags: "--kube-context default --namespace ns1 --detailed-exitcode --reset-values"}: helmexec.ExitError{Code: 2},
|
||||
{Name: "foo", Chart: "mychart1", Flags: "--kube-context default --namespace ns1 --detailed-exitcode --reset-values"}: helmexec.ExitError{Code: 2},
|
||||
},
|
||||
upgraded: []exectest.Release{},
|
||||
},
|
||||
{
|
||||
name: "upgrade when tns1 ns1 foo needs tns2 ns2 bar",
|
||||
loc: location(),
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
processing file "helmfile.yaml" in directory "."
|
||||
changing working directory to "/path/to"
|
||||
merged environment: &{default map[] map[]}
|
||||
3 release(s) found in helmfile.yaml
|
||||
|
||||
processing 2 groups of releases in this order:
|
||||
GROUP RELEASES
|
||||
1 default/ns1/bar
|
||||
2 default/ns1/foo
|
||||
|
||||
processing releases in group 1/2: default/ns1/bar
|
||||
processing releases in group 2/2: default/ns1/foo
|
||||
Affected releases are:
|
||||
bar (mychart2) DELETED
|
||||
bar (mychart2) UPDATED
|
||||
foo (mychart1) UPDATED
|
||||
|
||||
changing working directory back to "/path/to"
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
processing file "helmfile.yaml" in directory "."
|
||||
changing working directory to "/path/to"
|
||||
merged environment: &{default map[] map[]}
|
||||
3 release(s) found in helmfile.yaml
|
||||
|
||||
Affected releases are:
|
||||
bar (stable/mychart2) DELETED
|
||||
bar (stable/mychart2) UPDATED
|
||||
foo (stable/mychart1) UPDATED
|
||||
|
||||
invoking preapply hooks for 2 groups of releases in this order:
|
||||
GROUP RELEASES
|
||||
1 default/ns1/foo
|
||||
2 default/ns1/bar, default/ns2/bar
|
||||
|
||||
invoking preapply hooks for releases in group 1/2: default/ns1/foo
|
||||
invoking preapply hooks for releases in group 2/2: default/ns1/bar, default/ns2/bar
|
||||
processing 1 groups of releases in this order:
|
||||
GROUP RELEASES
|
||||
1 default/ns2/bar
|
||||
|
||||
processing releases in group 1/1: default/ns2/bar
|
||||
processing 2 groups of releases in this order:
|
||||
GROUP RELEASES
|
||||
1 default/ns1/bar
|
||||
2 default/ns1/foo
|
||||
|
||||
processing releases in group 1/2: default/ns1/bar
|
||||
getting deployed release version failed: Failed to get the version for: mychart2
|
||||
processing releases in group 2/2: default/ns1/foo
|
||||
getting deployed release version failed: Failed to get the version for: mychart1
|
||||
|
||||
UPDATED RELEASES:
|
||||
NAME NAMESPACE CHART VERSION DURATION
|
||||
bar ns1 stable/mychart2 0s
|
||||
foo ns1 stable/mychart1 0s
|
||||
|
||||
|
||||
DELETED RELEASES:
|
||||
NAME NAMESPACE DURATION
|
||||
bar ns2 0s
|
||||
|
||||
changing working directory back to "/path/to"
|
||||
Reference in New Issue
Block a user