Skip to content

[release-4.21] OCPBUGS-85149: Enable Gateway API tests on vSphere and baremetal#31139

Open
gcs278 wants to merge 11 commits intoopenshift:release-4.21from
gcs278:backport-gwapi-baremetal-4.21
Open

[release-4.21] OCPBUGS-85149: Enable Gateway API tests on vSphere and baremetal#31139
gcs278 wants to merge 11 commits intoopenshift:release-4.21from
gcs278:backport-gwapi-baremetal-4.21

Conversation

@gcs278
Copy link
Copy Markdown
Contributor

@gcs278 gcs278 commented May 7, 2026

Backport Gateway API test improvements to enable running on vSphere and baremetal platforms.

Backported PRs

  1. NE-2056: auto negative tests of gatewayapicontroller #30599 (Dependency)
  2. NE-2292: Skip OLM tests when GatewayAPIWithoutOLM enabled #30896 (Dependency)
  3. NE-2292: Tests for gatewayAPIWithoutOLM featuregate graduation #30905 (Dependency)
  4. NE-2422: Skip Gateway API tests on dual-stack clusters #30942 (Dependency)
  5. NE-2520: Enable Gateway API tests on vSphere and baremetal #30946 (Target)

Why

The primary goal is to backport #30946 which enables Gateway API e2e tests to run on vSphere and baremetal platforms by gracefully handling missing LoadBalancer and DNS capabilities. PRs #30599, #30896, #30905, and #30942 are prerequisites that #30946 builds on — they restructure the test file and add feature gate handling that #30946 depends on. Including the full chain ensures clean cherry-picks and avoids future merge conflicts if any of these changes need to be backported independently later.

