Description:
When the parent reference in a Route object (on both HTTPRoute and TLSRoute), is updated
to point to a non-existing gateway, the Route parent condition is not updated properly
Repro steps:
- apply
examples/kubernetes/quickstart.yaml - ensure that Gateway has proper Status conditions, with 1 listener condition
showing attachedRoutes: 1. Ensure that the HTTPRoute also has proper Parent Condition present. The httproute parent condition might look something like this
status:
parents:
- conditions:
- lastTransitionTime: "2022-12-03T07:23:33Z"
message: Route is accepted
observedGeneration: 1
reason: Accepted
status: "True"
type: Accepted
controllerName: gateway.envoyproxy.io/gatewayclass-controller
parentRef:
group: gateway.networking.k8s.io
kind: Gateway
name: eg
- Now edit the HTTPRoute to point to a non-existing Gateway i.e.
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: eg1
Observation
While the Gateway status properly specifies the attachedRoutes: 0, the HTTPRoute on the other hand shows - what appears to be a stale parent condition. i.e.
status:
parents:
- conditions:
- lastTransitionTime: "2022-12-03T07:23:33Z"
message: Route is accepted
observedGeneration: 1
reason: Accepted
status: "True"
type: Accepted
controllerName: gateway.envoyproxy.io/gatewayclass-controller
parentRef:
group: gateway.networking.k8s.io
kind: Gateway
name: eg
Which is the same as seen earlier.
Note that the HTTPRoute now has no mention of Gateway eg as we changed the reference to eg1, but still the Condition shows a condition that was filled earlier, while it was connected to Gateway eg.
Description:
When the parent reference in a Route object (on both HTTPRoute and TLSRoute), is updated
to point to a non-existing gateway, the Route parent condition is not updated properly
Repro steps:
examples/kubernetes/quickstart.yaml- ensure that Gateway has proper Status conditions, with 1 listener conditionshowing
attachedRoutes: 1. Ensure that the HTTPRoute also has proper Parent Condition present. The httproute parent condition might look something like thisObservation
While the Gateway status properly specifies the
attachedRoutes: 0, the HTTPRoute on the other hand shows - what appears to be a stale parent condition. i.e.Which is the same as seen earlier.
Note that the HTTPRoute now has no mention of Gateway
egas we changed the reference toeg1, but still the Condition shows a condition that was filled earlier, while it was connected to Gatewayeg.