-
Notifications
You must be signed in to change notification settings - Fork 192
[WIP][Reference] E2E test setup for multiport case #1864
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
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for gateway-api-inference-extension ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: RyanRosario The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Welcome @RyanRosario! |
|
Hi @RyanRosario. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the 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. |
|
General workflow/thoughts based on a lot of reading. Note that this need a lot of refactoring on my end, but I am submitting to show progress and also get assistance. BeforeEach:
The rest of the test attempts to send messages to each port and makes sure that it receives the proper response. |
|
I think this needs a completely different approach. InferencePool already has support for multi port. Users may or may not use it but both use cases are supported. I think the goal should be to modify verifyTrafficRouting() and verifyMetrics() rather than create an entirely new test. Thus, my approach is:
|
|
More thoughts here. It seems Envoy handles the routing. Fire, say, 10 requests and look for a response from the backend. However, the backend simply responds with JSON and HTTP header. We can add a custom header to the HTTP response containing the backend port that handled the request: This means the container that responds to the HTTP request must respond with this header so that image must be rebuilt. This should not break the standard/classic single port pool. |
What type of PR is this?
What this PR does / why we need it:
This tests a new setup involving multiple ports per pod and routing traffic to to each virtual pod.
Which issue(s) this PR fixes:
Fixes #1663
Does this PR introduce a user-facing change?: