-
Notifications
You must be signed in to change notification settings - Fork 472
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
Use unique Listener hostnames in modify listeners tests #3220
base: main
Are you sure you want to change the base?
Use unique Listener hostnames in modify listeners tests #3220
Conversation
Not all implementations can support multiple Gateways with identical Listeners. This change ensure implmenetations that do not create separate control/data planes per Gateway and that do not merge Gateways can run this test. Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: sunjayBhatia 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 |
e.g. for https://github.com/vmware/load-balancer-and-ingress-services-for-kubernetes this test is a bit problematic without this type of change |
SGTM, would like one of the other conformance reviewers to check though. |
As a bit of clarification on my terminology in the rest of this comment, I consider anything where Gateways are sharing the same underlying dataplane to be a form of Gateway merging. I think you're referring to the ability to merge overlapping Listeners together as merging, which is a smaller subset than what I'm referring to when I say "Gateway merging". I'm not really sure about this one, we should likely discuss it at the next community meeting. In general, I think Gateways are intended to be isolated by default, and should only be merged if some kind of opt-in occurs. This feels like it's really pushing back against one of the fundamental ideas/promises of Gateway API - that by default a Gateway should represent a separate data plane. Of course there are some use cases where users may want to merge Gateways together (#3213), and the API leaves some room for that. At the same time I'm not sure we want that optional feature to lead to weaker guarantees from the API about what it means to be a conformant implementation. |
This one seems like it could use more discussion, adding to agenda for next week's community meeting. |
/cc |
Following up on today's meeting; gateway-api/apis/v1/gateway_types.go Lines 72 to 81 in 45ab52e
I understand it blocks implementation from being able to be conformant, however, with the current spec in place I actually feel like we need a dedicated test case to check that non-distinct listeners are not merged. This does not mean we cannot open the discussion on whether this spec needs a change, but I think its a separate discussion. |
Yeah I have no issue with there being an explicit test for "non-distinct" listeners etc. but I think it should itself be a distinct test from the Gateway modify listener test that is being modified here |
Generally, the original conformance test may have needed a more universal viewpoint on listener merging (which we all agree is under specified) . The follow-up issue #1842 addressed some concerns but mentions that we still have open concerns in #1713. However, I notice that the second gateway has a second listener:
Isn't that enough to make this Gateway distinct, and not an "identical" Gateway? |
@sunjayBhatia: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. |
The Kubernetes project currently lacks enough active contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
What type of PR is this?
/kind cleanup
/area conformance
What this PR does / why we need it:
Not all implementations can support multiple Gateways with identical Listeners. This change ensure implementations that do not create separate control/data planes per Gateway and that do not merge Gateways can run this test.
Which issue(s) this PR fixes:
N/A
Does this PR introduce a user-facing change?: