-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
gateway-api: Skip reconciliation for non-matching controller routes #25549
Conversation
74eaeb9
to
1ab95fa
Compare
6eb88a1
to
9fff818
Compare
b38e9fe
to
fc32d36
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small nit about log levels, but aside from that LGTM.
This commit is to make sure that only gateways matching cilium pre-defined controller are re-queued for reconciliation. Similar logic is applied for HTTPRoute as well i.e. ignore HTTPRoute if there is no parent matching cilium controller Testing was done with the below spec, the expected behavior is no-op as the controllerName of GatewayClass of Gateway of underlying HTTPRoute is not same as pre-defined cilium controller name value (e.g. io.cilium-gateway-controller) ```yaml apiVersion: gateway.networking.k8s.io/v1beta1 kind: GatewayClass metadata: name: cilium spec: controllerName: io.cilium/gateway-controller-non-matching --- apiVersion: gateway.networking.k8s.io/v1beta1 kind: Gateway metadata: name: my-gateway spec: gatewayClassName: cilium listeners: - protocol: HTTP port: 80 name: prod-web-gw allowedRoutes: namespaces: from: Same --- apiVersion: gateway.networking.k8s.io/v1beta1 kind: HTTPRoute metadata: name: http-app-1 spec: parentRefs: - name: my-gateway namespace: default rules: - matches: - path: type: PathPrefix value: /details backendRefs: - name: details port: 9080 ``` Reported-by: Karsten Nielsen <karsten.nielsen@ingka.ikea.com> Signed-off-by: Tam Mach <tam.mach@cilium.io>
fc32d36
to
0b7c29d
Compare
/test Job 'Cilium-PR-K8s-1.26-kernel-net-next' failed: Click to show.Test Name
Failure Output
Jenkins URL: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.26-kernel-net-next/85/ If it is a flake and a GitHub issue doesn't already exist to track it, comment Then please upload the Jenkins artifacts to that issue. |
/test-runtime |
/test-1.26-net-next Job 'Cilium-PR-K8s-1.26-kernel-net-next' failed: Click to show.Test Name
Failure Output
Jenkins URL: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.26-kernel-net-next/133/ If it is a flake and a GitHub issue doesn't already exist to track it, comment Then please upload the Jenkins artifacts to that issue. |
/mlh new-flake Cilium-PR-K8s-1.26-kernel-net-next 👍 created #25652 |
Required review is in, hitting a flake for high-scale ipcache tracked in #25652. Marking this ready to merge. |
This commit is to make sure that only gateways matching cilium pre-defined controller are re-queued for reconciliation.
Testing was done with the below spec, the expected behavior is no-op as the controllerName of GatewayClass of Gateway of underlying HTTPRoute is not same as pre-defined cilium controller name value (e.g. io.cilium-gateway-controller)
Status of resources