You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description:
If we separate HTTPRoute into a central namespace and place all related backends into their respective namespaces, this will necessitate the use of a ReferenceGrant. In our scenario, we include a ReferenceGrant as part of each application deployment, that refers to its Kubernetes Service.
Everything seems working fine, but as soon as we add another application deployment in the existing namespace (that is contains an existing application with its ReferenceGrant), HTTPRoute starts showing an inconsistent status that shows Backend ref to service <namespace>/<service_name> not permitted by any ReferenceGrant.
Initial Finding:
We think this is because of inconsistent steps between these line of code:
For finding the reference of ReferenceGrant for the associated service.
The filtering mechanism only checks after the From spec, meaning, the first match with its From will be used. While on validation, it will check thoroughly on the To spec.
Repro steps:
Assuming you have deployed 3 services of Echoserver in the testing namespace.
Description:
If we separate
HTTPRoute
into a central namespace and place all related backends into their respective namespaces, this will necessitate the use of aReferenceGrant
. In our scenario, we include aReferenceGrant
as part of each application deployment, that refers to its Kubernetes Service.Everything seems working fine, but as soon as we add another application deployment in the existing namespace (that is contains an existing application with its
ReferenceGrant
), HTTPRoute starts showing an inconsistent status that showsBackend ref to service <namespace>/<service_name> not permitted by any ReferenceGrant
.Initial Finding:
We think this is because of inconsistent steps between these line of code:
For finding the reference of
ReferenceGrant
for the associated service.gateway/internal/provider/kubernetes/controller.go
Lines 496 to 504 in defed57
For validating when referring to
ReferenceGrant
for the HTTPRoute.gateway/internal/gatewayapi/validate.go
Lines 678 to 682 in defed57
The filtering mechanism only checks after the From spec, meaning, the first match with its
From
will be used. While on validation, it will check thoroughly on theTo
spec.Repro steps:
Assuming you have deployed 3 services of Echoserver in the
testing
namespace.Apply these
ReferenceGrant
manifests:Apply these for HTTPRoute manifests,
Environment:
v0.5.0 Envoy Gateway, but a similar code still exists in the recent version.
The text was updated successfully, but these errors were encountered: