From c7ef8db086afb29f33cc3f82f94c83a7522aee38 Mon Sep 17 00:00:00 2001 From: "update-envoy[bot]" <135279899+update-envoy[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 03:40:57 +0000 Subject: [PATCH] Add `ClientSideWeightedRoundRobin` LB Policy. (#35905) Commit Message: - Add `ClientSideWeightedRoundRobinLoadBalancer`. - Attach `ClientSideHostLbPolicyData` to each `Host`. - Add `OrcaLoadReportCallbacks` callback to each `LoadBalancerContext`. - Calculate weights in `Host::ClientSideHostLbPolicyData` based on OrcaLoadReport. - Periodically update `Host::weight` for load balancing using calculated weights. - Add `host` reference to `OrcaLoadReportCallbacks::onOrcaLoadReport` callback. Risk Level: low Testing: `bazel test //test/extensions/load_balancing_policies/client_side_weighted_round_robin/...` Docs Changes: n/a Release Notes: n/a Platform Specific Features: n/a #34777 --------- Signed-off-by: Misha Efimov Mirrored from https://github.com/envoyproxy/envoy @ 89d485de2bdf741e4c010eccad9539db18e61202 --- BUILD | 1 + .../v3/client_side_weighted_round_robin.proto | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/BUILD b/BUILD index d31540adc..096373e79 100644 --- a/BUILD +++ b/BUILD @@ -276,6 +276,7 @@ proto_library( "//envoy/extensions/internal_redirect/previous_routes/v3:pkg", "//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg", "//envoy/extensions/key_value/file_based/v3:pkg", + "//envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3:pkg", "//envoy/extensions/load_balancing_policies/cluster_provided/v3:pkg", "//envoy/extensions/load_balancing_policies/common/v3:pkg", "//envoy/extensions/load_balancing_policies/least_request/v3:pkg", diff --git a/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto b/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto index 7ad46a56d..9520f6dbd 100644 --- a/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto +++ b/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto @@ -15,7 +15,7 @@ option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/loa option (udpa.annotations.file_status).package_version_status = ACTIVE; // [#protodoc-title: Client-Side Weighted Round Robin Load Balancing Policy] -// [#not-implemented-hide:] +// [#extension: envoy.load_balancing_policies.client_side_weighted_round_robin] // Configuration for the client_side_weighted_round_robin LB policy. //