The GatewayAPIWithoutOLM feature gate tests (#30896, #30905) are latent on 4.21 — they will simply skip if the feature gate is not enabled. This also conveniently sets us up for a backport of NE-2292 if that ever decides to happen.

All cherry-picks applied cleanly with no conflicts.

ShudiLi and others added 11 commits May 6, 2026 20:06
Update gatewayAPIController tests to skip certain tests with OLM dependencies when
GatewayAPIWithoutOLM FeatureGate is enabled This will unblock
openshift/cluster-ingress-operator#1354 by skipping any
tests that require OLM capabilities without causing failures in the
origin testing.

JIRA link: https://redhat.atlassian.net/browse/NE-2292
This includes 5 unique tests which are to be used to graduate
the featuregate from techpreview to GA. There are some tests
which fall common within gatewayAPIController and
GatewayAPIWithoutOLM.

JIRA: https://redhat.atlassian.net/browse/NE-2292
Dual-stack support for Gateway API is not yet declared, skip the
GatewayAPIController tests on AWS dual-stack clusters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add support for running Gateway API e2e tests on vSphere and baremetal
while gracefully handling missing LoadBalancer and DNS capabilities.

On vsphere/baremetal without LoadBalancer/DNS:
- Tests GatewayClass, Gateway, HTTPRoute creation/attachment
- Tests OSSM/Istio integration
- Skips LoadBalancer service validation
- Skips DNS record validation
- Skips HTTP connectivity tests

https://redhat.atlassian.net/browse/NE-2286

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fixed multiple instances where o.Expect(err).NotTo(o.HaveOccurred())
was used inside wait.PollUntilContextTimeout loops, causing tests to
fail immediately instead of retrying when resources were not found.

The pattern now matches the existing Subscription check which correctly
handles errors by logging and returning false to retry.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Gateway API tests fail on IPv6 and dual-stack clusters, particularly on
baremetal platforms where catalog sources are typically disabled. This
prevents OSSM operator installation via OLM.

Replace AWS-specific dual-stack check with platform-agnostic detection
that checks the cluster's ServiceNetwork CIDRs for IPv6 addressing.

This will skip Gateway API tests on:
- Baremetal/vSphere/EquinixMetal IPv6 or dual-stack clusters
- AWS dual-stack clusters
- Any other platform with IPv6 networking

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 7, 2026
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented May 7, 2026

@gcs278: This pull request references NE-2520 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.z" version, but no target version was set.

Details

In response to this:

[release-4.21] Backport Gateway API test improvements to enable running on vSphere and baremetal platforms.

Backported PRs

  1. [NE-2056: auto negative tests of gatewayapicontroller #30599 - NE-2056: auto negative tests of gatewayapicontroller](NE-2056: auto negative tests of gatewayapicontroller #30599)
  2. [NE-2292: Skip OLM tests when GatewayAPIWithoutOLM enabled #30896 - NE-2292: Skip OLM tests when GatewayAPIWithoutOLM enabled](NE-2292: Skip OLM tests when GatewayAPIWithoutOLM enabled #30896)
  3. [NE-2292: Tests for gatewayAPIWithoutOLM featuregate graduation #30905 - NE-2292: Tests for gatewayAPIWithoutOLM featuregate graduation](NE-2292: Tests for gatewayAPIWithoutOLM featuregate graduation #30905)
  4. [NE-2422: Skip Gateway API tests on dual-stack clusters #30942 - NE-2422: Skip Gateway API tests on dual-stack clusters](NE-2422: Skip Gateway API tests on dual-stack clusters #30942)
  5. [NE-2520: Enable Gateway API tests on vSphere and baremetal #30946 - NE-2520: Enable Gateway API tests on vSphere and baremetal](NE-2520: Enable Gateway API tests on vSphere and baremetal #30946)

Why

The primary goal is to backport #30946 which enables Gateway API e2e tests to run on vSphere and baremetal platforms by gracefully handling missing LoadBalancer and DNS capabilities. PRs #30599, #30896, #30905, and #30942 are prerequisites that #30946 builds on — they restructure the test file and add feature gate handling that #30946 depends on. Including the full chain ensures clean cherry-picks and avoids future merge conflicts if any of these changes need to be backported independently later.

The GatewayAPIWithoutOLM feature gate tests (#30896, #30905) are latent on 4.21 — they will simply skip if the feature gate is not enabled.

All cherry-picks applied cleanly with no conflicts.

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 openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 7, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 91d5f262-138a-4dcc-a10e-bad69ab1b616

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 7, 2026
@openshift-ci openshift-ci Bot requested review from candita and rfredette May 7, 2026 00:09
@gcs278 gcs278 changed the title [release-4.21] NE-2520: Enable Gateway API tests on vSphere and baremetal [release-4.21] OCPBUGS-85149: Enable Gateway API tests on vSphere and baremetal May 7, 2026
@openshift-ci-robot openshift-ci-robot added jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels May 7, 2026
@openshift-ci-robot
Copy link
Copy Markdown

@gcs278: This pull request references Jira Issue OCPBUGS-85149, which is valid.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.z) matches configured target version for branch (4.21.z)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note type set to "Release Note Not Required"
  • dependent bug Jira Issue OCPBUGS-85148 is in the state Closed (Done), which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA))
  • dependent Jira Issue OCPBUGS-85148 targets the "4.22.0" version, which is one of the valid target versions: 4.22.0
  • bug has dependents

Requesting review from QA contact:
/cc @melvinjoseph86

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Backport Gateway API test improvements to enable running on vSphere and baremetal platforms.

Backported PRs

  1. [NE-2056: auto negative tests of gatewayapicontroller #30599 - NE-2056: auto negative tests of gatewayapicontroller](NE-2056: auto negative tests of gatewayapicontroller #30599)
  2. [NE-2292: Skip OLM tests when GatewayAPIWithoutOLM enabled #30896 - NE-2292: Skip OLM tests when GatewayAPIWithoutOLM enabled](NE-2292: Skip OLM tests when GatewayAPIWithoutOLM enabled #30896)
  3. [NE-2292: Tests for gatewayAPIWithoutOLM featuregate graduation #30905 - NE-2292: Tests for gatewayAPIWithoutOLM featuregate graduation](NE-2292: Tests for gatewayAPIWithoutOLM featuregate graduation #30905)
  4. [NE-2422: Skip Gateway API tests on dual-stack clusters #30942 - NE-2422: Skip Gateway API tests on dual-stack clusters](NE-2422: Skip Gateway API tests on dual-stack clusters #30942)
  5. [NE-2520: Enable Gateway API tests on vSphere and baremetal #30946 - NE-2520: Enable Gateway API tests on vSphere and baremetal](NE-2520: Enable Gateway API tests on vSphere and baremetal #30946)

Why

The primary goal is to backport #30946 which enables Gateway API e2e tests to run on vSphere and baremetal platforms by gracefully handling missing LoadBalancer and DNS capabilities. PRs #30599, #30896, #30905, and #30942 are prerequisites that #30946 builds on — they restructure the test file and add feature gate handling that #30946 depends on. Including the full chain ensures clean cherry-picks and avoids future merge conflicts if any of these changes need to be backported independently later.

The GatewayAPIWithoutOLM feature gate tests (#30896, #30905) are latent on 4.21 — they will simply skip if the feature gate is not enabled.

All cherry-picks applied cleanly with no conflicts.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot requested a review from melvinjoseph86 May 7, 2026 00:10
@gcs278
Copy link
Copy Markdown
Contributor Author

gcs278 commented May 7, 2026

/assign @rikatz

@rikatz
Copy link
Copy Markdown
Member

rikatz commented May 7, 2026

/test okd-scos-images

@rikatz
Copy link
Copy Markdown
Member

rikatz commented May 7, 2026

the test is valid, the strategy followed of backporting dependencies is required for this test, and the backports are guarded by featuregates

/lgtm
/approve

Thanks @gcs278

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 7, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 7, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gcs278, rikatz

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

The pull request process is described 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

@gcs278
Copy link
Copy Markdown
Contributor Author

gcs278 commented May 7, 2026

oh darn the pre-submits aren't running automatically.
/test ?

@gcs278
Copy link
Copy Markdown
Contributor Author

gcs278 commented May 7, 2026

Required tests + some hand picked optional tests:

/test e2e-aws-csi
/test e2e-aws-jenkins
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-image-registry
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-builds
/test e2e-gcp-ovn-image-ecosystem
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi
/test e2e-aws-ovn-single-node
/test e2e-metal-ipi-ovn-dualstack
/test e2e-metal-ipi-ovn

@rikatz
Copy link
Copy Markdown
Member

rikatz commented May 7, 2026

/retest-required

@gcs278
Copy link
Copy Markdown
Contributor Author

gcs278 commented May 7, 2026

/hold

I've made a wrong assumption - it looks like the [OCPFeatureGate:GatewayAPIWithoutOLM] are getting incorrectly ran. This actually makes sense - they only get skipped if the feature gate exists and is explicitly disabled. This is why when we remove a feature gate, the tests still run. In our case, the featuer gate doesn't exist, so the tests are assuming it's defaulted/GA'ed/removed and running.

So, we need to rethink this backport approach...

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 7, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 7, 2026

@gcs278: 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/prow/e2e-aws-ovn-single-node 7f5c31d link false /test e2e-aws-ovn-single-node
ci/prow/e2e-metal-ipi-ovn 7f5c31d link false /test e2e-metal-ipi-ovn
ci/prow/e2e-vsphere-ovn-upi 7f5c31d link true /test e2e-vsphere-ovn-upi
ci/prow/e2e-vsphere-ovn 7f5c31d link true /test e2e-vsphere-ovn
ci/prow/e2e-aws-ovn-fips 7f5c31d link true /test e2e-aws-ovn-fips
ci/prow/e2e-gcp-ovn-image-ecosystem 7f5c31d link true /test e2e-gcp-ovn-image-ecosystem
ci/prow/e2e-gcp-ovn 7f5c31d link true /test e2e-gcp-ovn

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

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants