diff --git a/ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml b/ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml index 9283e066fc5d9..31610853fe5fd 100644 --- a/ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml +++ b/ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml @@ -246,6 +246,15 @@ tests: env: TECH_PREVIEW_NO_UPGRADE: "true" workflow: hypershift-aws-e2e-v2 +- always_run: false + as: e2e-v2-aws-techpreview-osimagestream + optional: true + steps: + cluster_profile: hypershift-aws + env: + GUEST_FEATURE_SET: TechPreviewNoUpgrade + TECH_PREVIEW_NO_UPGRADE: "true" + workflow: hypershift-aws-e2e-v2-osimagestream - always_run: false as: e2e-v2-aws-backuprestore optional: true diff --git a/ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics.yaml b/ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics.yaml index 98f0d83d9ec7b..7343ad3868ae0 100644 --- a/ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics.yaml +++ b/ci-operator/config/openshift/hypershift/openshift-hypershift-release-5.0__periodics.yaml @@ -434,6 +434,14 @@ tests: env: TEST_SUITE: openshift/conformance/parallel/minimal workflow: hypershift-aws-e2e-backuprestore +- as: e2e-v2-aws-techpreview-osimagestream + cron: 0 0,6,12,18 * * * + steps: + cluster_profile: hypershift-aws + env: + GUEST_FEATURE_SET: TechPreviewNoUpgrade + TECH_PREVIEW_NO_UPGRADE: "true" + workflow: hypershift-aws-e2e-v2-osimagestream zz_generated_metadata: branch: release-5.0 org: openshift diff --git a/ci-operator/jobs/openshift/hypershift/openshift-hypershift-main-presubmits.yaml b/ci-operator/jobs/openshift/hypershift/openshift-hypershift-main-presubmits.yaml index d8f4570b88693..e01d7b6bc3e57 100644 --- a/ci-operator/jobs/openshift/hypershift/openshift-hypershift-main-presubmits.yaml +++ b/ci-operator/jobs/openshift/hypershift/openshift-hypershift-main-presubmits.yaml @@ -3058,6 +3058,93 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )e2e-v2-aws-backuprestore,?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^main$ + - ^main- + cluster: build01 + context: ci/prow/e2e-v2-aws-techpreview-osimagestream + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile + - Dockerfile.control-plane + - Dockerfile.e2e + labels: + ci-operator.openshift.io/cloud: hypershift-aws + ci-operator.openshift.io/cloud-cluster-profile: hypershift-aws + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-hypershift-main-e2e-v2-aws-techpreview-osimagestream + optional: true + rerun_command: /test e2e-v2-aws-techpreview-osimagestream + 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-v2-aws-techpreview-osimagestream + 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( | .* )e2e-v2-aws-techpreview-osimagestream,?($|\s.*) - agent: kubernetes always_run: false annotations: diff --git a/ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-5.0-periodics.yaml b/ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-5.0-periodics.yaml index d72a17cb4ba44..2fa63bcf9f780 100644 --- a/ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-5.0-periodics.yaml +++ b/ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-5.0-periodics.yaml @@ -2756,6 +2756,89 @@ periodics: - name: result-aggregator secret: secretName: result-aggregator +- agent: kubernetes + cluster: build07 + cron: 0 0,6,12,18 * * * + decorate: true + decoration_config: + skip_cloning: true + extra_refs: + - base_ref: release-5.0 + org: openshift + repo: hypershift + labels: + ci-operator.openshift.io/cloud: hypershift-aws + ci-operator.openshift.io/cloud-cluster-profile: hypershift-aws + 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-hypershift-release-5.0-periodics-e2e-v2-aws-techpreview-osimagestream + 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-v2-aws-techpreview-osimagestream + - --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 - agent: kubernetes cluster: build07 cron: 30 1,7,13,19 * * * diff --git a/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/OWNERS b/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/OWNERS new file mode 100644 index 0000000000000..202741f0d65fd --- /dev/null +++ b/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/OWNERS @@ -0,0 +1,15 @@ +approvers: +- sdminonne +- enxebre +- mgencur +- bryan-cox +- csrwng +- jparrill +options: {} +reviewers: +- sdminonne +- enxebre +- mgencur +- bryan-cox +- csrwng +- jparrill diff --git a/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/hypershift-aws-e2e-v2-osimagestream-workflow.metadata.json b/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/hypershift-aws-e2e-v2-osimagestream-workflow.metadata.json new file mode 100644 index 0000000000000..0fcb35aeaf7f8 --- /dev/null +++ b/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/hypershift-aws-e2e-v2-osimagestream-workflow.metadata.json @@ -0,0 +1,21 @@ +{ + "path": "hypershift/aws/e2e-v2-osimagestream/hypershift-aws-e2e-v2-osimagestream-workflow.yaml", + "owners": { + "approvers": [ + "sdminonne", + "enxebre", + "mgencur", + "bryan-cox", + "csrwng", + "jparrill" + ], + "reviewers": [ + "sdminonne", + "enxebre", + "mgencur", + "bryan-cox", + "csrwng", + "jparrill" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/hypershift-aws-e2e-v2-osimagestream-workflow.yaml b/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/hypershift-aws-e2e-v2-osimagestream-workflow.yaml new file mode 100644 index 0000000000000..84dc7996806b9 --- /dev/null +++ b/ci-operator/step-registry/hypershift/aws/e2e-v2-osimagestream/hypershift-aws-e2e-v2-osimagestream-workflow.yaml @@ -0,0 +1,23 @@ +workflow: + as: hypershift-aws-e2e-v2-osimagestream + documentation: |- + Temporary workflow for validating OSImageStream (dual-stream RHEL 9/10) + in HyperShift E2E tests. Creates a hosted cluster with + TechPreviewNoUpgrade so the MCO processes OSImageStream manifests. + + This workflow will be removed once the OSStreams feature gate is + graduated to Default for the Hypershift cluster profile + (openshift/api#2950). After graduation, the osimagestream tests + can run in the standard e2e-v2-aws workflow without TechPreview. + steps: + post: + - chain: hypershift-dump + - chain: hypershift-aws-destroy + - chain: hypershift-destroy-nested-management-cluster + test: + - chain: hypershift-e2e-v2-osimagestream + pre: + - ref: ipi-install-rbac + - chain: hypershift-setup-nested-management-cluster + - ref: hypershift-install + - chain: hypershift-aws-create diff --git a/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/OWNERS b/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/OWNERS new file mode 100644 index 0000000000000..202741f0d65fd --- /dev/null +++ b/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/OWNERS @@ -0,0 +1,15 @@ +approvers: +- sdminonne +- enxebre +- mgencur +- bryan-cox +- csrwng +- jparrill +options: {} +reviewers: +- sdminonne +- enxebre +- mgencur +- bryan-cox +- csrwng +- jparrill diff --git a/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/hypershift-e2e-v2-osimagestream-chain.metadata.json b/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/hypershift-e2e-v2-osimagestream-chain.metadata.json new file mode 100644 index 0000000000000..fabe32c032820 --- /dev/null +++ b/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/hypershift-e2e-v2-osimagestream-chain.metadata.json @@ -0,0 +1,21 @@ +{ + "path": "hypershift/e2e-v2/osimagestream/hypershift-e2e-v2-osimagestream-chain.yaml", + "owners": { + "approvers": [ + "sdminonne", + "enxebre", + "mgencur", + "bryan-cox", + "csrwng", + "jparrill" + ], + "reviewers": [ + "sdminonne", + "enxebre", + "mgencur", + "bryan-cox", + "csrwng", + "jparrill" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/hypershift-e2e-v2-osimagestream-chain.yaml b/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/hypershift-e2e-v2-osimagestream-chain.yaml new file mode 100644 index 0000000000000..1ecab5f641574 --- /dev/null +++ b/ci-operator/step-registry/hypershift/e2e-v2/osimagestream/hypershift-e2e-v2-osimagestream-chain.yaml @@ -0,0 +1,16 @@ +chain: + as: hypershift-e2e-v2-osimagestream + steps: + - as: tests + cli: latest + commands: |- + export E2E_HOSTED_CLUSTER_NAME=$(cat ${SHARED_DIR}/cluster-name) + export E2E_HOSTED_CLUSTER_NAMESPACE=clusters + bin/test-e2e-v2 --ginkgo.junit-report=${ARTIFACT_DIR}/junit_report.xml --ginkgo.v --ginkgo.label-filter='nodepool-osimagestream' + timeout: 30m + grace_period: 5m + from: hypershift-tests + resources: + requests: + cpu: "1" + memory: 200Mi