Skip to content

feat(hypershift/gcp): add e2e-v2 GKE workflow and presubmit job#77007

Open
cristianoveiga wants to merge 3 commits intoopenshift:mainfrom
cristianoveiga:cntrlplane-2904
Open

feat(hypershift/gcp): add e2e-v2 GKE workflow and presubmit job#77007
cristianoveiga wants to merge 3 commits intoopenshift:mainfrom
cristianoveiga:cntrlplane-2904

Conversation

@cristianoveiga
Copy link
Copy Markdown
Contributor

@cristianoveiga cristianoveiga commented Mar 27, 2026

Summary

CNTRLPLANE-2904: Add a v2 e2e CI workflow for HyperShift GCP on GKE.

  • hypershift-gcp-create chain — creates a GCP HostedCluster using the hypershift create cluster gcp CLI and waits for version rollout
  • hypershift-gcp-destroy chain — destroys the HostedCluster CR with a grace period for ExternalDNS cleanup
  • hypershift-gcp-gke-e2e-v2 workflow — reuses all v1 pre steps (GKE provisioning, prerequisites, operator install, WIF/network setup) and adds the new create/destroy chains with the shared hypershift-e2e-v2 test chain
  • e2e-v2-gke presubmit — optional job triggered on GCP-related file changes

Also includes the DNS zone name fix and error surfacing from #76993.

v1 vs v2 differences

v1 (e2e-gke) v2 (e2e-v2-gke)
Cluster lifecycle Managed internally by test framework Explicit create/destroy chains
Test binary hack/ci-test-e2e.sh (v1) bin/test-e2e-v2 (Ginkgo v2)
Cleanup ExternalDNS killed with GKE cluster HostedCluster CR deleted first, ExternalDNS cleans up DNS

Dependencies

Test plan

  • make update succeeds
  • Step registry validation passes
  • Rehearsal: /pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

🤖 Generated with Claude Code

@cristianoveiga
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

@cristianoveiga
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

@cristianoveiga cristianoveiga marked this pull request as ready for review March 27, 2026 22:00
@cristianoveiga
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

@cristianoveiga
Copy link
Copy Markdown
Contributor Author

/retest-required

@cristianoveiga
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@cristianoveiga: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Mar 28, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: cristianoveiga
Once this PR has been reviewed and has the lgtm label, please assign muraee for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

The e2e-gke workflow had HYPERSHIFT_GCP_CI_DNS_ZONE set to
"hypershift-ci-zone" but the actual zone is
"hypershift-ci-gcp-hcp-openshiftapps-com". This caused the deprovision
step's DNS cleanup to silently fail.

Additionally, the gcloud dns list command had 2>/dev/null || true which
swallowed permission errors (403 Forbidden), making it appear that no
DNS records existed. Replace with explicit error handling that logs
failures instead of hiding them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cristianoveiga
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@cristianoveiga: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

cristianoveiga and others added 2 commits March 30, 2026 14:35
DNS cleanup failures were logged as warnings but the step still exited
0, making orphaned DNS records invisible. Since the step has
best_effort: true, failing it won't block the job but will surface
the issue in the Prow UI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CNTRLPLANE-2904: Add a v2 e2e CI workflow for HyperShift GCP on GKE.

- hypershift-gcp-create chain: creates a GCP HostedCluster using the
  hypershift CLI and waits for version rollout
- hypershift-gcp-destroy chain: destroys the HostedCluster CR with
  grace period for ExternalDNS cleanup
- hypershift-gcp-gke-e2e-v2 workflow: reuses v1 pre steps with new
  create/destroy chains and shared hypershift-e2e-v2 test chain
- e2e-v2-gke presubmit: optional job triggered on GCP file changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci openshift-ci bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 30, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Mar 30, 2026

PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Mar 30, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@cristianoveiga: no rehearsable tests are affected by this change

Note: If this PR includes changes to step registry files (ci-operator/step-registry/) and you expected jobs to be found, try rebasing your PR onto the base branch. This helps pj-rehearse accurately detect changes when the base branch has moved forward.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Mar 30, 2026

@cristianoveiga: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/openshift/hypershift/main/e2e-v2-gke 0387ab2 link unknown /pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke
ci/prow/check-gh-automation 639f29b link true /test check-gh-automation
ci/prow/ordered-prow-config 639f29b link true /test ordered-prow-config
ci/prow/prow-config-filenames 639f29b link true /test prow-config-filenames
ci/prow/generated-config 639f29b link true /test generated-config
ci/prow/release-controller-config 639f29b link true /test release-controller-config
ci/prow/ci-operator-registry 639f29b link true /test ci-operator-registry
ci/prow/ci-operator-config 639f29b link true /test ci-operator-config
ci/prow/owners 639f29b link true /test owners
ci/prow/step-registry-metadata 639f29b link true /test step-registry-metadata
ci/prow/core-valid 639f29b link true /test core-valid
ci/prow/step-registry-shellcheck 639f29b link true /test step-registry-shellcheck
ci/prow/yamllint 639f29b link true /test yamllint
ci/prow/openshift-image-mirror-mappings 639f29b link true /test openshift-image-mirror-mappings
ci/prow/prow-config-semantics 639f29b link true /test prow-config-semantics
ci/prow/ci-operator-config-metadata 639f29b link true /test ci-operator-config-metadata
ci/prow/config 639f29b link true /test config

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants