parent
95d28f1e85
commit
4d651c9ecf
|
|
@ -1101,46 +1101,6 @@ releases:
|
|||
deleted: []exectest.Release{},
|
||||
concurrency: 1,
|
||||
error: `in ./helmfile.yaml: 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"?`,
|
||||
log: `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=<nil>
|
||||
first-pass uses: &{default map[] map[]}
|
||||
first-pass rendering output of "helmfile.yaml.part.0":
|
||||
0:
|
||||
1: releases:
|
||||
2: - name: baz
|
||||
3: namespace: ns1
|
||||
4: chart: mychart3
|
||||
5: - name: foo
|
||||
6: chart: mychart1
|
||||
7: needs:
|
||||
8: - bar
|
||||
9:
|
||||
|
||||
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: baz
|
||||
3: namespace: ns1
|
||||
4: chart: mychart3
|
||||
5: - name: foo
|
||||
6: chart: mychart1
|
||||
7: needs:
|
||||
8: - bar
|
||||
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"?
|
||||
changing working directory back to "/path/to"
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
processing file "helmfile.yaml" in directory "."
|
||||
changing working directory to "/path/to"
|
||||
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"?
|
||||
changing working directory back to "/path/to"
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
processing file "helmfile.yaml" in directory "."
|
||||
changing working directory to "/path/to"
|
||||
merged environment: &{default map[] map[]}
|
||||
1 release(s) matching name=foo 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
|
||||
changing working directory back to "/path/to"
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
processing file "helmfile.yaml.gotmpl" in directory "."
|
||||
changing working directory to "/path/to"
|
||||
rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode=<nil>
|
||||
rendering result of "helmfile.yaml.gotmpl.part.0":
|
||||
0:
|
||||
1:
|
||||
2:
|
||||
3: releases:
|
||||
4: - name: kubernetes-external-secrets
|
||||
5: chart: incubator/raw
|
||||
6: namespace: kube-system
|
||||
7:
|
||||
8: - name: external-secrets
|
||||
9: chart: incubator/raw
|
||||
10: namespace: default
|
||||
11: labels:
|
||||
12: app: test
|
||||
13: needs:
|
||||
14: - kube-system/kubernetes-external-secrets
|
||||
15:
|
||||
16: - name: my-release
|
||||
17: chart: incubator/raw
|
||||
18: namespace: default
|
||||
19: labels:
|
||||
20: app: test
|
||||
21: needs:
|
||||
22: - default/external-secrets
|
||||
23:
|
||||
|
||||
merged environment: &{default map[] map[]}
|
||||
0 release(s) matching app=test_non_existent found in helmfile.yaml.gotmpl
|
||||
|
||||
changing working directory back to "/path/to"
|
||||
34
pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=false
vendored
Normal file
34
pkg/app/testdata/app_diff_test_1/upgrades_with_good_selector_with_--skip-needs=false
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
processing file "helmfile.yaml.gotmpl" in directory "."
|
||||
changing working directory to "/path/to"
|
||||
rendering starting for "helmfile.yaml.gotmpl.part.0": inherited=&{default map[] map[]}, overrode=<nil>
|
||||
rendering result of "helmfile.yaml.gotmpl.part.0":
|
||||
0:
|
||||
1:
|
||||
2:
|
||||
3: releases:
|
||||
4: - name: kubernetes-external-secrets
|
||||
5: chart: incubator/raw
|
||||
6: namespace: kube-system
|
||||
7:
|
||||
8: - name: external-secrets
|
||||
9: chart: incubator/raw
|
||||
10: namespace: default
|
||||
11: labels:
|
||||
12: app: test
|
||||
13: needs:
|
||||
14: - kube-system/kubernetes-external-secrets
|
||||
15:
|
||||
16: - name: my-release
|
||||
17: chart: incubator/raw
|
||||
18: namespace: default
|
||||
19: labels:
|
||||
20: app: test
|
||||
21: needs:
|
||||
22: - default/external-secrets
|
||||
23:
|
||||
|
||||
merged environment: &{default map[] map[]}
|
||||
2 release(s) matching app=test found in helmfile.yaml.gotmpl
|
||||
|
||||
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
|
||||
changing working directory back to "/path/to"
|
||||
|
|
@ -67,60 +67,6 @@ releases:
|
|||
}
|
||||
}
|
||||
|
||||
func TestReadFromYaml_RenderTemplate(t *testing.T) {
|
||||
defaultValuesYaml := `
|
||||
releaseName: "hello"
|
||||
conditionalReleaseTag: "yes"
|
||||
`
|
||||
|
||||
yamlContent := []byte(`
|
||||
environments:
|
||||
staging:
|
||||
values:
|
||||
- default/values.yaml
|
||||
production:
|
||||
|
||||
releases:
|
||||
- name: {{ .Environment.Values.releaseName }}
|
||||
chart: mychart1
|
||||
|
||||
{{ if (eq .Environment.Values.conditionalReleaseTag "yes") }}
|
||||
- name: conditionalRelease
|
||||
{{ end }}
|
||||
|
||||
`)
|
||||
|
||||
files := map[string]string{
|
||||
"/path/to/default/values.yaml": defaultValuesYaml,
|
||||
}
|
||||
|
||||
r, _, _ := makeLoader(files, "staging")
|
||||
// test the double rendering
|
||||
yamlBuf, err := r.renderTemplatesToYaml("", "", yamlContent)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
var state state.HelmState
|
||||
err = yaml.Unmarshal(yamlBuf.Bytes(), &state)
|
||||
|
||||
if err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
|
||||
if len(state.Releases) != 2 {
|
||||
t.Fatal("there should be 2 releases")
|
||||
}
|
||||
|
||||
if state.Releases[0].Name != "hello" {
|
||||
t.Errorf("release name should be hello")
|
||||
}
|
||||
|
||||
if state.Releases[1].Name != "conditionalRelease" {
|
||||
t.Error("conditional release should have been present")
|
||||
}
|
||||
}
|
||||
|
||||
func testReadFromYaml_RenderTemplateLog(t *testing.T) {
|
||||
t.Helper()
|
||||
|
||||
|
|
|
|||
|
|
@ -47,13 +47,6 @@ func TestForbidEnvironmentsWithReleases(t *testing.T) {
|
|||
filePath: "helmfile.yaml",
|
||||
content: []byte("environments:\nreleases:\n"),
|
||||
expectedErr: true,
|
||||
isStrict: false,
|
||||
},
|
||||
{
|
||||
name: "error when both releases and environments for plain yaml on v1",
|
||||
filePath: "helmfile.yaml",
|
||||
content: []byte("environments:\nreleases:\n"),
|
||||
expectedErr: true,
|
||||
isStrict: true,
|
||||
},
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue