Skip to content
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

Documenting Listener Isolation in Gateway Spec #2465

Merged

Conversation

robscott
Copy link
Member

@robscott robscott commented Oct 9, 2023

What type of PR is this?
/kind cleanup
/kind documentation

What this PR does / why we need it:
This PR is a follow up to #2416. It introduces a new concept called "Listener Isolation" to describe the recommendation that at most one Listener matches a request, and only Routes attached to that Listener are used for routing.

Originally I'd planned to consider this an "Extended" feature (see #2416 (comment)) but generally the idea of "Extended" and "Core" is per-field, not really a description of behavior. So instead I'm using "SHOULD" which per RFC-2119 is a recommendation and not a requirement. This does add the requirement that implementations that do not support Listener Isolation must document that.

Which issue(s) this PR fixes:
Related to #2416 but leaving open until conformance tests are present.

Does this PR introduce a user-facing change?:

Gateway: A new concept called "Listener Isolation" has been introduced to describe the recommendation that at most one Listener matches a request, and only Routes attached to that Listener are used for routing.

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. kind/documentation Categorizes issue or PR as related to documentation. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Oct 9, 2023
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: robscott

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 approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Oct 9, 2023
@youngnick
Copy link
Contributor

youngnick commented Oct 9, 2023

Actually, no, it's fine, I'll LGTM this.

@youngnick
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 9, 2023
@k8s-ci-robot k8s-ci-robot merged commit 5e000c2 into kubernetes-sigs:main Oct 9, 2023
8 checks passed
sunjayBhatia added a commit to sunjayBhatia/contour that referenced this pull request Feb 7, 2024
Requests should be "isolated" to the most specific Listener and it's
attached routes. This means our existing logic on finding intersecting
route and Listener hostnames needs an update to factor in the other
Listeners on a Gateway that the route in question may not actually be
attached to.

Fix for conformance test: kubernetes-sigs/gateway-api#2669

kubernetes-sigs/gateway-api#2465 for spec

Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
sunjayBhatia added a commit to sunjayBhatia/contour that referenced this pull request May 3, 2024
Requests should be "isolated" to the most specific Listener and it's
attached routes. This means our existing logic on finding intersecting
route and Listener hostnames needs an update to factor in the other
Listeners on a Gateway that the route in question may not actually be
attached to.

Fix for conformance test: kubernetes-sigs/gateway-api#2669

kubernetes-sigs/gateway-api#2465 for spec

Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
sunjayBhatia added a commit to sunjayBhatia/contour that referenced this pull request May 17, 2024
Requests should be "isolated" to the most specific Listener and it's
attached routes. This means our existing logic on finding intersecting
route and Listener hostnames needs an update to factor in the other
Listeners on a Gateway that the route in question may not actually be
attached to.

Fix for conformance test: kubernetes-sigs/gateway-api#2669

kubernetes-sigs/gateway-api#2465 for spec

Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
sunjayBhatia added a commit to projectcontour/contour that referenced this pull request May 17, 2024
Requests should be "isolated" to the most specific Listener and it's
attached routes. This means our existing logic on finding intersecting
route and Listener hostnames needs an update to factor in the other
Listeners on a Gateway that the route in question may not actually be
attached to.

Fix for conformance test: kubernetes-sigs/gateway-api#2669

kubernetes-sigs/gateway-api#2465 for spec

Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
sayboras added a commit to cilium/cilium that referenced this pull request Jun 6, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to cilium/cilium that referenced this pull request Jun 6, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to cilium/cilium that referenced this pull request Jun 7, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to cilium/cilium that referenced this pull request Jun 7, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to cilium/cilium that referenced this pull request Jun 7, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to cilium/cilium that referenced this pull request Jun 11, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to cilium/cilium that referenced this pull request Jun 11, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
sayboras added a commit to cilium/cilium that referenced this pull request Jun 13, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
github-merge-queue bot pushed a commit to cilium/cilium that referenced this pull request Jun 13, 2024
This commit is to support Listener Isolation concept from the upstream,
which allows at most one Listener matches a request, and only Routes
attached to that Listener are used for routing.

Relates: kubernetes-sigs/gateway-api#2465
Relates: kubernetes-sigs/gateway-api#3047
Signed-off-by: Tam Mach <tam.mach@cilium.io>
SamMHD pushed a commit to SamMHD/contour that referenced this pull request Sep 8, 2024
…r#6162)

Requests should be "isolated" to the most specific Listener and it's
attached routes. This means our existing logic on finding intersecting
route and Listener hostnames needs an update to factor in the other
Listeners on a Gateway that the route in question may not actually be
attached to.

Fix for conformance test: kubernetes-sigs/gateway-api#2669

kubernetes-sigs/gateway-api#2465 for spec

Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
Signed-off-by: Saman Mahdanian <saman@mahdanian.xyz>
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. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. kind/documentation Categorizes issue or PR as related to documentation. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants