Skip to content

Conversation

SinaChavoshi
Copy link
Contributor

@SinaChavoshi SinaChavoshi commented May 22, 2025

This PR enhances the InferencePoolResolvedRefsCondition conformance test to add end-to-end request validation.

Key changes include:

  • Switched the backend from agnhost to the standard Gateway API echo-basic server ( leveraging the image from gateway project).
  • Updated the echoserver deployment with a stable image tag, corrected port (3000), and injected POD_NAME/NAMESPACE environment variables for accurate request detail reporting.
  • Refactored the Go test to use standard Gateway API HTTP utilities (gwhttp.MakeRequestAndExpectEventuallyConsistentResponse).
  • Enabled assertions for Host and Path as received by the backend, now feasible with the new echoserver.

Test results from local run on commit f956a09

go test -v ./conformance -args -debug     -gateway-class istio    -cleanup-base-resources=false -run-test InferencePoolResolvedRefsCondition
...
    apply.go:283: 2025-05-28T19:14:32.884490721Z: Deleting infra-backend-deployment Deployment
--- PASS: TestConformance (19.31s)
    --- SKIP: TestConformance/HTTPRouteInvalidInferencePoolRef (0.00s)
    --- SKIP: TestConformance/InferencePoolAccepted (0.00s)
    --- PASS: TestConformance/InferencePoolResolvedRefsCondition (15.53s)
        --- PASS: TestConformance/InferencePoolResolvedRefsCondition/InferencePool_should_show_Accepted:True_by_parents_and_be_routable_via_multiple_HTTPRoutes (5.85s)
        --- PASS: TestConformance/InferencePoolResolvedRefsCondition/Delete_httproute-for-gw1_and_verify_InferencePool_status_and_routing_via_gw2 (5.58s)
        --- PASS: TestConformance/InferencePoolResolvedRefsCondition/Delete_httproute-for-gw2_and_verify_InferencePool_has_no_parent_statuses_and_is_not_routable (1.41s)
PASS
ok      sigs.k8s.io/gateway-api-inference-extension/conformance 19.519s

Copy link

netlify bot commented May 22, 2025

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

Name Link
🔨 Latest commit c58befb
🔍 Latest deploy log https://app.netlify.com/projects/gateway-api-inference-extension/deploys/683774a56399dd0008a8906d
😎 Deploy Preview https://deploy-preview-866--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 requested review from Jeffwan and liu-cong May 22, 2025 22:17
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels May 22, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @SinaChavoshi. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 22, 2025
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels May 22, 2025
@danehans
Copy link
Contributor

@SinaChavoshi can you rebase when you have a moment?

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 27, 2025
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 27, 2025
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels May 27, 2025
@ahg-g
Copy link
Contributor

ahg-g commented May 28, 2025

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels May 28, 2025
@SinaChavoshi
Copy link
Contributor Author

@SinaChavoshi can you rebase when you have a moment?

@danehans Done :)

Copy link
Contributor

@danehans danehans left a comment

Choose a reason for hiding this comment

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

The boilerplate header in conformance/utils/traffic/traffic.go was removed. Please add it back in a follow-up PR.

@danehans
Copy link
Contributor

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 28, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: danehans, SinaChavoshi

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 May 28, 2025
@k8s-ci-robot k8s-ci-robot merged commit a1b7f59 into kubernetes-sigs:main May 28, 2025
8 checks passed
@SinaChavoshi
Copy link
Contributor Author

boilerplate header

good catch! done #883

irar2 pushed a commit to irar2/gateway-api-inference-extension that referenced this pull request Jun 3, 2025
… E2E request validation (kubernetes-sigs#866)

* WIP tests for inferencepool_resolvedrefs_condition

* update condition check

* Add helper method for inf pool parrent status check

* update manifests

* update the test to match manifest

* fix yaml files.

* add SupportInferencePool

* Add a helper function for HTTPRouteMustBeAcceptedAndResolved

* Add a helper method InferencePoolMustBeAcceptedByParent

* add todo for ensure http requests are routed correctly kubernetes-sigs#865

* Add http tests

* update to use echo server instead

* fix echo server port.

* Add env var to include namespace and pod name for echo server resposne.

* factor out the common HTTPResponse builder

* shorten wait time

* remove extra space

* fix yaml formatting

* clean up yaml file remove white space and optional fields.

* change naming convention to primary secondary consistently.

* add helper method for "MakeRequestAndExpectNotFound/Success

* use config instead of inferenceconfig
shmuelk pushed a commit to shmuelk/gateway-api-inference-extension that referenced this pull request Jun 3, 2025
… E2E request validation (kubernetes-sigs#866)

* WIP tests for inferencepool_resolvedrefs_condition

* update condition check

* Add helper method for inf pool parrent status check

* update manifests

* update the test to match manifest

* fix yaml files.

* add SupportInferencePool

* Add a helper function for HTTPRouteMustBeAcceptedAndResolved

* Add a helper method InferencePoolMustBeAcceptedByParent

* add todo for ensure http requests are routed correctly kubernetes-sigs#865

* Add http tests

* update to use echo server instead

* fix echo server port.

* Add env var to include namespace and pod name for echo server resposne.

* factor out the common HTTPResponse builder

* shorten wait time

* remove extra space

* fix yaml formatting

* clean up yaml file remove white space and optional fields.

* change naming convention to primary secondary consistently.

* add helper method for "MakeRequestAndExpectNotFound/Success

* use config instead of inferenceconfig
rlakhtakia pushed a commit to rlakhtakia/gateway-api-inference-extension that referenced this pull request Jun 11, 2025
… E2E request validation (kubernetes-sigs#866)

* WIP tests for inferencepool_resolvedrefs_condition

* update condition check

* Add helper method for inf pool parrent status check

* update manifests

* update the test to match manifest

* fix yaml files.

* add SupportInferencePool

* Add a helper function for HTTPRouteMustBeAcceptedAndResolved

* Add a helper method InferencePoolMustBeAcceptedByParent

* add todo for ensure http requests are routed correctly kubernetes-sigs#865

* Add http tests

* update to use echo server instead

* fix echo server port.

* Add env var to include namespace and pod name for echo server resposne.

* factor out the common HTTPResponse builder

* shorten wait time

* remove extra space

* fix yaml formatting

* clean up yaml file remove white space and optional fields.

* change naming convention to primary secondary consistently.

* add helper method for "MakeRequestAndExpectNotFound/Success

* use config instead of inferenceconfig
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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants