Skip to content

cluster-ingress-operator: GatewayAPI support is now GA #63021

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

alebedev87
Copy link
Contributor

@alebedev87 alebedev87 commented Mar 20, 2025

GatewayAPI and GatewayAPIController feature gates have been promoted to GA, making Gateway API support part of the default feature set. This PR removes e2e-aws-gatewayapi job because the gateway API tests are now part of the operator test jobs. Also it removes TechPreviewNoUpgrade feature set from e2e-aws-gatewayapi-conformance job.
Also this PR makes e2e-aws-gatewayapi-conformance job "always running" to enable continuous testing of the GatewayAPI implementation.

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 20, 2025
@alebedev87 alebedev87 force-pushed the cio-gatewayapi-test-required branch from da69dd0 to b4eab1c Compare March 20, 2025 11:26
@alebedev87 alebedev87 changed the title cluster-ingress-operator: Make e2e-aws-gatewayapi required cluster-ingress-operator: Enforce stricter GatewayAPI testing Mar 20, 2025
@candita
Copy link
Contributor

candita commented Mar 20, 2025

/pj-rehearse

@openshift-ci-robot
Copy link
Contributor

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

@candita
Copy link
Contributor

candita commented Mar 20, 2025

/assign

@candita
Copy link
Contributor

candita commented Mar 20, 2025

util_gatewayapi_test.go:461: failed to get deployment openshift-operators/istio-operator, retrying...
gateway_api_test.go:89: failed to find expected Istio operator: error finding deployment openshift-operators/istio-operator: context deadline exceeded

/pj-rehearse

@openshift-ci-robot
Copy link
Contributor

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

@candita
Copy link
Contributor

candita commented Mar 21, 2025

Let's figure out why the conformance tests don't work before we make them required.
/hold

@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 Mar 21, 2025
@alebedev87
Copy link
Contributor Author

Let's figure out why the conformance tests don't work before we make them required.

The conformance test will remain optional. I only changed always_run for it, so that it'll be run for every PR from cluster-ingress-operator repository. Even if it fails (which needs to be investigated, I agree), it won't block PRs.

@alebedev87
Copy link
Contributor Author

alebedev87 commented Mar 24, 2025

I suspect the DNS propagation which took more time than the expected timeout:

=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/3_request_to_'boo.bar.com/'_should_go_to_infra-backend-v3
    http.go:233: Request failed, not ready yet: Get "http://acd2e5cd7ece04268b585d5062bdcab5-105292870.us-east-2.elb.amazonaws.com/": dial tcp: lookup acd2e5cd7ece04268b585d5062bdcab5-105292870.us-east-2.elb.amazonaws.com on 172.30.0.10:53: no such host (after 1m29.514651177s)
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/1_request_to_'foo.bar.com/'_should_go_to_infra-backend-v2
    http.go:233: Request failed, not ready yet: Get "http://acd2e5cd7ece04268b585d5062bdcab5-105292870.us-east-2.elb.amazonaws.com/": dial tcp: lookup acd2e5cd7ece04268b585d5062bdcab5-105292870.us-east-2.elb.amazonaws.com on 172.30.0.10:53: no such host (after 1m29.514601685s)
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/7_request_to_'no.matching.host/'_should_receive_a_404
    http.go:233: Request failed, not ready yet: Get "http://acd2e5cd7ece04268b585d5062bdcab5-105292870.us-east-2.elb.amazonaws.com/": dial tcp: lookup acd2e5cd7ece04268b585d5062bdcab5-105292870.us-east-2.elb.amazonaws.com on 172.30.0.10:53: no such host (after 1m29.514741168s)
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/3_request_to_'boo.bar.com/'_should_go_to_infra-backend-v3
    http.go:219: timeout while waiting after 90 attempts, 0/0 successes
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/0_request_to_'bar.com/'_should_go_to_infra-backend-v1
    http.go:219: timeout while waiting after 90 attempts, 0/0 successes
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/5_request_to_'multiple.prefixes.foo.com/'_should_go_to_infra-backend-v3
    http.go:219: timeout while waiting after 90 attempts, 0/0 successes
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/6_request_to_'foo.com/'_should_receive_a_404
    http.go:219: timeout while waiting after 90 attempts, 0/0 successes
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/2_request_to_'baz.bar.com/'_should_go_to_infra-backend-v3
    http.go:219: timeout while waiting after 90 attempts, 0/0 successes
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/1_request_to_'foo.bar.com/'_should_go_to_infra-backend-v2
    http.go:219: timeout while waiting after 90 attempts, 0/0 successes
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/4_request_to_'multiple.prefixes.bar.com/'_should_go_to_infra-backend-v3
    http.go:219: timeout while waiting after 90 attempts, 0/0 successes
=== NAME  TestConformance/HTTPRouteListenerHostnameMatching/7_request_to_'no.matching.host/'_should_receive_a_404
    http.go:219: timeout while waiting after 90 attempts, 0/0 successes

We may need to play with timeout values knowing that our CI AWS hostedzones are not the fastest.

/pj-rehearse

@openshift-ci-robot
Copy link
Contributor

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

@alebedev87
Copy link
Contributor Author

/pj-rehearse ack

@openshift-ci-robot
Copy link
Contributor

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

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Mar 24, 2025
@alebedev87
Copy link
Contributor Author

Holding the PR until the problem with install plan approval is fixed.

@alebedev87
Copy link
Contributor Author

