From ef81d37dc131992c1f9a159d996deff6f4cb5e9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ram=C3=B3n=20Lobillo?= Date: Tue, 23 Jun 2026 16:03:36 +0200 Subject: [PATCH 1/2] virt-platform-autopilot: add periodic e2e test on Azure with CNV Add a periodic CI job that deploys OCP 5.0 nightly on Azure, installs CNV 4.99 via cnv-ci, and runs e2e tests for virt-platform-autopilot. Co-Authored-By: Claude Opus 4.6 --- ...rt-platform-autopilot-main__periodics.yaml | 91 +++++++++++++++++++ ...irt-platform-autopilot-main-periodics.yaml | 84 +++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 ci-operator/config/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main__periodics.yaml create mode 100644 ci-operator/jobs/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main-periodics.yaml diff --git a/ci-operator/config/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main__periodics.yaml b/ci-operator/config/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main__periodics.yaml new file mode 100644 index 0000000000000..769a856051032 --- /dev/null +++ b/ci-operator/config/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main__periodics.yaml @@ -0,0 +1,91 @@ +build_root: + image_stream_tag: + name: release + namespace: openshift + tag: rhel-9-release-golang-1.26-openshift-5.0 +releases: + latest: + candidate: + product: ocp + stream: nightly + version: "5.0" +resources: + '*': + limits: + memory: 4Gi + requests: + cpu: 100m + memory: 600Mi +tests: +- as: e2e-azure + cron: 0 6 * * 1-5 + steps: + cluster_profile: azure-virtualization + env: + BASE_DOMAIN: cnv-devel.azure.devcluster.openshift.com + COMPUTE_NODE_TYPE: Standard_D4s_v5 + observers: + enable: + - observers-resource-watch + test: + - as: install-cnv + cli: latest + commands: | + curl -L https://github.com/openshift-cnv/cnv-ci/tarball/master -o /tmp/cnv-ci.tgz + mkdir -p /tmp/cnv-ci + tar -xvzf /tmp/cnv-ci.tgz -C /tmp/cnv-ci --strip-components=1 + cd /tmp/cnv-ci + make update_pull_secret set_imagedigestmirrorset deploy_cnv + oc patch hco kubevirt-hyperconverged -n openshift-cnv --type=json -p='[{"op": "add", "path": "/spec/defaultCPUModel", "value": "Broadwell"}]' + credentials: + - mount_path: /var/run/cnv-ci-brew-pull-secret + name: cnv-ci-brew-pull-secret + namespace: test-credentials + - mount_path: /var/run/cnv-ci-konflux-pull-secret + name: konflux-pull-secret + namespace: test-credentials + env: + - default: '|7820aea2-0d75-11e7-9259-28d244ea5a6d.hhav.f63e13' + name: BREW_IMAGE_REGISTRY_USERNAME + - default: /var/run/cnv-ci-brew-pull-secret/token + name: BREW_IMAGE_REGISTRY_TOKEN_PATH + - default: openshift-virtualization+konflux_ro_bot + name: KONFLUX_REGISTRY_USERNAME + - default: /var/run/cnv-ci-konflux-pull-secret/token + name: KONFLUX_REGISTRY_TOKEN_PATH + - default: "5.0" + name: OCP_VERSION + - default: "4.99" + name: CNV_VERSION + - default: /tmp/artifacts + name: ARTIFACTS_DIR + - default: openshift-cnv + name: TARGET_NAMESPACE + - default: "false" + name: PRODUCTION_RELEASE + from: src + resources: + requests: + cpu: 100m + memory: 600Mi + timeout: 1h0m0s + - as: e2e-test + cli: latest + commands: | + trap 'cp -r _output/* ${ARTIFACTS_DIR}/ || true' EXIT + make run-e2e-tests-only + env: + - default: /tmp/artifacts + name: ARTIFACTS_DIR + from: src + grace_period: 30m0s + resources: + requests: + cpu: 100m + memory: 600Mi + workflow: ipi-azure +zz_generated_metadata: + branch: main + org: openshift-virtualization + repo: virt-platform-autopilot + variant: periodics diff --git a/ci-operator/jobs/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main-periodics.yaml b/ci-operator/jobs/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main-periodics.yaml new file mode 100644 index 0000000000000..387845406ff20 --- /dev/null +++ b/ci-operator/jobs/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main-periodics.yaml @@ -0,0 +1,84 @@ +periodics: +- agent: kubernetes + cluster: build01 + cron: 0 6 * * 1-5 + decorate: true + decoration_config: + skip_cloning: true + extra_refs: + - base_ref: main + org: openshift-virtualization + repo: virt-platform-autopilot + labels: + ci-operator.openshift.io/cloud: azure4 + ci-operator.openshift.io/cloud-cluster-profile: azure-virtualization + ci-operator.openshift.io/variant: periodics + ci.openshift.io/generator: prowgen + job-release: "5.0" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-virtualization-virt-platform-autopilot-main-periodics-e2e-azure + 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-azure + - --variant=periodics + 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 From 00762d50a0a4072a216a3a4416f609a120c2187a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ram=C3=B3n=20Lobillo?= Date: Tue, 23 Jun 2026 21:51:24 +0200 Subject: [PATCH 2/2] virt-platform-autopilot: switch CNV version to 4.23 CNV 4.99 IIB was not available in brew registry, causing install timeout. Try CNV 4.23 instead. Co-Authored-By: Claude Opus 4.6 --- ...-virtualization-virt-platform-autopilot-main__periodics.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci-operator/config/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main__periodics.yaml b/ci-operator/config/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main__periodics.yaml index 769a856051032..fb8146dd919e3 100644 --- a/ci-operator/config/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main__periodics.yaml +++ b/ci-operator/config/openshift-virtualization/virt-platform-autopilot/openshift-virtualization-virt-platform-autopilot-main__periodics.yaml @@ -35,6 +35,8 @@ tests: mkdir -p /tmp/cnv-ci tar -xvzf /tmp/cnv-ci.tgz -C /tmp/cnv-ci --strip-components=1 cd /tmp/cnv-ci + export CNV_CATALOG_IMAGE=$(jq -r '."'"${CNV_VERSION}"'".index_image' version-mapping.json) + export CNV_SUBSCRIPTION_CHANNEL=$(jq -r '."'"${CNV_VERSION}"'".channel' version-mapping.json) make update_pull_secret set_imagedigestmirrorset deploy_cnv oc patch hco kubevirt-hyperconverged -n openshift-cnv --type=json -p='[{"op": "add", "path": "/spec/defaultCPUModel", "value": "Broadwell"}]' credentials: