From e41503e91701cf68fbfa6e4be04b2cc7276336d0 Mon Sep 17 00:00:00 2001 From: Martin Gencur Date: Thu, 18 Jun 2026 08:42:18 +0200 Subject: [PATCH 1/2] Run against mgencurs branch Also add additional variables: NODEPOOL_N2_VERSION: "4.21" NODEPOOL_N3_VERSION: "4.20" --- ...r-hypershift-create_multihop_upgrades.yaml | 60 +++++++ ...t-create_multihop_upgrades-presubmits.yaml | 148 ++++++++++++++++++ ...ft-azure-e2e-v2-self-managed-workflow.yaml | 2 + 3 files changed, 210 insertions(+) create mode 100644 ci-operator/config/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades.yaml create mode 100644 ci-operator/jobs/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades-presubmits.yaml diff --git a/ci-operator/config/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades.yaml b/ci-operator/config/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades.yaml new file mode 100644 index 0000000000000..027c7b1846e37 --- /dev/null +++ b/ci-operator/config/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades.yaml @@ -0,0 +1,60 @@ +base_images: + cli: + name: "5.0" + namespace: ocp + tag: cli + hypershift-operator-init: + name: hypershift-operator + namespace: hypershift + tag: latest +build_root: + from_repository: true + use_build_cache: true +images: + items: + - to: hypershift-operator + - dockerfile_path: Dockerfile.control-plane + to: hypershift + - dockerfile_path: Dockerfile.e2e + to: hypershift-tests + - dockerfile_literal: | + FROM hypershift-operator + RUN yum install -y jq && yum clean all + from: hypershift-operator + to: hypershift-cli +releases: + initial: + candidate: + product: ocp + relative: 1 + stream: ci + version: "5.0" + latest: + integration: + include_built_images: true + name: "5.0" + namespace: ocp +resources: + '*': + limits: + memory: 4Gi + requests: + cpu: 100m + memory: 200Mi +tests: +- always_run: false + as: e2e-azure-v2-self-managed + optional: true + steps: + cluster_profile: hypershift-azure + env: + ENABLE_HYPERSHIFT_CERT_ROTATION_SCALE: "true" + HYPERSHIFT_AZURE_LOCATION: centralus + NODEPOOL_N1_VERSION: "4.22" + NODEPOOL_N2_VERSION: "4.21" + NODEPOOL_N3_VERSION: "4.20" + workflow: hypershift-azure-e2e-v2-self-managed +zz_generated_metadata: + branch: create_multihop_upgrades + org: mgencur + repo: hypershift diff --git a/ci-operator/jobs/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades-presubmits.yaml b/ci-operator/jobs/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades-presubmits.yaml new file mode 100644 index 0000000000000..601fe5320ae41 --- /dev/null +++ b/ci-operator/jobs/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades-presubmits.yaml @@ -0,0 +1,148 @@ +presubmits: + mgencur/hypershift: + - agent: kubernetes + always_run: false + branches: + - ^create_multihop_upgrades$ + - ^create_multihop_upgrades- + cluster: build01 + context: ci/prow/e2e-azure-v2-self-managed + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile + - Dockerfile.control-plane + - Dockerfile.e2e + labels: + ci-operator.openshift.io/cloud: hypershift-azure + ci-operator.openshift.io/cloud-cluster-profile: hypershift-azure + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-mgencur-hypershift-create_multihop_upgrades-e2e-azure-v2-self-managed + optional: true + rerun_command: /test e2e-azure-v2-self-managed + 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-v2-self-managed + 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-azure-v2-self-managed,?($|\s.*) + - agent: kubernetes + always_run: true + branches: + - ^create_multihop_upgrades$ + - ^create_multihop_upgrades- + cluster: build01 + context: ci/prow/images + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile + - Dockerfile.control-plane + - Dockerfile.e2e + labels: + ci.openshift.io/generator: prowgen + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-mgencur-hypershift-create_multihop_upgrades-images + rerun_command: /test images + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --report-credentials-file=/etc/report/credentials + - --target=[images] + command: + - ci-operator + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + resources: + requests: + cpu: 10m + volumeMounts: + - 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: 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( | .* )images,?($|\s.*) diff --git a/ci-operator/step-registry/hypershift/azure/e2e/v2-self-managed/hypershift-azure-e2e-v2-self-managed-workflow.yaml b/ci-operator/step-registry/hypershift/azure/e2e/v2-self-managed/hypershift-azure-e2e-v2-self-managed-workflow.yaml index bad47d829cea0..f7fe2cc8eff48 100644 --- a/ci-operator/step-registry/hypershift/azure/e2e/v2-self-managed/hypershift-azure-e2e-v2-self-managed-workflow.yaml +++ b/ci-operator/step-registry/hypershift/azure/e2e/v2-self-managed/hypershift-azure-e2e-v2-self-managed-workflow.yaml @@ -29,10 +29,12 @@ workflow: test: - chain: hypershift-azure-run-e2e-v2-selfmanaged post: + - ref: wait - chain: hypershift-azure-dump-selfmanaged-guests - chain: hypershift-azure-destroy-selfmanaged-guests - chain: hypershift-destroy-nested-management-cluster env: + TIMEOUT: "+2 hours" CLOUD_PROVIDER: "Azure" HYPERSHIFT_PLATFORM: "azure" HYPERSHIFT_NODE_COUNT: "6" From 09b58d69f4a80da1a143d7a40da73dc6b3c1a14f Mon Sep 17 00:00:00 2001 From: Martin Gencur Date: Fri, 19 Jun 2026 10:14:28 +0200 Subject: [PATCH 2/2] Run multi-hop upgrade tests on AWS with v1 framework --- ...r-hypershift-create_multihop_upgrades.yaml | 19 ++++ ...t-create_multihop_upgrades-presubmits.yaml | 89 +++++++++++++++++++ .../hypershift-aws-run-e2e-nested-ref.yaml | 2 +- 3 files changed, 109 insertions(+), 1 deletion(-) diff --git a/ci-operator/config/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades.yaml b/ci-operator/config/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades.yaml index 027c7b1846e37..162d1ac9f7a9a 100644 --- a/ci-operator/config/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades.yaml +++ b/ci-operator/config/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades.yaml @@ -54,6 +54,25 @@ tests: NODEPOOL_N2_VERSION: "4.21" NODEPOOL_N3_VERSION: "4.20" workflow: hypershift-azure-e2e-v2-self-managed +- always_run: false + as: e2e-aws + capabilities: + - build-tmpfs + pipeline_skip_if_only_changed: (^(\.tekton|\.github|\.claude|docs|examples|enhancements|contrib|\.cursor|test/envtest)/)|(\.md$)|((^|/)OWNERS$)|(/overrides\.yaml$)|(^renovate\.json$)|(/\.testcoverage\.yml$)|(^\.gitlint$)|(^\.gitignore$)|(^\.coderabbit\.yaml$)|(^\.dockerignore$)|(^codecov\.yml$) + steps: + cluster_profile: hypershift-aws + env: + CI_TESTS_RUN: ^TestMultiHopUpgrade$ + ENABLE_HYPERSHIFT_CERT_ROTATION_SCALE: "true" + NODEPOOL_N1_VERSION: "4.22" + NODEPOOL_N2_VERSION: "4.21" + NODEPOOL_N3_VERSION: "4.20" + NODEPOOL_N4_VERSION: "4.19" + REQUEST_SERVING_COMPONENT_TEST: "true" + post: + - ref: hypershift-analyze-e2e-failure + - chain: hypershift-destroy-nested-management-cluster + workflow: hypershift-aws-e2e-nested zz_generated_metadata: branch: create_multihop_upgrades org: mgencur diff --git a/ci-operator/jobs/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades-presubmits.yaml b/ci-operator/jobs/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades-presubmits.yaml index 601fe5320ae41..24a29e42c8aa7 100644 --- a/ci-operator/jobs/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades-presubmits.yaml +++ b/ci-operator/jobs/mgencur/hypershift/mgencur-hypershift-create_multihop_upgrades-presubmits.yaml @@ -1,5 +1,94 @@ presubmits: mgencur/hypershift: + - agent: kubernetes + always_run: false + annotations: + pipeline_skip_if_only_changed: (^(\.tekton|\.github|\.claude|docs|examples|enhancements|contrib|\.cursor|test/envtest)/)|(\.md$)|((^|/)OWNERS$)|(/overrides\.yaml$)|(^renovate\.json$)|(/\.testcoverage\.yml$)|(^\.gitlint$)|(^\.gitignore$)|(^\.coderabbit\.yaml$)|(^\.dockerignore$)|(^codecov\.yml$) + branches: + - ^create_multihop_upgrades$ + - ^create_multihop_upgrades- + cluster: build01 + context: ci/prow/e2e-aws + decorate: true + decoration_config: + sparse_checkout_files: + - .ci-operator.yaml + - Dockerfile + - Dockerfile.control-plane + - Dockerfile.e2e + labels: + capability/build-tmpfs: build-tmpfs + 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-mgencur-hypershift-create_multihop_upgrades-e2e-aws + rerun_command: /test e2e-aws + 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-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 + - 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-aws,?($|\s.*) - agent: kubernetes always_run: false branches: diff --git a/ci-operator/step-registry/hypershift/aws/run-e2e/nested/hypershift-aws-run-e2e-nested-ref.yaml b/ci-operator/step-registry/hypershift/aws/run-e2e/nested/hypershift-aws-run-e2e-nested-ref.yaml index 8c0acb13662ed..6c0c601dbb2b0 100644 --- a/ci-operator/step-registry/hypershift/aws/run-e2e/nested/hypershift-aws-run-e2e-nested-ref.yaml +++ b/ci-operator/step-registry/hypershift/aws/run-e2e/nested/hypershift-aws-run-e2e-nested-ref.yaml @@ -64,4 +64,4 @@ ref: requests: cpu: 100m memory: 100Mi - timeout: 2h0m0s + timeout: 4h0m0s