Make over provisioning factor configurable (#4003)

Description:
Add over-provisioning-factor to EDS proto.
Add a over_provisioning_factor() method for HostSet class.

Risk Level: Medium
Testing: Unit tests.
Docs Changes: inline
#3222

Signed-off-by: Xin Zhuang <stevenzzz@google.com>

Mirrored from https://github.com/envoyproxy/envoy @ 8c189a5521eb7da6c4976afb095356b549d9c1ca
pull/620/head
data-plane-api(CircleCI) 7 years ago
parent b48f499aa2
commit 77d13eacf7
  1. 12
      envoy/api/v2/eds.proto

@ -12,6 +12,7 @@ import "google/api/annotations.proto";
import "validate/validate.proto";
import "gogoproto/gogo.proto";
import "google/protobuf/wrappers.proto";
option (gogoproto.equal_all) = true;
@ -80,6 +81,17 @@ message ClusterLoadAssignment {
// "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
// actual_outgoing_load = 20% // remaining after applying all categories.
repeated DropOverload drop_overloads = 2;
// Priority levels and localities are considered overprovisioned with this
// factor (in percentage). This means that we don't consider a priority
// level or locality unhealthy until the percentage of healthy hosts
// multiplied by the overprovisioning factor drops below 100.
// With the default value 140(1.4), Envoy doesn't consider a priority level
// or a locality unhealthy until their percentage of healthy hosts drops
// below 72%.
// Read more at :ref:`priority levels <arch_overview_load_balancing_priority_levels>` and
// :ref:`localities <arch_overview_load_balancing_locality_weighted_lb>`.
google.protobuf.UInt32Value overprovisioning_factor = 3 [(validate.rules).uint32.gt = 0];
}
// Load balancing policy settings.

Loading…
Cancel
Save