diff --git a/ci-operator/config/openshift/release/openshift-release-master__nightly-4.20.yaml b/ci-operator/config/openshift/release/openshift-release-master__nightly-4.20.yaml index 91d200a561ab5..426de39524044 100644 --- a/ci-operator/config/openshift/release/openshift-release-master__nightly-4.20.yaml +++ b/ci-operator/config/openshift/release/openshift-release-master__nightly-4.20.yaml @@ -658,6 +658,15 @@ tests: NETWORK_TYPE: multi-tenant workflow: openshift-e2e-vsphere-hybrid-env timeout: 6h0m0s +- as: e2e-vsphere-ovn-upi-hybrid-env + cron: '@yearly' + steps: + cluster_profile: vsphere-elastic + env: + FEATURE_GATES: '["VSphereMixedNodeEnv=true"]' + FEATURE_SET: CustomNoUpgrade + workflow: openshift-e2e-vsphere-upi-hybrid-env + timeout: 6h0m0s - as: e2e-aws-ovn-fips interval: 168h steps: diff --git a/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-main.yaml b/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-main.yaml index f9855ff25ce01..9b807dec53420 100644 --- a/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-main.yaml +++ b/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-main.yaml @@ -11,6 +11,10 @@ base_images: name: tests-private namespace: ci tag: "4.20" + virtctl: + name: "4.20" + namespace: ocp + tag: virtctl build_root: from_repository: true images: @@ -83,6 +87,18 @@ tests: TEST_SKIPS: provisioning should mount multiple PV pointing to the same storage on the same node workflow: openshift-e2e-vsphere-csi +- always_run: false + as: e2e-vsphere-ovn-hybrid-env + optional: true + steps: + cluster_profile: vsphere-elastic + env: + FEATURE_GATES: '["VSphereMixedNodeEnv=true"]' + FEATURE_SET: CustomNoUpgrade + NETWORK_TYPE: multi-tenant + TEST_SKIPS: provisioning should mount multiple PV pointing to the same storage + on the same node + workflow: openshift-e2e-vsphere-hybrid-env - as: e2e-vsphere-ovn-upgrade steps: cluster_profile: vsphere-elastic diff --git a/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.20.yaml b/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.20.yaml index 0fcbe5f20626b..8f8506113b210 100644 --- a/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.20.yaml +++ b/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.20.yaml @@ -11,6 +11,10 @@ base_images: name: tests-private namespace: ci tag: "4.20" + virtctl: + name: "4.20" + namespace: ocp + tag: virtctl build_root: from_repository: true images: @@ -84,6 +88,18 @@ tests: TEST_SKIPS: provisioning should mount multiple PV pointing to the same storage on the same node workflow: openshift-e2e-vsphere-csi +- always_run: false + as: e2e-vsphere-ovn-hybrid-env + optional: true + steps: + cluster_profile: vsphere-elastic + env: + FEATURE_GATES: '["VSphereMixedNodeEnv=true"]' + FEATURE_SET: CustomNoUpgrade + NETWORK_TYPE: multi-tenant + TEST_SKIPS: provisioning should mount multiple PV pointing to the same storage + on the same node + workflow: openshift-e2e-vsphere-hybrid-env - as: e2e-vsphere-ovn-upgrade steps: cluster_profile: vsphere-elastic diff --git a/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.21.yaml b/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.21.yaml index cf278d7efac85..d8434753e2010 100644 --- a/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.21.yaml +++ b/ci-operator/config/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.21.yaml @@ -11,6 +11,10 @@ base_images: name: tests-private namespace: ci tag: "4.20" + virtctl: + name: "4.20" + namespace: ocp + tag: virtctl build_root: from_repository: true images: @@ -83,6 +87,18 @@ tests: TEST_SKIPS: provisioning should mount multiple PV pointing to the same storage on the same node workflow: openshift-e2e-vsphere-csi +- always_run: false + as: e2e-vsphere-ovn-hybrid-env + optional: true + steps: + cluster_profile: vsphere-elastic + env: + FEATURE_GATES: '["VSphereMixedNodeEnv=true"]' + FEATURE_SET: CustomNoUpgrade + NETWORK_TYPE: multi-tenant + TEST_SKIPS: provisioning should mount multiple PV pointing to the same storage + on the same node + workflow: openshift-e2e-vsphere-hybrid-env - as: e2e-vsphere-ovn-upgrade steps: cluster_profile: vsphere-elastic diff --git a/ci-operator/jobs/openshift/release/openshift-release-master-periodics.yaml b/ci-operator/jobs/openshift/release/openshift-release-master-periodics.yaml index cdccaaf881727..33e979a5d13f0 100644 --- a/ci-operator/jobs/openshift/release/openshift-release-master-periodics.yaml +++ b/ci-operator/jobs/openshift/release/openshift-release-master-periodics.yaml @@ -153220,6 +153220,83 @@ periodics: - name: result-aggregator secret: secretName: result-aggregator +- agent: kubernetes + cluster: vsphere02 + cron: '@yearly' + decorate: true + decoration_config: + skip_cloning: true + timeout: 6h0m0s + extra_refs: + - base_ref: master + org: openshift + repo: release + labels: + ci-operator.openshift.io/cloud: vsphere + ci-operator.openshift.io/cloud-cluster-profile: vsphere-elastic + ci-operator.openshift.io/variant: nightly-4.20 + ci.openshift.io/generator: prowgen + ci.openshift.io/no-builds: "true" + job-release: "4.20" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-release-master-nightly-4.20-e2e-vsphere-ovn-upi-hybrid-env + 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-vsphere-ovn-upi-hybrid-env + - --variant=nightly-4.20 + command: + - ci-operator + image: ci-operator:latest + imagePullPolicy: Always + name: "" + 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 - agent: kubernetes cluster: vsphere02 cron: 34 2 * * * diff --git a/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-main-presubmits.yaml b/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-main-presubmits.yaml index b908d6507fca8..c57509cd0318f 100644 --- a/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-main-presubmits.yaml @@ -289,6 +289,79 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )e2e-vsphere-operator-test,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^main$ + - ^main- + cluster: vsphere02 + context: ci/prow/e2e-vsphere-ovn-hybrid-env + decorate: true + labels: + ci-operator.openshift.io/cloud: vsphere + ci-operator.openshift.io/cloud-cluster-profile: vsphere-elastic + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-vmware-vsphere-csi-driver-operator-main-e2e-vsphere-ovn-hybrid-env + optional: true + rerun_command: /test e2e-vsphere-ovn-hybrid-env + 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-vsphere-ovn-hybrid-env + command: + - ci-operator + image: ci-operator:latest + imagePullPolicy: Always + name: "" + 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( | .* )e2e-vsphere-ovn-hybrid-env,?($|\s.*) - agent: kubernetes always_run: true branches: diff --git a/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.20-presubmits.yaml b/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.20-presubmits.yaml index 369439f836a1d..e78aab9973c11 100644 --- a/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.20-presubmits.yaml +++ b/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.20-presubmits.yaml @@ -289,6 +289,79 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )e2e-vsphere-operator-test,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^release-4\.20$ + - ^release-4\.20- + cluster: vsphere02 + context: ci/prow/e2e-vsphere-ovn-hybrid-env + decorate: true + labels: + ci-operator.openshift.io/cloud: vsphere + ci-operator.openshift.io/cloud-cluster-profile: vsphere-elastic + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-vmware-vsphere-csi-driver-operator-release-4.20-e2e-vsphere-ovn-hybrid-env + optional: true + rerun_command: /test e2e-vsphere-ovn-hybrid-env + 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-vsphere-ovn-hybrid-env + command: + - ci-operator + image: ci-operator:latest + imagePullPolicy: Always + name: "" + 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( | .* )e2e-vsphere-ovn-hybrid-env,?($|\s.*) - agent: kubernetes always_run: true branches: diff --git a/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.21-presubmits.yaml b/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.21-presubmits.yaml index fcb6ef7485359..44539a93ab0b5 100644 --- a/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.21-presubmits.yaml +++ b/ci-operator/jobs/openshift/vmware-vsphere-csi-driver-operator/openshift-vmware-vsphere-csi-driver-operator-release-4.21-presubmits.yaml @@ -289,6 +289,79 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )e2e-vsphere-operator-test,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^release-4\.21$ + - ^release-4\.21- + cluster: vsphere02 + context: ci/prow/e2e-vsphere-ovn-hybrid-env + decorate: true + labels: + ci-operator.openshift.io/cloud: vsphere + ci-operator.openshift.io/cloud-cluster-profile: vsphere-elastic + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-vmware-vsphere-csi-driver-operator-release-4.21-e2e-vsphere-ovn-hybrid-env + optional: true + rerun_command: /test e2e-vsphere-ovn-hybrid-env + 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-vsphere-ovn-hybrid-env + command: + - ci-operator + image: ci-operator:latest + imagePullPolicy: Always + name: "" + 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( | .* )e2e-vsphere-ovn-hybrid-env,?($|\s.*) - agent: kubernetes always_run: true branches: diff --git a/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/OWNERS b/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/OWNERS new file mode 120000 index 0000000000000..ec405d65a79df --- /dev/null +++ b/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/OWNERS @@ -0,0 +1 @@ +../OWNERS \ No newline at end of file diff --git a/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/openshift-e2e-vsphere-upi-hybrid-env-workflow.metadata.json b/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/openshift-e2e-vsphere-upi-hybrid-env-workflow.metadata.json new file mode 100644 index 0000000000000..5fd00cefb7197 --- /dev/null +++ b/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/openshift-e2e-vsphere-upi-hybrid-env-workflow.metadata.json @@ -0,0 +1,9 @@ +{ + "path": "openshift/e2e/vsphere/upi/hybrid-env/openshift-e2e-vsphere-upi-hybrid-env-workflow.yaml", + "owners": { + "approvers": [ + "vsphere-approvers", + "storage-approvers" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/openshift-e2e-vsphere-upi-hybrid-env-workflow.yaml b/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/openshift-e2e-vsphere-upi-hybrid-env-workflow.yaml new file mode 100644 index 0000000000000..25ab03d47f9f1 --- /dev/null +++ b/ci-operator/step-registry/openshift/e2e/vsphere/upi/hybrid-env/openshift-e2e-vsphere-upi-hybrid-env-workflow.yaml @@ -0,0 +1,12 @@ +workflow: + as: openshift-e2e-vsphere-upi-hybrid-env + steps: + pre: + - chain: upi-vsphere-pre + - ref: ipi-install-vsphere-virt + test: + - ref: openshift-e2e-test + post: + - chain: upi-vsphere-post-hybrid-env + documentation: |- + VSphere E2E wraps the Openshift E2E workflow and executes the common end-to-end test suite. diff --git a/ci-operator/step-registry/upi/vsphere/post/hybrid-env/OWNERS b/ci-operator/step-registry/upi/vsphere/post/hybrid-env/OWNERS new file mode 120000 index 0000000000000..ec405d65a79df --- /dev/null +++ b/ci-operator/step-registry/upi/vsphere/post/hybrid-env/OWNERS @@ -0,0 +1 @@ +../OWNERS \ No newline at end of file diff --git a/ci-operator/step-registry/upi/vsphere/post/hybrid-env/upi-vsphere-post-hybrid-env-chain.metadata.json b/ci-operator/step-registry/upi/vsphere/post/hybrid-env/upi-vsphere-post-hybrid-env-chain.metadata.json new file mode 100644 index 0000000000000..853556f12173d --- /dev/null +++ b/ci-operator/step-registry/upi/vsphere/post/hybrid-env/upi-vsphere-post-hybrid-env-chain.metadata.json @@ -0,0 +1,8 @@ +{ + "path": "upi/vsphere/post/hybrid-env/upi-vsphere-post-hybrid-env-chain.yaml", + "owners": { + "approvers": [ + "vsphere-approvers" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/upi/vsphere/post/hybrid-env/upi-vsphere-post-hybrid-env-chain.yaml b/ci-operator/step-registry/upi/vsphere/post/hybrid-env/upi-vsphere-post-hybrid-env-chain.yaml new file mode 100644 index 0000000000000..c547b8a435e31 --- /dev/null +++ b/ci-operator/step-registry/upi/vsphere/post/hybrid-env/upi-vsphere-post-hybrid-env-chain.yaml @@ -0,0 +1,12 @@ +chain: + as: upi-vsphere-post-hybrid-env + steps: + - chain: gather + - ref: ipi-deprovision-vsphere-diags + - ref: ipi-deprovision-vsphere-diags-vcm + - ref: ipi-deprovision-vsphere-virt + - ref: upi-deprovision-vsphere + - ref: upi-deprovision-vsphere-dns + - ref: ipi-deprovision-vsphere-lease + documentation: >- + This chain deprovisions all the components created by the upi-vsphere-pre chain plus the ipi-install-vsphere-virt step.