From e6eab8c833ad5eeb15cb83c6dd65f05f7170cec6 Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Fri, 7 Aug 2026 00:33:56 -0400 Subject: [PATCH 1/3] Add optional e2e-test-kubevirt-aws presubmit for oadp-dev oadp-1.5 and oadp-1.6 already run make TEST_VIRT=true test-e2e as a gating presubmit (e2e-test-kubevirt-aws); oadp-dev only had it as a daily periodic, with no way to get presubmit signal on a PR before merge. Adds the same job to the oadp-dev 5.0/5.1 variants, but as optional (manually triggered via /test, doesn't block merge) rather than gating like 1.5/1.6 -- oadp-dev is the active development branch and this KubeVirt path is newer/less proven there. This is needed for openshift/oadp-operator#2350 (kubevirt-datamover VM backup/restore e2e coverage) to actually be runnable against a PR before merge -- without this, those new specs only get exercised by the existing daily periodic, well after the PR that added them has merged. Related: openshift/release#83049 (kdm-controller/kdm-plugin presubmit e2e using this same TEST_VIRT=true path). Signed-off-by: Tiger Kaovilai --- ...openshift-oadp-operator-oadp-dev__5.0.yaml | 27 +++ ...openshift-oadp-operator-oadp-dev__5.1.yaml | 27 +++ ...ift-oadp-operator-oadp-dev-presubmits.yaml | 178 ++++++++++++++++++ 3 files changed, 232 insertions(+) diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml index d6d6d5c21162b..4b05c24a093b9 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml @@ -224,6 +224,33 @@ tests: cpu: 1000m memory: 512Mi workflow: optional-operators-ci-aws +- always_run: false + as: e2e-test-kubevirt-aws + optional: true + run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh + steps: + cluster_profile: openshift-org-aws + dependencies: + OO_INDEX: ci-index + env: + OO_CHANNEL: dev + OO_INSTALL_NAMESPACE: openshift-adp + OO_PACKAGE: oadp-operator + OO_TARGET_NAMESPACES: '!install' + test: + - as: e2e + cli: latest + commands: make TEST_VIRT=true test-e2e + credentials: + - mount_path: /var/run/oadp-credentials + name: oadp-credentials + namespace: test-credentials + from: test-oadp-operator + resources: + requests: + cpu: 1000m + memory: 512Mi + workflow: optional-operators-ci-aws - as: e2e-test-kubevirt-aws-periodic cron: 0 4 * * * reporter_config: diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml index 822b67c00e850..cc1ee62f1d782 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml @@ -224,6 +224,33 @@ tests: cpu: 1000m memory: 512Mi workflow: optional-operators-ci-aws +- always_run: false + as: e2e-test-kubevirt-aws + optional: true + run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh + steps: + cluster_profile: openshift-org-aws + dependencies: + OO_INDEX: ci-index + env: + OO_CHANNEL: dev + OO_INSTALL_NAMESPACE: openshift-adp + OO_PACKAGE: oadp-operator + OO_TARGET_NAMESPACES: '!install' + test: + - as: e2e + cli: latest + commands: make TEST_VIRT=true test-e2e + credentials: + - mount_path: /var/run/oadp-credentials + name: oadp-credentials + namespace: test-credentials + from: test-oadp-operator + resources: + requests: + cpu: 1000m + memory: 512Mi + workflow: optional-operators-ci-aws - as: e2e-test-kubevirt-aws-periodic cron: 0 4 * * * reporter_config: diff --git a/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml b/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml index e0bf0b2655ed0..753fbd3baf5eb 100644 --- a/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml +++ b/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml @@ -917,6 +917,95 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )5.0-e2e-test-cli-aws,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^oadp-dev$ + - ^oadp-dev- + cluster: build01 + context: ci/prow/5.0-e2e-test-kubevirt-aws + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile + - build/ci-Dockerfile + labels: + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws + ci-operator.openshift.io/variant: "5.0" + ci.openshift.io/generator: prowgen + job-release: "5.0" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-oadp-operator-oadp-dev-5.0-e2e-test-kubevirt-aws + optional: true + rerun_command: /test 5.0-e2e-test-kubevirt-aws + run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh + 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-kubevirt-aws + - --variant=5.0 + 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 + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + 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 + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )5.0-e2e-test-kubevirt-aws,?($|\s.*) - agent: kubernetes always_run: true branches: @@ -1213,6 +1302,95 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )5.1-e2e-test-cli-aws,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^oadp-dev$ + - ^oadp-dev- + cluster: build01 + context: ci/prow/5.1-e2e-test-kubevirt-aws + decorate: true + decoration_config: + sparse_checkout_files: + - Dockerfile + - build/ci-Dockerfile + labels: + ci-operator.openshift.io/cloud: aws + ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws + ci-operator.openshift.io/variant: "5.1" + ci.openshift.io/generator: prowgen + job-release: "5.1" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-oadp-operator-oadp-dev-5.1-e2e-test-kubevirt-aws + optional: true + rerun_command: /test 5.1-e2e-test-kubevirt-aws + run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh + 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-kubevirt-aws + - --variant=5.1 + 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 + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + 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 + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )5.1-e2e-test-kubevirt-aws,?($|\s.*) - agent: kubernetes always_run: true branches: From 188c354dcf28c57d2b6cb5b05ec9725d79c1bf34 Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Fri, 7 Aug 2026 12:49:11 -0400 Subject: [PATCH 2/3] Make e2e-test-kubevirt-aws gating for oadp-dev Matches oadp-1.5/oadp-1.6, where this same job is already gating rather than optional. Signed-off-by: Tiger Kaovilai --- .../oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml | 1 - .../oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml | 1 - .../openshift-oadp-operator-oadp-dev-presubmits.yaml | 2 -- 3 files changed, 4 deletions(-) diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml index 4b05c24a093b9..224d728a6f0e2 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.0.yaml @@ -226,7 +226,6 @@ tests: workflow: optional-operators-ci-aws - always_run: false as: e2e-test-kubevirt-aws - optional: true run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh steps: cluster_profile: openshift-org-aws diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml index cc1ee62f1d782..3f90e482e4b4e 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml @@ -226,7 +226,6 @@ tests: workflow: optional-operators-ci-aws - always_run: false as: e2e-test-kubevirt-aws - optional: true run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh steps: cluster_profile: openshift-org-aws diff --git a/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml b/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml index 753fbd3baf5eb..3c465177c5e11 100644 --- a/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml +++ b/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml @@ -937,7 +937,6 @@ presubmits: job-release: "5.0" pj-rehearse.openshift.io/can-be-rehearsed: "true" name: pull-ci-openshift-oadp-operator-oadp-dev-5.0-e2e-test-kubevirt-aws - optional: true rerun_command: /test 5.0-e2e-test-kubevirt-aws run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh spec: @@ -1322,7 +1321,6 @@ presubmits: job-release: "5.1" pj-rehearse.openshift.io/can-be-rehearsed: "true" name: pull-ci-openshift-oadp-operator-oadp-dev-5.1-e2e-test-kubevirt-aws - optional: true rerun_command: /test 5.1-e2e-test-kubevirt-aws run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh spec: From b454359a900ceca4c17c04d74f1b76abbc35cdbe Mon Sep 17 00:00:00 2001 From: Tiger Kaovilai Date: Fri, 7 Aug 2026 13:07:37 -0400 Subject: [PATCH 3/3] Drop 5.1 from this PR, keep only oadp-dev 5.0 Scope this to just the 5.0 variant for now. Signed-off-by: Tiger Kaovilai --- ...openshift-oadp-operator-oadp-dev__5.1.yaml | 26 ------ ...ift-oadp-operator-oadp-dev-presubmits.yaml | 88 ------------------- 2 files changed, 114 deletions(-) diff --git a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml index 3f90e482e4b4e..822b67c00e850 100644 --- a/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml +++ b/ci-operator/config/openshift/oadp-operator/openshift-oadp-operator-oadp-dev__5.1.yaml @@ -224,32 +224,6 @@ tests: cpu: 1000m memory: 512Mi workflow: optional-operators-ci-aws -- always_run: false - as: e2e-test-kubevirt-aws - run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh - steps: - cluster_profile: openshift-org-aws - dependencies: - OO_INDEX: ci-index - env: - OO_CHANNEL: dev - OO_INSTALL_NAMESPACE: openshift-adp - OO_PACKAGE: oadp-operator - OO_TARGET_NAMESPACES: '!install' - test: - - as: e2e - cli: latest - commands: make TEST_VIRT=true test-e2e - credentials: - - mount_path: /var/run/oadp-credentials - name: oadp-credentials - namespace: test-credentials - from: test-oadp-operator - resources: - requests: - cpu: 1000m - memory: 512Mi - workflow: optional-operators-ci-aws - as: e2e-test-kubevirt-aws-periodic cron: 0 4 * * * reporter_config: diff --git a/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml b/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml index 3c465177c5e11..33916aeff0394 100644 --- a/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml +++ b/ci-operator/jobs/openshift/oadp-operator/openshift-oadp-operator-oadp-dev-presubmits.yaml @@ -1301,94 +1301,6 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )5.1-e2e-test-cli-aws,?($|\s.*) - - agent: kubernetes - always_run: false - branches: - - ^oadp-dev$ - - ^oadp-dev- - cluster: build01 - context: ci/prow/5.1-e2e-test-kubevirt-aws - decorate: true - decoration_config: - sparse_checkout_files: - - Dockerfile - - build/ci-Dockerfile - labels: - ci-operator.openshift.io/cloud: aws - ci-operator.openshift.io/cloud-cluster-profile: openshift-org-aws - ci-operator.openshift.io/variant: "5.1" - ci.openshift.io/generator: prowgen - job-release: "5.1" - pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-openshift-oadp-operator-oadp-dev-5.1-e2e-test-kubevirt-aws - rerun_command: /test 5.1-e2e-test-kubevirt-aws - run_if_changed: .+\.go|go\.(\bmod\b|\bsum\b)|Makefile|Dockerfile|.dockerignore|.*\.ya{0,1}ml|build/.+|.sh - 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-kubevirt-aws - - --variant=5.1 - 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 - - mountPath: /secrets/manifest-tool - name: manifest-tool-local-pusher - readOnly: true - - mountPath: /etc/pull-secret - name: pull-secret - readOnly: true - - mountPath: /etc/report - name: result-aggregator - 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 - - name: pull-secret - secret: - secretName: registry-pull-credentials - - name: result-aggregator - secret: - secretName: result-aggregator - trigger: (?m)^/test( | .* )5.1-e2e-test-kubevirt-aws,?($|\s.*) - agent: kubernetes always_run: true branches: