From e00bd6af6003beb51111eb3a1a7dd2def3bf80df Mon Sep 17 00:00:00 2001 From: Krzysztof Opasiak Date: Thu, 16 Jul 2020 21:02:56 +0200 Subject: [COMMON] Fix name generation in readinessCheck template According to docummentation readinessCheck template accept wait_for value in a type of list. Unfortunately in that case it generated the init container name with -- as the name key was empty. This commit fixes this and ensures acceptance of both simple and extended format for wait_for value. Issue-ID: OOM-2511 Signed-off-by: Krzysztof Opasiak Change-Id: Ia345251f01ade5191f0a06d6eaec41cdd6a53459 --- .../readinessCheck/templates/_readinessCheck.tpl | 25 ++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'kubernetes') diff --git a/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl b/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl index 1bdea6bb27..3cdf13a362 100644 --- a/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl +++ b/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl @@ -17,18 +17,29 @@ {{/* Generate readiness part for a pod Will look by default to .Values.wait_for + There are two formats available. - Value of wait_for is an array of all pods /jobs to wait: - - Example: + The simple one (where wait_for is just list of containers): wait_for: - aaf-locate - aaf-cm - aaf-service - The function can takes two arguments (inside a dictionary): + The powerful one (where wait_for is a map): + + wait_for: + name: myname + containers: + - aaf-locate + - aaf-cm + - aaf-service + + + The function can takes below arguments (inside a dictionary): - .dot : environment (.) + - .initRoot : the root dictionary of readinessCheck submodule + (default to .Values.readinessCheck) - .wait_for : list of containers / jobs to wait for (default to .Values.wait_for) @@ -42,13 +53,15 @@ {{/* Our version of helm doesn't support deepCopy so we need this nasty trick */}} {{- $subchartDot := fromJson (include "common.subChartDot" (dict "dot" $dot "initRoot" $initRoot)) }} {{- $wait_for := default $initRoot.wait_for .wait_for -}} -- name: {{ include "common.name" $dot }}-{{ $wait_for.name }}-readiness +{{- $containers := index (ternary (dict "containers" $wait_for) $wait_for (kindIs "slice" $wait_for)) "containers" -}} +{{- $namePart := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "name" -}} +- name: {{ include "common.name" $dot }}{{ ternary "" (printf "-%s" $namePart) (empty $namePart) }}-readiness image: "{{ $subchartDot.Values.global.readinessRepository }}/{{ $subchartDot.Values.global.readinessImage }}" imagePullPolicy: {{ $subchartDot.Values.global.pullPolicy | default $subchartDot.Values.pullPolicy }} command: - /root/ready.py args: - {{- range $container := $wait_for.containers }} + {{- range $container := $containers }} - --container-name - {{ tpl $container $dot }} {{- end }} -- cgit 1.2.3-korg From e9754a0a8d5208df5e7f8d65312df6f1f17f486f Mon Sep 17 00:00:00 2001 From: Krzysztof Opasiak Date: Thu, 16 Jul 2020 21:06:39 +0200 Subject: [COMMON] Use readinessCheck template inside certInitializer Instead of manually creating readiness init container let's use our dedicated template for this. Issue-ID: OOM-2511 Signed-off-by: Krzysztof Opasiak Change-Id: Idb112e864b7899e7a1e76d139c6cc6a94851a090 --- kubernetes/common/certInitializer/requirements.yaml | 3 +++ .../certInitializer/templates/_certInitializer.yaml | 19 +------------------ kubernetes/common/certInitializer/values.yaml | 8 ++++++-- 3 files changed, 10 insertions(+), 20 deletions(-) (limited to 'kubernetes') diff --git a/kubernetes/common/certInitializer/requirements.yaml b/kubernetes/common/certInitializer/requirements.yaml index 237f1d1354..31041ad669 100644 --- a/kubernetes/common/certInitializer/requirements.yaml +++ b/kubernetes/common/certInitializer/requirements.yaml @@ -16,3 +16,6 @@ dependencies: - name: common version: ~6.x-0 repository: 'file://../common' + - name: readinessCheck + version: ~6.x-0 + repository: 'file://../readinessCheck' diff --git a/kubernetes/common/certInitializer/templates/_certInitializer.yaml b/kubernetes/common/certInitializer/templates/_certInitializer.yaml index 9c744f39ba..1250c1225e 100644 --- a/kubernetes/common/certInitializer/templates/_certInitializer.yaml +++ b/kubernetes/common/certInitializer/templates/_certInitializer.yaml @@ -42,24 +42,7 @@ {{- $initRoot := default $dot.Values.certInitializer .initRoot -}} {{- $initName := default "certInitializer" -}} {{- $subchartDot := fromJson (include "common.subChartDot" (dict "dot" $dot "initRoot" $initRoot)) }} -- name: {{ include "common.name" $dot }}-aaf-readiness - image: "{{ $subchartDot.Values.global.readinessRepository }}/{{ $subchartDot.Values.global.readinessImage }}" - imagePullPolicy: {{ $subchartDot.Values.global.pullPolicy | default $subchartDot.Values.pullPolicy }} - command: - - /root/ready.py - args: - - --container-name - - aaf-locate - - --container-name - - aaf-cm - - --container-name - - aaf-service - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace +{{ include "common.readinessCheck.waitFor" $subchartDot }} - name: {{ include "common.name" $dot }}-aaf-config image: {{ include "common.repository" $subchartDot }}/{{ $subchartDot.Values.global.aafAgentImage }} imagePullPolicy: {{ $subchartDot.Values.global.pullPolicy | default $subchartDot.Values.pullPolicy }} diff --git a/kubernetes/common/certInitializer/values.yaml b/kubernetes/common/certInitializer/values.yaml index fdee4c9bd2..416282f72a 100644 --- a/kubernetes/common/certInitializer/values.yaml +++ b/kubernetes/common/certInitializer/values.yaml @@ -13,8 +13,6 @@ # limitations under the License. global: - readinessRepository: oomk8s - readinessImage: readiness-check:2.0.2 repository: nexus3.onap.org:10001 aafAgentImage: onap/aaf/aaf_agent:2.1.20 aafEnabled: true @@ -29,6 +27,12 @@ secrets: password: '{{ .Values.aafDeployPass }}' passwordPolicy: required +readinessCheck: + wait_for: + - aaf-locate + - aaf-cm + - aaf-service + aafDeployFqi: "changeme" fqdn: "" app_ns: "org.osaaf.aaf" -- cgit 1.2.3-korg