Repository navigation
fix: implement quota-aware backend failover with Envoy host allowlist routing - #2953
Open
AyushSawant18588 wants to merge 8 commits into
Open
AyushSawant18588 wants to merge 8 commits into
AyushSawant18588 wants to merge 8 commits into
Conversation
Signed-off-by: Ayush Sawant <ayush.sawant@nutanix.com>
✅ Deploy Preview for theagentrouter canceled.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…error Signed-off-by: Ayush Sawant <ayush.sawant@nutanix.com>
Signed-off-by: Ayush Sawant <ayush.sawant@nutanix.com>
Signed-off-by: Ayush Sawant <ayush.sawant@nutanix.com>
Signed-off-by: Ayush Sawant <ayush.sawant@nutanix.com>
| continue | ||
| } | ||
| var group *endpointv3.LocalityLbEndpoints | ||
| if cluster.LoadAssignment != nil && lbEndpointIndex < len(cluster.LoadAssignment.Endpoints) { |
Contributor
There was a problem hiding this comment.
use GetLoadAssignment fn
Contributor
Author
There was a problem hiding this comment.
made the change
| continue | ||
| } | ||
| namespace := backendRef.GetNamespace(info.namespace) | ||
| for _, endpoint := range group.LbEndpoints { |
Contributor
There was a problem hiding this comment.
use GetLbEndpoints fn
Contributor
Author
There was a problem hiding this comment.
made the change
| // resolveClusterRule parses a cluster name and fetches the corresponding AIGatewayRoute rule. | ||
| // Cluster name format: "httproute/{namespace}/{routeName}/rule/{ruleIndex}" | ||
| func (s *Server) resolveClusterRule(ctx context.Context, clusterName string) *clusterRouteInfo { | ||
| parts := strings.Split(clusterName, "/") |
Contributor
There was a problem hiding this comment.
this cluster parsing is incomplete, refer to parseAIGatewayClusterName from post_translate_modify.go
Contributor
There was a problem hiding this comment.
Can be taken up in next PR
Contributor
Author
There was a problem hiding this comment.
Yes, will take up handling of other cluster types in a separate PR
Signed-off-by: Ayush Sawant <ayush.sawant@nutanix.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR implements quota-aware backend failover for AI Gateway routes by connecting QuotaPolicy enforcement across AI Gateway, the rate limit service, and Envoy.
The Agent Router now:
These changes integrate with the related upstream component work:
The changes also add multi-backend quota failover manifests and update the e2e RLS image to the upstream build containing the required quota metadata behavior.
Envoy Ratelimit PR: envoyproxy/ratelimit#1243, envoyproxy/ratelimit#1295
Envoy PR #47805: envoyproxy/envoy#47805