-
Notifications
You must be signed in to change notification settings - Fork 704
chore: Set accepted condition as true when failed to resolve backends #6081
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
Changes from all commits
618f8be
b0a8de8
ecdf5ba
256c23d
41b0053
9ba30fb
e702401
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -73,9 +73,9 @@ udpRoutes: | |
| parents: | ||
| - conditions: | ||
| - lastTransitionTime: null | ||
| message: UDP Port 8080 not found on Service default/service-1 | ||
| reason: Failed to process the settings associated with the UDP route. | ||
| status: "False" | ||
| message: Route is accepted | ||
| reason: Accepted | ||
| status: "True" | ||
| type: Accepted | ||
| - lastTransitionTime: null | ||
| message: UDP Port 8080 not found on Service default/service-1 | ||
|
|
@@ -100,3 +100,11 @@ xdsIR: | |
| - address: 0.0.0.0 | ||
| name: envoy-gateway/gateway-1/udp | ||
| port: 10162 | ||
| route: | ||
| destination: | ||
| metadata: | ||
| kind: UDPRoute | ||
| name: udproute-1 | ||
| namespace: default | ||
| name: udproute/default/udproute-1/rule/-1 | ||
| name: udproute/default/udproute-1 | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For HTTPRoute, we generate a route with a 500 direct response for routes with failed backends. However, there's no similar mechanism for UDP/TCP/TLS Route.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can you plug this IR into xds translator test so we can see what this inconsistent state looks like ?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a test in the xDS - it'll generate a cluster without endpoints. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # UDP route with no endpoints, this will happen when the Gateway API translator failed to resolve the backendRefs | ||
| udp: | ||
| - name: "udp-route" | ||
| address: "0.0.0.0" | ||
| port: 10162 | ||
| route: | ||
| destination: | ||
| metadata: | ||
| kind: UDPRoute | ||
| name: udproute-1 | ||
| namespace: default | ||
| name: udproute/default/udproute-1/rule/-1 | ||
| name: udproute/default/udproute-1 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| - circuitBreakers: | ||
| thresholds: | ||
| - maxRetries: 1024 | ||
| commonLbConfig: | ||
| localityWeightedLbConfig: {} | ||
| connectTimeout: 10s | ||
| dnsLookupFamily: V4_PREFERRED | ||
| edsClusterConfig: | ||
| edsConfig: | ||
| ads: {} | ||
| resourceApiVersion: V3 | ||
| serviceName: udproute/default/udproute-1/rule/-1 | ||
| ignoreHealthOnHostRemoval: true | ||
| lbPolicy: LEAST_REQUEST | ||
| metadata: | ||
| filterMetadata: | ||
| envoy-gateway: | ||
| resources: | ||
| - kind: UDPRoute | ||
| name: udproute-1 | ||
| namespace: default | ||
| name: udproute/default/udproute-1/rule/-1 | ||
| perConnectionBufferLimitBytes: 32768 | ||
| type: EDS |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| - clusterName: udproute/default/udproute-1/rule/-1 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| - address: | ||
| socketAddress: | ||
| address: 0.0.0.0 | ||
| portValue: 10162 | ||
| protocol: UDP | ||
| listenerFilters: | ||
| - name: envoy.filters.udp_listener.udp_proxy | ||
| typedConfig: | ||
| '@type': type.googleapis.com/envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig | ||
| matcher: | ||
| onNoMatch: | ||
| action: | ||
| name: route | ||
| typedConfig: | ||
| '@type': type.googleapis.com/envoy.extensions.filters.udp.udp_proxy.v3.Route | ||
| cluster: udproute/default/udproute-1/rule/-1 | ||
| statPrefix: service | ||
| name: udp-route |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| [] |
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.
TBH, the prev one is better for debuging.
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.
We still get the
UDP Port 8080 not found on Service default/service-1message in theResolvedRefscondition.