Skip to content

Conversation

zetxqx
Copy link
Contributor

@zetxqx zetxqx commented Oct 12, 2025

What type of PR is this?

/area conformance-test
/kind cleanup

What this PR does / why we need it:

With the new gateway-api v1.4.0 released, some utility functions can be used to replace some duplication in the conformance tests. Key things leveraged:

  1. now we can use utilities from gateway to send request with a body. using MakeRequestAndExpectEventuallyConsistentResponse
  2. in expected response it can accept multiple status codes so we don't need the status wild card matching we have before.

Which issue(s) this PR fixes:

Fixes #1031

Tested against gkegateway:

--- PASS: TestConformance (680.70s)
    --- PASS: TestConformance/EppUnAvailableFailOpen (105.51s)
        --- PASS: TestConformance/EppUnAvailableFailOpen/Phase_1:_Verify_baseline_connectivity_with_EPP_available (81.26s)
        --- PASS: TestConformance/EppUnAvailableFailOpen/Phase_2:_Verify_fail-open_behavior_after_EPP_becomes_unavailable (0.65s)
    --- PASS: TestConformance/GatewayFollowingEPPRouting (116.99s)
        --- PASS: TestConformance/GatewayFollowingEPPRouting/should_route_traffic_to_a_single_designated_pod (0.81s)
        --- PASS: TestConformance/GatewayFollowingEPPRouting/should_route_traffic_to_two_designated_pods (0.80s)
        --- PASS: TestConformance/GatewayFollowingEPPRouting/should_route_traffic_to_all_available_pods (0.81s)
    --- PASS: TestConformance/HTTPRouteInvalidInferencePoolRef (34.43s)
        --- PASS: TestConformance/HTTPRouteInvalidInferencePoolRef/HTTPRoute_should_have_Accepted=True_and_ResolvedRefs=False_for_non-existent_InferencePool (34.10s)
    --- PASS: TestConformance/HTTPRouteMultipleGatewaysDifferentPools (83.56s)
        --- PASS: TestConformance/HTTPRouteMultipleGatewaysDifferentPools/Primary_HTTPRoute,_InferencePool,_and_Gateway_path:_verify_status_and_traffic (65.22s)
        --- PASS: TestConformance/HTTPRouteMultipleGatewaysDifferentPools/Secondary_HTTPRoute,_InferencePool,_and_Gateway_path:_verify_status_and_traffic (17.81s)
    --- PASS: TestConformance/InferencePoolAccepted (0.38s)
        --- PASS: TestConformance/InferencePoolAccepted/InferencePool_should_have_Accepted_condition_set_to_True (0.05s)
    --- PASS: TestConformance/InferencePoolHTTPRoutePortValidation (66.17s)
        --- PASS: TestConformance/InferencePoolHTTPRoutePortValidation/Scenario_1:_HTTPRoute_backendRef_to_InferencePool_with_Port_Unspecified (64.47s)
        --- PASS: TestConformance/InferencePoolHTTPRoutePortValidation/Scenario_2:_HTTPRoute_backendRef_to_InferencePool_with_Port_Specified_and_Matching (0.50s)
        --- PASS: TestConformance/InferencePoolHTTPRoutePortValidation/Scenario_3:_HTTPRoute_backendRef_to_InferencePool_with_Port_Specified_and_Non-Matching._Request_still_passing_because_HTTP_Port_is_ignored_when_inferencePool_is_backendRef (0.42s)
    --- PASS: TestConformance/InferencePoolInvalidEPPService (56.72s)
        --- PASS: TestConformance/InferencePoolInvalidEPPService/InferencePool_has_a_ResolvedRefs_Condition_with_status_False (0.05s)
        --- PASS: TestConformance/InferencePoolInvalidEPPService/Request_to_a_route_with_an_invalid_backend_reference_receives_a_500_response (23.95s)
    --- PASS: TestConformance/HTTPRouteMultipleRulesDifferentPools (66.76s)
        --- PASS: TestConformance/HTTPRouteMultipleRulesDifferentPools/Wait_for_resources_to_be_accepted (31.35s)
        --- PASS: TestConformance/HTTPRouteMultipleRulesDifferentPools/Traffic_should_be_routed_to_the_correct_pool_based_on_path (35.06s)
            --- PASS: TestConformance/HTTPRouteMultipleRulesDifferentPools/Traffic_should_be_routed_to_the_correct_pool_based_on_path/request_to_primary_pool (34.78s)
            --- PASS: TestConformance/HTTPRouteMultipleRulesDifferentPools/Traffic_should_be_routed_to_the_correct_pool_based_on_path/request_to_secondary_pool (0.23s)
    --- PASS: TestConformance/InferencePoolResolvedRefsCondition (144.97s)
        --- PASS: TestConformance/InferencePoolResolvedRefsCondition/InferencePool_should_show_Accepted:True_by_parents_and_be_routable_via_multiple_HTTPRoutes (26.42s)
        --- PASS: TestConformance/InferencePoolResolvedRefsCondition/Delete_httproute-for-primary-gw_and_verify_InferencePool_status_and_routing_via_secondary_gw (42.29s)
        --- PASS: TestConformance/InferencePoolResolvedRefsCondition/Delete_httproute-for-secondary-gw_and_verify_InferencePool_has_no_parent_statuses_and_is_not_routable (25.39s)

Does this PR introduce a user-facing change?:

NONE

@k8s-ci-robot k8s-ci-robot added area/conformance-test Issues or PRs related to Conformance tests. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Oct 12, 2025
Copy link

netlify bot commented Oct 12, 2025

Deploy Preview for gateway-api-inference-extension ready!

Name Link
🔨 Latest commit 752a67d
🔍 Latest deploy log https://app.netlify.com/projects/gateway-api-inference-extension/deploys/68ed65419974c400081a23a1
😎 Deploy Preview https://deploy-preview-1704--gateway-api-inference-extension.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Oct 12, 2025
@zetxqx
Copy link
Contributor Author

zetxqx commented Oct 12, 2025

@robscott @danehans can you help take a look?

@nirrozenbaum
Copy link
Contributor

This change lgtm.
leaving final stamp for our conformance masters 😃

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: nirrozenbaum, zetxqx

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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 13, 2025
@zetxqx
Copy link
Contributor Author

zetxqx commented Oct 13, 2025

/hold

This will need some rebase, waiting for other PRs to be merged.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 13, 2025
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. area/conformance-test Issues or PRs related to Conformance tests. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Conformance refactor: remove duplicate waitForConvergeToExpected logic and use the new released gateway-api library

3 participants