From 17665dd1060553673cab85c3616a76669e443a7d Mon Sep 17 00:00:00 2001 From: Fiete Ostkamp Date: Tue, 30 Sep 2025 16:50:03 +0200 Subject: [PATCH] [COMMON] Update readiness image - update readiness image (6.2.0 -> 7.0.1) - 7.0.1 is the new go implementation that is half the image size, has less dependencies and is faster to execute - introduce global readinessPullPolicy value to support configuring the pull policy for the readiness image independent of the other images - adjust all files that specified the /app/readiness.py command Issue-ID: OOM-3352 Change-Id: I0ffb77cccdf581f016cdfc8d203517376d0adfe9 Signed-off-by: Fiete Ostkamp --- .../aai-graphadmin/templates/job-migration.yaml | 7 ++--- .../components/aai-traversal/templates/job.yaml | 2 +- .../cds-command-executor/templates/deployment.yaml | 4 +-- .../common/cassandra/templates/backup/cronjob.yaml | 4 +-- kubernetes/common/etcd-init/templates/job.yaml | 2 -- .../readinessCheck/templates/_readinessCheck.tpl | 34 +++++++--------------- kubernetes/common/readinessCheck/values.yaml | 2 +- .../repositoryGenerator/templates/_repository.tpl | 4 --- kubernetes/common/repositoryGenerator/values.yaml | 4 +-- .../starters/onap-app/templates/deployment.yaml | 4 +-- kubernetes/onap/values.yaml | 5 +++- .../oom-cert-service/templates/deployment.yaml | 2 -- .../policy-drools-pdp/templates/statefulset.yaml | 4 +-- kubernetes/sdc/components/sdc-cs/values.yaml | 1 - .../network-name-gen/templates/deployment.yaml | 2 -- kubernetes/sdnc/templates/sdnrdb-init-job.yaml | 12 +++----- kubernetes/sdnc/templates/statefulset.yaml | 4 +-- kubernetes/so/components/so-mariadb/values.yaml | 1 - 18 files changed, 30 insertions(+), 68 deletions(-) diff --git a/kubernetes/aai/components/aai-graphadmin/templates/job-migration.yaml b/kubernetes/aai/components/aai-graphadmin/templates/job-migration.yaml index 255fe26860..f704e0a71d 100644 --- a/kubernetes/aai/components/aai-graphadmin/templates/job-migration.yaml +++ b/kubernetes/aai/components/aai-graphadmin/templates/job-migration.yaml @@ -156,10 +156,9 @@ spec: spec: initContainers: {{- if eq .Values.global.jobs.migration.remoteCassandra.enabled false }} - - command: - - /bin/bash - - -c - - /app/ready.py --service-name {{ .Values.global.cassandra.serviceName }} + - args: + - --service-name + - "{{ .Values.global.cassandra.serviceName }}" env: - name: NAMESPACE valueFrom: diff --git a/kubernetes/aai/components/aai-traversal/templates/job.yaml b/kubernetes/aai/components/aai-traversal/templates/job.yaml index f6c0fa965d..8b1935cbe7 100644 --- a/kubernetes/aai/components/aai-traversal/templates/job.yaml +++ b/kubernetes/aai/components/aai-traversal/templates/job.yaml @@ -40,7 +40,7 @@ spec: initContainers: {{ include "common.readinessCheck.waitFor" (dict "dot" . "wait_for" .Values.readinessCheck.wait_for_traversal) | nindent 6 }} - name: {{ include "common.name" . }}-wait-for-aai-haproxy - image: {{ include "repositoryGenerator.image.readiness" . }} + image: {{ include "repositoryGenerator.image.curl" . }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} securityContext: runAsUser: 100 diff --git a/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml b/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml index 07736cfa1e..0849d3d26a 100755 --- a/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml +++ b/kubernetes/cds/components/cds-command-executor/templates/deployment.yaml @@ -24,9 +24,7 @@ spec: metadata: {{- include "common.templateMetadata" . | nindent 6 }} spec: initContainers: - - command: - - /app/ready.py - args: + - args: - --service-name - cds-blueprints-processor-http env: diff --git a/kubernetes/common/cassandra/templates/backup/cronjob.yaml b/kubernetes/common/cassandra/templates/backup/cronjob.yaml index 263ac28512..18b636e766 100644 --- a/kubernetes/common/cassandra/templates/backup/cronjob.yaml +++ b/kubernetes/common/cassandra/templates/backup/cronjob.yaml @@ -36,9 +36,7 @@ spec: spec: restartPolicy: Never initContainers: - - command: - - /app/ready.py - args: + - args: - --app-name - {{ include "common.name" . }} env: diff --git a/kubernetes/common/etcd-init/templates/job.yaml b/kubernetes/common/etcd-init/templates/job.yaml index 1e72c1de45..4eb0b2568d 100644 --- a/kubernetes/common/etcd-init/templates/job.yaml +++ b/kubernetes/common/etcd-init/templates/job.yaml @@ -43,8 +43,6 @@ spec: spec: initContainers: - name: {{ include "common.name" . }}-readiness - command: - - /app/ready.py args: - --service-name - {{ .Values.etcd.serviceName }} diff --git a/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl b/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl index c09285e1fa..c24e152bb8 100644 --- a/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl +++ b/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl @@ -83,9 +83,7 @@ {{/* 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 -}} -{{- $containers := index (ternary (dict "containers" $wait_for) $wait_for (kindIs "slice" $wait_for)) "containers" -}} {{- $services := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "services" -}} -{{- $serviceMeshes := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "serviceMeshes" -}} {{- $pods := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "pods" -}} {{- $apps := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "apps" -}} {{- $namePart := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "name" -}} @@ -93,7 +91,7 @@ {{- $timeout := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "timeout" -}} - name: {{ include "common.name" $dot }}{{ ternary "" (printf "-%s" $namePart) (empty $namePart) }}-readiness image: {{ include "repositoryGenerator.image.readiness" $subchartDot }} - imagePullPolicy: {{ $subchartDot.Values.global.pullPolicy | default $subchartDot.Values.pullPolicy }} + imagePullPolicy: {{ $subchartDot.Values.global.readinessPullPolicy | default $subchartDot.Values.pullPolicy }} securityContext: runAsUser: {{ $subchartDot.Values.user }} runAsGroup: {{ $subchartDot.Values.group }} @@ -104,36 +102,26 @@ drop: - ALL - CAP_NET_RAW - command: - - /app/ready.py args: - {{- range $container := default (list) $containers }} - - --container-name - - {{ tpl $container $dot }} - {{- end }} {{- range $pod := default (list) $pods }} - - --pod-name - - {{ tpl $pod $dot }} + - "--pod-name" + - "{{ tpl $pod $dot }}" {{- end }} {{- range $service := default (list) $services }} - - --service-name - - {{ tpl $service $dot }} - {{- end }} - {{- range $serviceMesh := default (list) $serviceMeshes }} - - --service-mesh-check - - {{ tpl $serviceMesh $dot }} + - "--service-name" + - "{{ tpl $service $dot }}" {{- end }} {{- range $app := default (list) $apps }} - - --app-name - - {{ tpl $app $dot }} + - "--app-name" + - "{{ tpl $app $dot }}" {{- end }} {{- range $job := $jobs }} - - --job-name - - {{ tpl $job $dot }} + - "--job-name" + - "{{ tpl $job $dot }}" {{- end }} {{- if hasKey $wait_for "timeout" }} - - -t - - {{ $timeout | quote }} + - "--timeout" + - "{{ $timeout }}" {{- end }} env: - name: NAMESPACE diff --git a/kubernetes/common/readinessCheck/values.yaml b/kubernetes/common/readinessCheck/values.yaml index d769fcdd3d..1e2fa15f60 100644 --- a/kubernetes/common/readinessCheck/values.yaml +++ b/kubernetes/common/readinessCheck/values.yaml @@ -13,7 +13,7 @@ # limitations under the License. global: - pullPolicy: IfNotPresent + readinessPullPolicy: IfNotPresent user: 100 group: 65533 diff --git a/kubernetes/common/repositoryGenerator/templates/_repository.tpl b/kubernetes/common/repositoryGenerator/templates/_repository.tpl index 14b8cc7783..a109963926 100644 --- a/kubernetes/common/repositoryGenerator/templates/_repository.tpl +++ b/kubernetes/common/repositoryGenerator/templates/_repository.tpl @@ -166,10 +166,6 @@ {{- include "repositoryGenerator.image._helper" (merge (dict "image" "drProvClientImage") .) }} {{- end -}} -{{- define "repositoryGenerator.image.quitQuit" -}} - {{- include "repositoryGenerator.image._helper" (merge (dict "image" "quitQuitImage") .) }} -{{- end -}} - {{/* Resolve the image repository secret token. The value for .Values.global.repositoryCred is used if provided: diff --git a/kubernetes/common/repositoryGenerator/values.yaml b/kubernetes/common/repositoryGenerator/values.yaml index a4791f762b..5be477ebe2 100644 --- a/kubernetes/common/repositoryGenerator/values.yaml +++ b/kubernetes/common/repositoryGenerator/values.yaml @@ -41,10 +41,9 @@ global: mongodbImage: percona/percona-server-mongodb:7.0.16-10 nginxImage: bitnami/nginx:1.29.0 postgresImage: crunchydata/crunchy-postgres:centos8-13.2-4.6.1 - readinessImage: onap/oom/readiness:6.2.0 + readinessImage: onap/oom/readiness:7.0.1 dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1 drProvClientImage: onap/dmaap/datarouter-prov-client:2.1.15 - quitQuitImage: onap/oom/readiness:6.2.0 # Default credentials # they're optional. If the target repository doesn't need them, comment them @@ -79,4 +78,3 @@ imageRepoMapping: readinessImage: repository dcaePolicySyncImage: repository drProvClientImage: repository - quitQuitImage: repository diff --git a/kubernetes/helm/starters/onap-app/templates/deployment.yaml b/kubernetes/helm/starters/onap-app/templates/deployment.yaml index c4d0eb5d3f..92db131415 100644 --- a/kubernetes/helm/starters/onap-app/templates/deployment.yaml +++ b/kubernetes/helm/starters/onap-app/templates/deployment.yaml @@ -32,9 +32,7 @@ spec: spec: initContainers: #Example init container for dependency checking -# - command: -# - /app/ready.py -# args: +# - args: # - --container-name # - mariadb # env: diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml index 0d9fa21c98..92f4e73e89 100755 --- a/kubernetes/onap/values.yaml +++ b/kubernetes/onap/values.yaml @@ -107,7 +107,10 @@ global: postgresImage: crunchydata/crunchy-postgres:centos8-13.2-4.6.1 # readiness check image - readinessImage: onap/oom/readiness:6.2.0 + readinessImage: onap/oom/readiness:7.0.1 + + # image pull policy for the common/readiness images + readinessPullPolicy: IfNotPresent # image pull policy pullPolicy: Always diff --git a/kubernetes/platform/components/oom-cert-service/templates/deployment.yaml b/kubernetes/platform/components/oom-cert-service/templates/deployment.yaml index 4c97359714..e74c5424e5 100644 --- a/kubernetes/platform/components/oom-cert-service/templates/deployment.yaml +++ b/kubernetes/platform/components/oom-cert-service/templates/deployment.yaml @@ -53,8 +53,6 @@ spec: {{- if .Values.global.addTestingComponents }} initContainers: - name: wait-for-ejbca - command: - - /app/ready.py args: - --service-name - ejbca-ejbca diff --git a/kubernetes/policy/components/policy-drools-pdp/templates/statefulset.yaml b/kubernetes/policy/components/policy-drools-pdp/templates/statefulset.yaml index d7bcccf121..17b1560976 100644 --- a/kubernetes/policy/components/policy-drools-pdp/templates/statefulset.yaml +++ b/kubernetes/policy/components/policy-drools-pdp/templates/statefulset.yaml @@ -31,9 +31,7 @@ spec: initContainers: {{ include "common.readinessCheck.waitFor" . | nindent 6 }} {{- if not .Values.nexus.offline }} - - command: - - /app/ready.py - args: + - args: - --service-name - {{ .Values.nexus.name }} env: diff --git a/kubernetes/sdc/components/sdc-cs/values.yaml b/kubernetes/sdc/components/sdc-cs/values.yaml index 2cac8df265..350ed6e3a7 100644 --- a/kubernetes/sdc/components/sdc-cs/values.yaml +++ b/kubernetes/sdc/components/sdc-cs/values.yaml @@ -18,7 +18,6 @@ ################################################################# global: nodePortPrefix: 302 - readinessImage: onap/oom/readiness:6.2.0 loggingRepository: docker.elastic.co loggingImage: beats/filebeat:5.5.0 sdc_cassandra: diff --git a/kubernetes/sdnc/components/network-name-gen/templates/deployment.yaml b/kubernetes/sdnc/components/network-name-gen/templates/deployment.yaml index e1fcd235c5..e5a6299fbf 100644 --- a/kubernetes/sdnc/components/network-name-gen/templates/deployment.yaml +++ b/kubernetes/sdnc/components/network-name-gen/templates/deployment.yaml @@ -25,8 +25,6 @@ spec: spec: initContainers: - name: {{ include "common.name" . }}-readiness - command: - - /app/ready.py args: {{- if .Values.global.mariadbGalera.localCluster }} - --service-name diff --git a/kubernetes/sdnc/templates/sdnrdb-init-job.yaml b/kubernetes/sdnc/templates/sdnrdb-init-job.yaml index d8559bd13c..87c8d7cd07 100755 --- a/kubernetes/sdnc/templates/sdnrdb-init-job.yaml +++ b/kubernetes/sdnc/templates/sdnrdb-init-job.yaml @@ -34,19 +34,15 @@ spec: spec: initContainers: - name: {{ include "common.name" . }}-readiness - command: - - /app/ready.py args: {{- if .Values.config.sdnr.mariadb.enabled }} - --service-name - {{ include "common.mariadbService" . }} {{- else }} - - --container-name - - {{.Values.elasticsearch.nameOverride}}-elasticsearch - - --container-name - - {{.Values.elasticsearch.nameOverride}}-nginx - - --container-name - - {{.Values.elasticsearch.nameOverride}}-master + - --service-name + - {{.Values.elasticsearch.nameOverride}} + - --service-name + - {{.Values.elasticsearch.nameOverride}}-service {{- end }} env: - name: NAMESPACE diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml index 5a89df5732..1e60c6ff07 100644 --- a/kubernetes/sdnc/templates/statefulset.yaml +++ b/kubernetes/sdnc/templates/statefulset.yaml @@ -134,9 +134,7 @@ spec: imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-update-config {{ if or .Values.dgbuilder.enabled .Values.config.sdnr.enabled -}} - - command: - - /app/ready.py - args: + - args: {{ if .Values.dgbuilder.enabled -}} - --service-name - {{ include "common.mariadbService" . }} diff --git a/kubernetes/so/components/so-mariadb/values.yaml b/kubernetes/so/components/so-mariadb/values.yaml index cef2d9fb9b..d41b533353 100755 --- a/kubernetes/so/components/so-mariadb/values.yaml +++ b/kubernetes/so/components/so-mariadb/values.yaml @@ -22,7 +22,6 @@ global: nodePortPrefix: 302 nodePortPrefixExt: 304 repository: nexus3.onap.org:10001 - readinessImage: onap/oom/readiness:6.2.0 ubuntuInitRepository: docker.io mariadbGalera: # flag to enable the DB creation via mariadb-operator -- 2.16.6