From 3ccc91e5c945e068abc1a8a0a3835e0d59906257 Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Fri, 21 Aug 2026 12:25:04 -0400 Subject: [PATCH] Rename KDM e2e job to virt-kdm, fix operator-sdk-bundle-image step bugs - Rename the 4 KDM presubmits' as: e2e-test-aws -> virt-kdm-e2e-test-aws so the job name is distinguishable from oadp-operator's own general e2e-test-aws job (openshift/oadp-operator#2399). - Fix inconsistent oc path resolution in oadp-operator-sdk-bundle-image-commands.sh: download oc to /tmp and export PATH instead of relying on cwd, then use bare `oc` everywhere (was a mix of bare oc and ./oc that only worked by accident on the current base image). - Fix hardcoded openshift-file-integrity namespace copy-paste leftover in the DEPLOYMENT wait check; use OO_INSTALL_NAMESPACE instead. - Add trailing newline to step-registry/oadp/OWNERS. Both items are follow-up review feedback (amp-rh) from PR #83049 that were not blockers for that PR. Not opening a PR yet -- holding until Signed-off-by: Tiger Kaovilai #83049 merges. (cherry picked from commit 43a48bfc04a70a855d113302f9fd21154094dd59) Signed-off-by: Tiger Kaovilai --- ...ubevirt-datamover-controller-oadp-1.6.yaml | 2 +- ...ubevirt-datamover-controller-oadp-dev.yaml | 2 +- ...ls-kubevirt-datamover-plugin-oadp-1.6.yaml | 2 +- ...ls-kubevirt-datamover-plugin-oadp-dev.yaml | 2 +- ...amover-controller-oadp-1.6-presubmits.yaml | 84 +++++++++---------- ...amover-controller-oadp-dev-presubmits.yaml | 84 +++++++++---------- ...-datamover-plugin-oadp-1.6-presubmits.yaml | 84 +++++++++---------- ...-datamover-plugin-oadp-dev-presubmits.yaml | 84 +++++++++---------- ci-operator/step-registry/oadp/OWNERS | 2 +- ...oadp-operator-sdk-bundle-image-commands.sh | 73 ++++++++-------- 10 files changed, 210 insertions(+), 209 deletions(-) diff --git a/ci-operator/config/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-1.6.yaml b/ci-operator/config/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-1.6.yaml index 7d55d1c6e0437..a24d03ee6f62b 100644 --- a/ci-operator/config/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-1.6.yaml +++ b/ci-operator/config/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-1.6.yaml @@ -33,7 +33,7 @@ resources: memory: 200Mi tests: - always_run: false - as: e2e-test-aws + as: virt-kdm-e2e-test-aws run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ steps: cluster_profile: openshift-org-aws diff --git a/ci-operator/config/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-dev.yaml b/ci-operator/config/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-dev.yaml index ab169bbea119b..c27924633e3c6 100644 --- a/ci-operator/config/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-dev.yaml +++ b/ci-operator/config/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-dev.yaml @@ -33,7 +33,7 @@ resources: memory: 200Mi tests: - always_run: false - as: e2e-test-aws + as: virt-kdm-e2e-test-aws run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ steps: cluster_profile: openshift-org-aws diff --git a/ci-operator/config/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-1.6.yaml b/ci-operator/config/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-1.6.yaml index 58056f1757757..9426d695aeb49 100644 --- a/ci-operator/config/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-1.6.yaml +++ b/ci-operator/config/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-1.6.yaml @@ -33,7 +33,7 @@ resources: memory: 200Mi tests: - always_run: false - as: e2e-test-aws + as: virt-kdm-e2e-test-aws run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ steps: cluster_profile: openshift-org-aws diff --git a/ci-operator/config/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-dev.yaml b/ci-operator/config/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-dev.yaml index e17847396e91a..49cacade5f1e2 100644 --- a/ci-operator/config/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-dev.yaml +++ b/ci-operator/config/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-dev.yaml @@ -33,7 +33,7 @@ resources: memory: 200Mi tests: - always_run: false - as: e2e-test-aws + as: virt-kdm-e2e-test-aws run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ steps: cluster_profile: openshift-org-aws diff --git a/ci-operator/jobs/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-1.6-presubmits.yaml b/ci-operator/jobs/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-1.6-presubmits.yaml index 18bf370dfe348..f9a789e6e3230 100644 --- a/ci-operator/jobs/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-1.6-presubmits.yaml +++ b/ci-operator/jobs/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-1.6-presubmits.yaml @@ -1,57 +1,39 @@ presubmits: migtools/kubevirt-datamover-controller: - agent: kubernetes - always_run: false + always_run: true branches: - ^oadp-1\.6$ - ^oadp-1\.6- - cluster: build11 - context: ci/prow/e2e-test-aws + cluster: build01 + context: ci/prow/images decorate: true decoration_config: sparse_checkout_files: - Dockerfile labels: - ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws + capability/arm64: arm64 ci.openshift.io/generator: prowgen job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-migtools-kubevirt-datamover-controller-oadp-1.6-e2e-test-aws - rerun_command: /test e2e-test-aws - run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ + name: pull-ci-migtools-kubevirt-datamover-controller-oadp-1.6-images + rerun_command: /test images spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson - - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --secret-dir=/secrets/ci-pull-credentials - - --target=e2e-test-aws + - --target=[images] command: - ci-operator - env: - - name: HTTP_SERVER_IP - valueFrom: - fieldRef: - fieldPath: status.podIP image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest imagePullPolicy: Always name: "" - ports: - - containerPort: 8080 - name: http resources: requests: cpu: 10m volumeMounts: - - mountPath: /etc/boskos - name: boskos - readOnly: true - - mountPath: /secrets/ci-pull-credentials - name: ci-pull-credentials - readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -66,15 +48,6 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: - - name: boskos - secret: - items: - - key: credentials - path: credentials - secretName: boskos-credentials - - name: ci-pull-credentials - secret: - secretName: ci-pull-credentials - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -84,41 +57,59 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )e2e-test-aws,?($|\s.*) + trigger: (?m)^/test( | .* )images,?($|\s.*) - agent: kubernetes - always_run: true + always_run: false branches: - ^oadp-1\.6$ - ^oadp-1\.6- cluster: build01 - context: ci/prow/images + context: ci/prow/virt-kdm-e2e-test-aws decorate: true decoration_config: sparse_checkout_files: - Dockerfile labels: - capability/arm64: arm64 + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws ci.openshift.io/generator: prowgen job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-migtools-kubevirt-datamover-controller-oadp-1.6-images - rerun_command: /test images + name: pull-ci-migtools-kubevirt-datamover-controller-oadp-1.6-virt-kdm-e2e-test-aws + rerun_command: /test virt-kdm-e2e-test-aws + run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --target=[images] + - --secret-dir=/secrets/ci-pull-credentials + - --target=virt-kdm-e2e-test-aws command: - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest imagePullPolicy: Always name: "" + ports: + - containerPort: 8080 + name: http resources: requests: cpu: 10m volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -133,6 +124,15 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -142,4 +142,4 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )images,?($|\s.*) + trigger: (?m)^/test( | .* )virt-kdm-e2e-test-aws,?($|\s.*) diff --git a/ci-operator/jobs/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-dev-presubmits.yaml b/ci-operator/jobs/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-dev-presubmits.yaml index 490ced6d35ce7..312f29dd5bd2c 100644 --- a/ci-operator/jobs/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-dev-presubmits.yaml +++ b/ci-operator/jobs/migtools/kubevirt-datamover-controller/migtools-kubevirt-datamover-controller-oadp-dev-presubmits.yaml @@ -1,57 +1,39 @@ presubmits: migtools/kubevirt-datamover-controller: - agent: kubernetes - always_run: false + always_run: true branches: - ^oadp-dev$ - ^oadp-dev- - cluster: build11 - context: ci/prow/e2e-test-aws + cluster: build01 + context: ci/prow/images decorate: true decoration_config: sparse_checkout_files: - Dockerfile labels: - ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws + capability/arm64: arm64 ci.openshift.io/generator: prowgen job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-migtools-kubevirt-datamover-controller-oadp-dev-e2e-test-aws - rerun_command: /test e2e-test-aws - run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ + name: pull-ci-migtools-kubevirt-datamover-controller-oadp-dev-images + rerun_command: /test images spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson - - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --secret-dir=/secrets/ci-pull-credentials - - --target=e2e-test-aws + - --target=[images] command: - ci-operator - env: - - name: HTTP_SERVER_IP - valueFrom: - fieldRef: - fieldPath: status.podIP image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest imagePullPolicy: Always name: "" - ports: - - containerPort: 8080 - name: http resources: requests: cpu: 10m volumeMounts: - - mountPath: /etc/boskos - name: boskos - readOnly: true - - mountPath: /secrets/ci-pull-credentials - name: ci-pull-credentials - readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -66,15 +48,6 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: - - name: boskos - secret: - items: - - key: credentials - path: credentials - secretName: boskos-credentials - - name: ci-pull-credentials - secret: - secretName: ci-pull-credentials - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -84,41 +57,59 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )e2e-test-aws,?($|\s.*) + trigger: (?m)^/test( | .* )images,?($|\s.*) - agent: kubernetes - always_run: true + always_run: false branches: - ^oadp-dev$ - ^oadp-dev- cluster: build01 - context: ci/prow/images + context: ci/prow/virt-kdm-e2e-test-aws decorate: true decoration_config: sparse_checkout_files: - Dockerfile labels: - capability/arm64: arm64 + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws ci.openshift.io/generator: prowgen job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-migtools-kubevirt-datamover-controller-oadp-dev-images - rerun_command: /test images + name: pull-ci-migtools-kubevirt-datamover-controller-oadp-dev-virt-kdm-e2e-test-aws + rerun_command: /test virt-kdm-e2e-test-aws + run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --target=[images] + - --secret-dir=/secrets/ci-pull-credentials + - --target=virt-kdm-e2e-test-aws command: - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest imagePullPolicy: Always name: "" + ports: + - containerPort: 8080 + name: http resources: requests: cpu: 10m volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -133,6 +124,15 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -142,4 +142,4 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )images,?($|\s.*) + trigger: (?m)^/test( | .* )virt-kdm-e2e-test-aws,?($|\s.*) diff --git a/ci-operator/jobs/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-1.6-presubmits.yaml b/ci-operator/jobs/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-1.6-presubmits.yaml index 7e938372c79f4..4dc142c87d97a 100644 --- a/ci-operator/jobs/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-1.6-presubmits.yaml +++ b/ci-operator/jobs/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-1.6-presubmits.yaml @@ -1,57 +1,39 @@ presubmits: migtools/kubevirt-datamover-plugin: - agent: kubernetes - always_run: false + always_run: true branches: - ^oadp-1\.6$ - ^oadp-1\.6- - cluster: build06 - context: ci/prow/e2e-test-aws + cluster: build09 + context: ci/prow/images decorate: true decoration_config: sparse_checkout_files: - Dockerfile labels: - ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws + capability/arm64: arm64 ci.openshift.io/generator: prowgen job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-migtools-kubevirt-datamover-plugin-oadp-1.6-e2e-test-aws - rerun_command: /test e2e-test-aws - run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ + name: pull-ci-migtools-kubevirt-datamover-plugin-oadp-1.6-images + rerun_command: /test images spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson - - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --secret-dir=/secrets/ci-pull-credentials - - --target=e2e-test-aws + - --target=[images] command: - ci-operator - env: - - name: HTTP_SERVER_IP - valueFrom: - fieldRef: - fieldPath: status.podIP image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest imagePullPolicy: Always name: "" - ports: - - containerPort: 8080 - name: http resources: requests: cpu: 10m volumeMounts: - - mountPath: /etc/boskos - name: boskos - readOnly: true - - mountPath: /secrets/ci-pull-credentials - name: ci-pull-credentials - readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -66,15 +48,6 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: - - name: boskos - secret: - items: - - key: credentials - path: credentials - secretName: boskos-credentials - - name: ci-pull-credentials - secret: - secretName: ci-pull-credentials - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -84,41 +57,59 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )e2e-test-aws,?($|\s.*) + trigger: (?m)^/test( | .* )images,?($|\s.*) - agent: kubernetes - always_run: true + always_run: false branches: - ^oadp-1\.6$ - ^oadp-1\.6- cluster: build09 - context: ci/prow/images + context: ci/prow/virt-kdm-e2e-test-aws decorate: true decoration_config: sparse_checkout_files: - Dockerfile labels: - capability/arm64: arm64 + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws ci.openshift.io/generator: prowgen job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-migtools-kubevirt-datamover-plugin-oadp-1.6-images - rerun_command: /test images + name: pull-ci-migtools-kubevirt-datamover-plugin-oadp-1.6-virt-kdm-e2e-test-aws + rerun_command: /test virt-kdm-e2e-test-aws + run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --target=[images] + - --secret-dir=/secrets/ci-pull-credentials + - --target=virt-kdm-e2e-test-aws command: - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest imagePullPolicy: Always name: "" + ports: + - containerPort: 8080 + name: http resources: requests: cpu: 10m volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -133,6 +124,15 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -142,4 +142,4 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )images,?($|\s.*) + trigger: (?m)^/test( | .* )virt-kdm-e2e-test-aws,?($|\s.*) diff --git a/ci-operator/jobs/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-dev-presubmits.yaml b/ci-operator/jobs/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-dev-presubmits.yaml index b211c7bd6b604..15e7cfaf80230 100644 --- a/ci-operator/jobs/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-dev-presubmits.yaml +++ b/ci-operator/jobs/migtools/kubevirt-datamover-plugin/migtools-kubevirt-datamover-plugin-oadp-dev-presubmits.yaml @@ -1,57 +1,39 @@ presubmits: migtools/kubevirt-datamover-plugin: - agent: kubernetes - always_run: false + always_run: true branches: - ^oadp-dev$ - ^oadp-dev- - cluster: build06 - context: ci/prow/e2e-test-aws + cluster: build09 + context: ci/prow/images decorate: true decoration_config: sparse_checkout_files: - Dockerfile labels: - ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws + capability/arm64: arm64 ci.openshift.io/generator: prowgen job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-migtools-kubevirt-datamover-plugin-oadp-dev-e2e-test-aws - rerun_command: /test e2e-test-aws - run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ + name: pull-ci-migtools-kubevirt-datamover-plugin-oadp-dev-images + rerun_command: /test images spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson - - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --secret-dir=/secrets/ci-pull-credentials - - --target=e2e-test-aws + - --target=[images] command: - ci-operator - env: - - name: HTTP_SERVER_IP - valueFrom: - fieldRef: - fieldPath: status.podIP image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest imagePullPolicy: Always name: "" - ports: - - containerPort: 8080 - name: http resources: requests: cpu: 10m volumeMounts: - - mountPath: /etc/boskos - name: boskos - readOnly: true - - mountPath: /secrets/ci-pull-credentials - name: ci-pull-credentials - readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -66,15 +48,6 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: - - name: boskos - secret: - items: - - key: credentials - path: credentials - secretName: boskos-credentials - - name: ci-pull-credentials - secret: - secretName: ci-pull-credentials - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -84,41 +57,59 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )e2e-test-aws,?($|\s.*) + trigger: (?m)^/test( | .* )images,?($|\s.*) - agent: kubernetes - always_run: true + always_run: false branches: - ^oadp-dev$ - ^oadp-dev- cluster: build09 - context: ci/prow/images + context: ci/prow/virt-kdm-e2e-test-aws decorate: true decoration_config: sparse_checkout_files: - Dockerfile labels: - capability/arm64: arm64 + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws ci.openshift.io/generator: prowgen job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-migtools-kubevirt-datamover-plugin-oadp-dev-images - rerun_command: /test images + name: pull-ci-migtools-kubevirt-datamover-plugin-oadp-dev-virt-kdm-e2e-test-aws + rerun_command: /test virt-kdm-e2e-test-aws + run_if_changed: (\.go|\.ya?ml|\.sh)$|^go\.(mod|sum)$|^Makefile$|^Dockerfile$|^\.dockerignore$ spec: containers: - args: - --gcs-upload-secret=/secrets/gcs/service-account.json - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials - --report-credentials-file=/etc/report/credentials - - --target=[images] + - --secret-dir=/secrets/ci-pull-credentials + - --target=virt-kdm-e2e-test-aws command: - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest imagePullPolicy: Always name: "" + ports: + - containerPort: 8080 + name: http resources: requests: cpu: 10m volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true - mountPath: /secrets/gcs name: gcs-credentials readOnly: true @@ -133,6 +124,15 @@ presubmits: readOnly: true serviceAccountName: ci-operator volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials - name: manifest-tool-local-pusher secret: secretName: manifest-tool-local-pusher @@ -142,4 +142,4 @@ presubmits: - name: result-aggregator secret: secretName: result-aggregator - trigger: (?m)^/test( | .* )images,?($|\s.*) + trigger: (?m)^/test( | .* )virt-kdm-e2e-test-aws,?($|\s.*) diff --git a/ci-operator/step-registry/oadp/OWNERS b/ci-operator/step-registry/oadp/OWNERS index 0d705d8ad6b9a..206be4be36966 100644 --- a/ci-operator/step-registry/oadp/OWNERS +++ b/ci-operator/step-registry/oadp/OWNERS @@ -15,4 +15,4 @@ reviewers: - shubham-pampattiwar - kaovilai - mpryc -- joeavaikath \ No newline at end of file +- joeavaikath diff --git a/ci-operator/step-registry/oadp/operator-sdk-bundle-image/oadp-operator-sdk-bundle-image-commands.sh b/ci-operator/step-registry/oadp/operator-sdk-bundle-image/oadp-operator-sdk-bundle-image-commands.sh index f6d3bd84616d6..b8253432fbfce 100644 --- a/ci-operator/step-registry/oadp/operator-sdk-bundle-image/oadp-operator-sdk-bundle-image-commands.sh +++ b/ci-operator/step-registry/oadp/operator-sdk-bundle-image/oadp-operator-sdk-bundle-image-commands.sh @@ -36,7 +36,7 @@ fi if [[ -f "${SHARED_DIR}/operator-install-namespace.txt" ]]; then OO_INSTALL_NAMESPACE=$(cat "$SHARED_DIR"/operator-install-namespace.txt) -elif ! oc get namespace "$OO_INSTALL_NAMESPACE"; then +elif ! oc get namespace "$OO_INSTALL_NAMESPACE" 2>/dev/null; then echo "[$(date --utc +%FT%T.%3NZ)] OO_INSTALL_NAMESPACE is '$OO_INSTALL_NAMESPACE' which does not exist: creating" NS_NAMESTANZA="name: $OO_INSTALL_NAMESPACE" else @@ -45,14 +45,15 @@ fi echo "Checking/installing oc..." if ! command -v oc &> /dev/null; then - cd /tmp && curl -L https://openshift-mirror-list.ci-systems.workers.dev/pub/openshift-v4/clients/oc/latest/linux/oc.tar.gz -o oc.tar.gz && tar xzvf oc.tar.gz + curl -L https://openshift-mirror-list.ci-systems.workers.dev/pub/openshift-v4/clients/oc/latest/linux/oc.tar.gz -o /tmp/oc.tar.gz && tar xzvf /tmp/oc.tar.gz -C /tmp + export PATH="/tmp:${PATH}" fi echo "Installing oc done" -./oc version --client +oc version --client if [[ -n "${NS_NAMESTANZA:-}" ]]; then OO_INSTALL_NAMESPACE=$( - ./oc create -f - -o jsonpath='{.metadata.name}' </dev/null || true) + DEST_HOST=$(oc get route default-route -n openshift-image-registry -o jsonpath='{.spec.host}' 2>/dev/null || true) [[ -n "${DEST_HOST}" ]] && break sleep 5 done @@ -141,7 +142,7 @@ if [[ "${OO_MIRROR_TO_CLUSTER_REGISTRY}" == "true" ]]; then # would otherwise land inside EXISTING_INSECURE itself and get treated # as a real hostname by the substring check and array build below. INSECURE_READ_ERR=$(mktemp) - if ! EXISTING_INSECURE=$(./oc get image.config.openshift.io/cluster -o jsonpath='{.spec.registrySources.insecureRegistries[*]}' 2>"${INSECURE_READ_ERR}"); then + if ! EXISTING_INSECURE=$(oc get image.config.openshift.io/cluster -o jsonpath='{.spec.registrySources.insecureRegistries[*]}' 2>"${INSECURE_READ_ERR}"); then echo "[$(date --utc +%FT%T.%3NZ)] Failed to read the current insecureRegistries list; refusing to patch and risk dropping existing entries: $(cat "${INSECURE_READ_ERR}")" >&2 rm -f "${INSECURE_READ_ERR}" exit 1 @@ -165,7 +166,7 @@ if [[ "${OO_MIRROR_TO_CLUSTER_REGISTRY}" == "true" ]]; then # steps (SA/token creation, mirroring) that follow -- capturing # it later risked the MCO already starting its rollout in that # gap, poisoning the "pre-change" baseline the wait below relies on. - MCP_BASELINE=$(./oc get mcp -o jsonpath='{range .items[*]}{.metadata.name}={.status.configuration.name}{"\n"}{end}') + MCP_BASELINE=$(oc get mcp -o jsonpath='{range .items[*]}{.metadata.name}={.status.configuration.name}{"\n"}{end}') if [[ -z "${MCP_BASELINE//[[:space:]]/}" ]]; then # No MachineConfigPools means the wait loop below would iterate # zero pools, leave ALL_DONE at its initial "true", and report @@ -173,7 +174,7 @@ if [[ "${OO_MIRROR_TO_CLUSTER_REGISTRY}" == "true" ]]; then echo "[$(date --utc +%FT%T.%3NZ)] No MachineConfigPools found; cannot confirm the insecure-registry trust rollout" >&2 exit 1 fi - ./oc patch image.config.openshift.io/cluster --type=merge -p "{\"spec\":{\"registrySources\":{\"insecureRegistries\":${INSECURE_JSON}}}}" + oc patch image.config.openshift.io/cluster --type=merge -p "{\"spec\":{\"registrySources\":{\"insecureRegistries\":${INSECURE_JSON}}}}" # Deterministic MCO rollout wait: nothing else in this # OO_MIRROR_TO_CLUSTER_REGISTRY block depends on the node-level @@ -192,10 +193,10 @@ if [[ "${OO_MIRROR_TO_CLUSTER_REGISTRY}" == "true" ]]; then DEGRADED_MCP="" while IFS='=' read -r mcp_name old_config; do [[ -z "${mcp_name}" ]] && continue - new_config=$(./oc get mcp "${mcp_name}" -o jsonpath='{.status.configuration.name}' 2>/dev/null || true) - updated_count=$(./oc get mcp "${mcp_name}" -o jsonpath='{.status.updatedMachineCount}' 2>/dev/null || true) - total_count=$(./oc get mcp "${mcp_name}" -o jsonpath='{.status.machineCount}' 2>/dev/null || true) - degraded_count=$(./oc get mcp "${mcp_name}" -o jsonpath='{.status.degradedMachineCount}' 2>/dev/null || true) + new_config=$(oc get mcp "${mcp_name}" -o jsonpath='{.status.configuration.name}' 2>/dev/null || true) + updated_count=$(oc get mcp "${mcp_name}" -o jsonpath='{.status.updatedMachineCount}' 2>/dev/null || true) + total_count=$(oc get mcp "${mcp_name}" -o jsonpath='{.status.machineCount}' 2>/dev/null || true) + degraded_count=$(oc get mcp "${mcp_name}" -o jsonpath='{.status.degradedMachineCount}' 2>/dev/null || true) # Default empty (not just failed) lookups too -- a pool # queried before its counts are populated returns "" with # exit 0, which `|| echo` alone wouldn't catch, and "" == "" @@ -216,8 +217,8 @@ if [[ "${OO_MIRROR_TO_CLUSTER_REGISTRY}" == "true" ]]; then # the remaining polls, so waiting out the rest of the 90 # iterations only delays a failure that's already certain. echo "[$(date --utc +%FT%T.%3NZ)] MachineConfigPool ${DEGRADED_MCP} reports degraded machines; aborting the rollout wait early" >&2 - ./oc get mcp -o wide || true - ./oc get nodes -o wide || true + oc get mcp -o wide || true + oc get nodes -o wide || true exit 1 fi [[ "${ALL_DONE}" == "true" ]] && break @@ -230,8 +231,8 @@ if [[ "${OO_MIRROR_TO_CLUSTER_REGISTRY}" == "true" ]]; then # certificate anyway -- limping forward just defers to a later, # less diagnostic failure inside operator-sdk run bundle. echo "[$(date --utc +%FT%T.%3NZ)] MachineConfigPool rollout did not confirm completion within the wait budget" >&2 - ./oc get mcp -o wide || true - ./oc get nodes -o wide || true + oc get mcp -o wide || true + oc get nodes -o wide || true exit 1 fi else @@ -247,9 +248,9 @@ if [[ "${OO_MIRROR_TO_CLUSTER_REGISTRY}" == "true" ]]; then # any username with a valid SA token as the password (standard # OpenShift convention, e.g. `podman login -u unused -p $(oc whoami -t)`). OO_ROBOT_SA="oo-bundle-pusher" - ./oc create serviceaccount "${OO_ROBOT_SA}" -n "${OO_INSTALL_NAMESPACE}" --dry-run=client -o yaml | ./oc apply -f - - ./oc policy add-role-to-user system:image-builder -z "${OO_ROBOT_SA}" -n "${OO_INSTALL_NAMESPACE}" - cat </dev/null | base64 -d || true) + ROBOT_TOKEN=$(oc get secret "${OO_ROBOT_SA}-token" -n "${OO_INSTALL_NAMESPACE}" -o jsonpath='{.data.token}' 2>/dev/null | base64 -d || true) [[ -n "${ROBOT_TOKEN}" ]] && break sleep 2 done @@ -313,7 +314,7 @@ EOF # source) followed by an insecure push (to DEST_HOST only), e.g. via a # local --dir stage, would close the gap, but needs its own validation # before swapping in. - ./oc image mirror --registry-config="${MERGED_AUTH_FILE}" --filter-by-os=linux/amd64 --insecure=true "${OO_BUNDLE}=${OO_BUNDLE_MIRROR}" + oc image mirror --registry-config="${MERGED_AUTH_FILE}" --filter-by-os=linux/amd64 --insecure=true "${OO_BUNDLE}=${OO_BUNDLE_MIRROR}" rm -f "${MERGED_AUTH_FILE}" OO_BUNDLE_EFFECTIVE="${OO_BUNDLE_MIRROR}" @@ -324,7 +325,7 @@ EOF # denied" on an anonymous HEAD despite the binding existing: # www-authenticate="Basic realm=openshift,error=\"access denied\""), # so add-role-to-group is the correct subject kind. - ./oc policy add-role-to-group system:image-puller system:unauthenticated -n "${OO_INSTALL_NAMESPACE}" + oc policy add-role-to-group system:image-puller system:unauthenticated -n "${OO_INSTALL_NAMESPACE}" # Deliberately NOT revoked once operator-sdk run bundle returns: the # CatalogSource OLM creates gets its own long-lived registry/grpc pod @@ -370,22 +371,22 @@ if [[ "${RUN_BUNDLE_STATUS}" -ne 0 ]]; then # just slow resync/resolution -- dump the actual state so it's # diagnosable instead of guessed at. echo "[$(date --utc +%FT%T.%3NZ)] operator-sdk run bundle failed (exit ${RUN_BUNDLE_STATUS}) -- dumping OLM diagnostics" - ./oc get catalogsource -n "${OO_INSTALL_NAMESPACE}" -o yaml || true - ./oc get subscription -n "${OO_INSTALL_NAMESPACE}" -o yaml || true - ./oc get installplan -n "${OO_INSTALL_NAMESPACE}" -o yaml || true - ./oc get pods -n "${OO_INSTALL_NAMESPACE}" -o wide || true - REG_POD=$(./oc get pods -n "${OO_INSTALL_NAMESPACE}" -l olm.catalogSource -o jsonpath='{.items[0].metadata.name}' 2>/dev/null || true) + oc get catalogsource -n "${OO_INSTALL_NAMESPACE}" -o yaml || true + oc get subscription -n "${OO_INSTALL_NAMESPACE}" -o yaml || true + oc get installplan -n "${OO_INSTALL_NAMESPACE}" -o yaml || true + oc get pods -n "${OO_INSTALL_NAMESPACE}" -o wide || true + REG_POD=$(oc get pods -n "${OO_INSTALL_NAMESPACE}" -l olm.catalogSource -o jsonpath='{.items[0].metadata.name}' 2>/dev/null || true) if [[ -n "${REG_POD}" ]]; then echo "[$(date --utc +%FT%T.%3NZ)] Logs for registry pod ${REG_POD}" - ./oc logs "${REG_POD}" -n "${OO_INSTALL_NAMESPACE}" --all-containers || true + oc logs "${REG_POD}" -n "${OO_INSTALL_NAMESPACE}" --all-containers || true fi - ./oc get events -n "${OO_INSTALL_NAMESPACE}" --sort-by=.lastTimestamp || true - ./oc get pods -n openshift-operator-lifecycle-manager -o wide || true + oc get events -n "${OO_INSTALL_NAMESPACE}" --sort-by=.lastTimestamp || true + oc get pods -n openshift-operator-lifecycle-manager -o wide || true exit "${RUN_BUNDLE_STATUS}" fi echo "check deployment" if [[ ! -z "${DEPLOYMENT}" ]]; then - ./oc wait --timeout=10m --for condition=Available -n openshift-file-integrity deployment $DEPLOYMENT + oc wait --timeout=10m --for condition=Available -n "${OO_INSTALL_NAMESPACE}" deployment "$DEPLOYMENT" fi echo "[$(date --utc +%FT%T.%3NZ)] Script Completed Execution Successfully !"