[COMMON] Add job support for readinessCheck 25/116225/5
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Tue, 8 Dec 2020 16:54:23 +0000 (17:54 +0100)
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>
Mon, 14 Dec 2020 15:48:56 +0000 (16:48 +0100)
readinessCheck was only supporting "container" readiness and not "job"
readiness.
This patch adds the ability to wait for job readiness also.

for that, we need to use the "extended" version and set type to `job` as
we can see it the example:

```yaml
wait_for:
  name: myname
  jobs:
    - '{{ include "common.release" . }}-the-job'
```

Issue-ID: OOM-2647
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: Iee5426995de63ec8fe2f8c61ff9384a314c86db4

kubernetes/common/readinessCheck/templates/_readinessCheck.tpl

index 6a1a1eb..aa03938 100644 (file)
       - aaf-cm
       - aaf-service
 
+  the powerful one allows also to wait for jobs with this:
+  wait_for:
+    name: myname
+    jobs:
+      - '{{ include "common.release" . }}-the-job'
+
+  Be careful, as on the example above, the job name may have a "non fixed" name
+  and thus don't forget to use templates if needed
 
   The function can takes below arguments (inside a dictionary):
      - .dot : environment (.)
 {{-   $wait_for := default $initRoot.wait_for .wait_for -}}
 {{-   $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" -}}
+{{-   $jobs := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "jobs" -}}
 - name: {{ include "common.name" $dot }}{{ ternary "" (printf "-%s" $namePart) (empty $namePart) }}-readiness
   image: "{{ include "common.repository" $subchartDot }}/{{ $subchartDot.Values.global.readinessImage }}"
   imagePullPolicy: {{ $subchartDot.Values.global.pullPolicy | default $subchartDot.Values.pullPolicy }}
   command:
   - /app/ready.py
   args:
-  {{- range $container := $containers }}
+  {{- range $container := default (list) $containers }}
   - --container-name
   - {{ tpl $container $dot }}
   {{- end }}
+  {{- range $job := $jobs }}
+  - --job-name
+  - {{ tpl $job $dot }}
+  {{- end }}
   env:
   - name: NAMESPACE
     valueFrom: