From 2416ab0120bfe15cd3c5ef6cd0bbade288b32e7a Mon Sep 17 00:00:00 2001 From: Kiran Kamineni Date: Wed, 23 Jan 2019 12:54:50 -0800 Subject: Add support for parsing profile yaml files Add code to parse profile configuration yaml The parsing function is global and returns a client which can then be used to get or apply specific parts of the configuration on top of an extracted helm chart. P14: Add unit test that covers both ProcessProfileYaml and CopyConfigurationOverrides P15: Adding mock_charts and mock_profiles We expect to reuse these files for other unit tests Issue-ID: ONAPARC-348 Change-Id: I4504d0b158fdfef476b8c2a461d33306926545d7 Signed-off-by: Kiran Kamineni --- .../mock_files/mock_charts/testchart1/Chart.yaml | 4 ++ .../testchart1/charts/subcharta/Chart.yaml | 4 ++ .../charts/subcharta/templates/service.yaml | 15 ++++++ .../testchart1/charts/subcharta/values.yaml | 17 +++++++ .../testchart1/charts/subchartb/Chart.yaml | 4 ++ .../charts/subchartb/templates/service.yaml | 15 ++++++ .../testchart1/charts/subchartb/values.yaml | 35 ++++++++++++++ .../mock_charts/testchart1/templates/NOTES.txt | 1 + .../mock_charts/testchart1/templates/service.yaml | 22 +++++++++ .../mock_files/mock_charts/testchart1/values.yaml | 55 ++++++++++++++++++++++ .../profile1/faulty-dest-manifest.yaml | 7 +++ .../mock_profiles/profile1/faulty-manifest.yaml | 8 ++++ .../profile1/faulty-src-manifest.yaml | 7 +++ .../mock_profiles/profile1/manifest.yaml | 7 +++ .../mock_profiles/profile1/override_values.yaml | 9 ++++ .../mock_profiles/profile1/subdir/p1.yaml | 22 +++++++++ 16 files changed, 232 insertions(+) create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/Chart.yaml create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/Chart.yaml create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/templates/service.yaml create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/values.yaml create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/Chart.yaml create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/templates/service.yaml create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/values.yaml create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/templates/NOTES.txt create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/templates/service.yaml create mode 100644 src/k8splugin/mock_files/mock_charts/testchart1/values.yaml create mode 100644 src/k8splugin/mock_files/mock_profiles/profile1/faulty-dest-manifest.yaml create mode 100644 src/k8splugin/mock_files/mock_profiles/profile1/faulty-manifest.yaml create mode 100644 src/k8splugin/mock_files/mock_profiles/profile1/faulty-src-manifest.yaml create mode 100644 src/k8splugin/mock_files/mock_profiles/profile1/manifest.yaml create mode 100644 src/k8splugin/mock_files/mock_profiles/profile1/override_values.yaml create mode 100644 src/k8splugin/mock_files/mock_profiles/profile1/subdir/p1.yaml (limited to 'src/k8splugin/mock_files') diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/Chart.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/Chart.yaml new file mode 100644 index 00000000..91a641bd --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: A Helm chart for Kubernetes +name: testchart1 +version: 0.1.0 diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/Chart.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/Chart.yaml new file mode 100644 index 00000000..be3edcef --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: A Helm chart for Kubernetes +name: subcharta +version: 0.1.0 diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/templates/service.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/templates/service.yaml new file mode 100644 index 00000000..fdf75aa9 --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.externalPort }} + targetPort: {{ .Values.service.internalPort }} + protocol: TCP + name: {{ .Values.service.name }} + selector: + app: {{ .Chart.Name }} diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/values.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/values.yaml new file mode 100644 index 00000000..f0381ae6 --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subcharta/values.yaml @@ -0,0 +1,17 @@ +# Default values for subchart. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +# subchartA +service: + name: apache + type: ClusterIP + externalPort: 80 + internalPort: 80 +SCAdata: + SCAbool: false + SCAfloat: 3.1 + SCAint: 55 + SCAstring: "jabba" + SCAnested1: + SCAnested2: true + diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/Chart.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/Chart.yaml new file mode 100644 index 00000000..c3c6bbaf --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: A Helm chart for Kubernetes +name: subchartb +version: 0.1.0 diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/templates/service.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/templates/service.yaml new file mode 100644 index 00000000..fdf75aa9 --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.externalPort }} + targetPort: {{ .Values.service.internalPort }} + protocol: TCP + name: {{ .Values.service.name }} + selector: + app: {{ .Chart.Name }} diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/values.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/values.yaml new file mode 100644 index 00000000..774fdd75 --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/charts/subchartb/values.yaml @@ -0,0 +1,35 @@ +# Default values for subchart. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +service: + name: nginx + type: ClusterIP + externalPort: 80 + internalPort: 80 + +SCBdata: + SCBbool: true + SCBfloat: 7.77 + SCBint: 33 + SCBstring: "boba" + +exports: + SCBexported1: + SCBexported1A: + SCBexported1B: 1965 + + SCBexported2: + SCBexported2A: "blaster" + +global: + kolla: + nova: + api: + all: + port: 8774 + metadata: + all: + port: 8775 + + + diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/templates/NOTES.txt b/src/k8splugin/mock_files/mock_charts/testchart1/templates/NOTES.txt new file mode 100644 index 00000000..4bdf443f --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/templates/NOTES.txt @@ -0,0 +1 @@ +Sample notes for {{ .Chart.Name }} \ No newline at end of file diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/templates/service.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/templates/service.yaml new file mode 100644 index 00000000..e06d19b9 --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/templates/service.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + namespace: "{{ .Release.Namespace }}" + release-name: "{{ .Release.Name }}" + release-is-upgrade: "{{ .Release.IsUpgrade }}" + release-is-install: "{{ .Release.IsInstall }}" + kube-version/major: "{{ .Capabilities.KubeVersion.Major }}" + kube-version/minor: "{{ .Capabilities.KubeVersion.Minor }}" + kube-version/gitversion: "v{{ .Capabilities.KubeVersion.Major }}.{{ .Capabilities.KubeVersion.Minor }}.0" +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.externalPort }} + targetPort: {{ .Values.service.internalPort }} + protocol: TCP + name: {{ .Values.service.name }} + selector: + app: {{ .Chart.Name }} diff --git a/src/k8splugin/mock_files/mock_charts/testchart1/values.yaml b/src/k8splugin/mock_files/mock_charts/testchart1/values.yaml new file mode 100644 index 00000000..72d3fa5c --- /dev/null +++ b/src/k8splugin/mock_files/mock_charts/testchart1/values.yaml @@ -0,0 +1,55 @@ +# Default values for subchart. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +# subchart1 +service: + name: nginx + type: ClusterIP + externalPort: 80 + internalPort: 80 + + +SC1data: + SC1bool: true + SC1float: 3.14 + SC1int: 100 + SC1string: "dollywood" + SC1extra1: 11 + +imported-chartA: + SC1extra2: 1.337 + +overridden-chartA: + SCAbool: true + SCAfloat: 3.14 + SCAint: 100 + SCAstring: "jabathehut" + SC1extra3: true + +imported-chartA-B: + SC1extra5: "tiller" + +overridden-chartA-B: + SCAbool: true + SCAfloat: 3.33 + SCAint: 555 + SCAstring: "wormwood" + SCAextra1: 23 + + SCBbool: true + SCBfloat: 0.25 + SCBint: 98 + SCBstring: "murkwood" + SCBextra1: 13 + + SC1extra6: 77 + +SCBexported1A: + SC1extra7: true + +exports: + SC1exported1: + global: + SC1exported2: + all: + SC1exported3: "SC1expstr" \ No newline at end of file diff --git a/src/k8splugin/mock_files/mock_profiles/profile1/faulty-dest-manifest.yaml b/src/k8splugin/mock_files/mock_profiles/profile1/faulty-dest-manifest.yaml new file mode 100644 index 00000000..8c61a4e4 --- /dev/null +++ b/src/k8splugin/mock_files/mock_profiles/profile1/faulty-dest-manifest.yaml @@ -0,0 +1,7 @@ +--- +version: v1 +type: + values: "override_values.yaml" + configresource: + - filepath: subdir/p1.yaml + chartpath: testchart1/folderdoesNOTexist/p1.yaml diff --git a/src/k8splugin/mock_files/mock_profiles/profile1/faulty-manifest.yaml b/src/k8splugin/mock_files/mock_profiles/profile1/faulty-manifest.yaml new file mode 100644 index 00000000..a123111a --- /dev/null +++ b/src/k8splugin/mock_files/mock_profiles/profile1/faulty-manifest.yaml @@ -0,0 +1,8 @@ +--- +version: v1 +type: + values: + - override_values.yaml + configresource: + - filepath: subdir/p1.yaml + chartpath: testchart1/templates/p1.yaml diff --git a/src/k8splugin/mock_files/mock_profiles/profile1/faulty-src-manifest.yaml b/src/k8splugin/mock_files/mock_profiles/profile1/faulty-src-manifest.yaml new file mode 100644 index 00000000..eff534bb --- /dev/null +++ b/src/k8splugin/mock_files/mock_profiles/profile1/faulty-src-manifest.yaml @@ -0,0 +1,7 @@ +--- +version: v1 +type: + values: "override_values.yaml" + configresource: + - filepath: subdir/filedoesNOTexist.yaml + chartpath: testchart1/templates/p1.yaml diff --git a/src/k8splugin/mock_files/mock_profiles/profile1/manifest.yaml b/src/k8splugin/mock_files/mock_profiles/profile1/manifest.yaml new file mode 100644 index 00000000..e4beada0 --- /dev/null +++ b/src/k8splugin/mock_files/mock_profiles/profile1/manifest.yaml @@ -0,0 +1,7 @@ +--- +version: v1 +type: + values: "override_values.yaml" + configresource: + - filepath: subdir/p1.yaml + chartpath: testchart1/templates/p1.yaml diff --git a/src/k8splugin/mock_files/mock_profiles/profile1/override_values.yaml b/src/k8splugin/mock_files/mock_profiles/profile1/override_values.yaml new file mode 100644 index 00000000..0186c662 --- /dev/null +++ b/src/k8splugin/mock_files/mock_profiles/profile1/override_values.yaml @@ -0,0 +1,9 @@ +# Default values for subchart. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +# subchart1 +service: + name: nginx + type: ClusterIP + externalPort: 8080 + internalPort: 8080 \ No newline at end of file diff --git a/src/k8splugin/mock_files/mock_profiles/profile1/subdir/p1.yaml b/src/k8splugin/mock_files/mock_profiles/profile1/subdir/p1.yaml new file mode 100644 index 00000000..2dad677a --- /dev/null +++ b/src/k8splugin/mock_files/mock_profiles/profile1/subdir/p1.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }}-override + labels: + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + namespace: "{{ .Release.Namespace }}" + release-name: "{{ .Release.Name }}" + release-is-upgrade: "{{ .Release.IsUpgrade }}" + release-is-install: "{{ .Release.IsInstall }}" + kube-version/major: "{{ .Capabilities.KubeVersion.Major }}" + kube-version/minor: "{{ .Capabilities.KubeVersion.Minor }}" + kube-version/gitversion: "v{{ .Capabilities.KubeVersion.Major }}.{{ .Capabilities.KubeVersion.Minor }}.0" +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.externalPort }} + targetPort: {{ .Values.service.internalPort }} + protocol: TCP + name: {{ .Values.service.name }} + selector: + app: {{ .Chart.Name }} -- cgit 1.2.3-korg