/pj-rehearse

@openshift-ci-robot
Copy link
Contributor

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

@lihongan
Copy link
Contributor

Can we unhold this now ?

@alebedev87
Copy link
Contributor Author

alebedev87 commented Apr 18, 2025

e2e-aws-gatewayapi won't be needed soon (after we promote both GWAPI featuregates). Let's keep it on hold and re-iterate after all the dust will be settled (after branch cut on 25APR).

@@ -143,8 +142,7 @@ tests:
requests:
cpu: 100m
workflow: ipi-aws
- always_run: false
as: e2e-aws-gatewayapi-conformance
- as: e2e-aws-gatewayapi-conformance
Copy link
Contributor

@candita candita Apr 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alebedev87 would you mind updating L135 to TechPreviewNoUpgrade and/or removing the FEATURE_SET/FEATURE_GATES env variables from both tests when the time is right? We may even be able to remove the e2e-aws-gatewayapi when the FG is lifted.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed e2e-aws-gatewayapi job because TestGatewayAPI is now part of the standard test suite (e2e-*-operator jobs). e2e-aws-gatewayapi-conformance is updated too: TechPreviewNoUpgrade featureste is removed.

@alebedev87 alebedev87 force-pushed the cio-gatewayapi-test-required branch from b4eab1c to d387df8 Compare April 28, 2025 13:40
@alebedev87 alebedev87 changed the title cluster-ingress-operator: Enforce stricter GatewayAPI testing cluster-ingress-operator: GatewayAPI support is now GA Apr 28, 2025
@openshift-ci-robot openshift-ci-robot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Apr 28, 2025
@alebedev87 alebedev87 force-pushed the cio-gatewayapi-test-required branch from d387df8 to e24e569 Compare April 28, 2025 13:43
@alebedev87
Copy link
Contributor Author

/pj-rehearse

@openshift-ci-robot
Copy link
Contributor

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

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Apr 28, 2025
@lihongan
Copy link
Contributor

LGTM

@alebedev87
Copy link
Contributor Author

/unhold

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 29, 2025
@alebedev87
Copy link
Contributor Author

/hold

As a matter of fact, the branch cut is still not done. So, let's hold this one for some more time.

@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 Apr 30, 2025
@alebedev87
Copy link
Contributor Author

/unhold

The branch cut is done this morning (Europe time).

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 2, 2025
@candita
Copy link
Contributor

candita commented May 13, 2025

/lgtm
/approve

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 13, 2025
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 13, 2025
`GatewayAPI` and `GatewayAPIController` feature gates have been
promoted to GA, making Gateway API support part of the default feature set.
This commit removes `e2e-aws-gatewayapi` job because the gateway API tests
are now part of the operator test jobs. Also it removes TechPreviewNoUpgrade
feature set from `e2e-aws-gatewayapi-conformance` job.
Enable continuous testing of the Gateway API implementation.
@alebedev87 alebedev87 force-pushed the cio-gatewayapi-test-required branch from e24e569 to b8dffd2 Compare May 13, 2025 16:42
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 13, 2025
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label May 13, 2025
@openshift-ci-robot openshift-ci-robot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label May 13, 2025
@openshift-ci-robot
Copy link
Contributor

[REHEARSALNOTIFIER]
@alebedev87: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-cluster-ingress-operator-master-e2e-aws-gatewayapi-conformance openshift/cluster-ingress-operator presubmit Ci-operator config changed
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.

@alebedev87
Copy link
Contributor Author

/pj-rehearse ack

The PR was rebased from master, no changes to the contents since the last rehearsal.

@openshift-ci-robot
Copy link
Contributor

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

@openshift-ci-robot openshift-ci-robot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label May 13, 2025
- name: result-aggregator
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )e2e-aws-gatewayapi,?($|\s.*)
- agent: kubernetes
always_run: false
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just noted that thealways_run is not updated by make jobs, after updating the always_run: to true manually then run make jobs again and it also doesn't revert the change. Looks something wrong with make jobs and we might need to update the field manually for e2e-aws-gatewayapi-conformance job.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, seems like TP noticed this problem too. Once the fix for the ci-tools is merged they'll follow up with a PR which updates all impacted presubmits.

Unfortunately I cannot do much here because the presubmits for this PR will fail if I'll manually change the value to always_run: true in the job definition. I'll let TP fix this in #64342.

@lihongan
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 14, 2025
Copy link
Contributor

openshift-ci bot commented May 14, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alebedev87, candita, lihongan

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

The pull request process is described here

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

Copy link
Contributor

openshift-ci bot commented May 14, 2025

@alebedev87: all tests passed!

Full PR test history. Your PR dashboard.

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.

@openshift-merge-bot openshift-merge-bot bot merged commit 4fc6678 into openshift:master May 14, 2025
15 checks passed
tbuskey pushed a commit to tbuskey/release that referenced this pull request May 19, 2025
* cluster-ingress-operator: GatewayAPI support is now GA

`GatewayAPI` and `GatewayAPIController` feature gates have been
promoted to GA, making Gateway API support part of the default feature set.
This commit removes `e2e-aws-gatewayapi` job because the gateway API tests
are now part of the operator test jobs. Also it removes TechPreviewNoUpgrade
feature set from `e2e-aws-gatewayapi-conformance` job.

* cluster-ingress-operator: Always run e2e-aws-gatewayapi-conformance

Enable continuous testing of the Gateway API implementation.
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. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants