Skip to content

Commit

Permalink
Ensure LB policy set for locality-aware routing (CE)
Browse files Browse the repository at this point in the history
`overprovisioningFactor` should be overridden with the expected value
(100,000) when there are multiple endpoint groups. Update code and
tests to enforce this.

This is an Enterprise feature. This commit represents the CE portions of
the change; tests are added in the corresponding `consul-enterprise`
change.
  • Loading branch information
zalimeni committed Oct 18, 2023
1 parent a94c013 commit a2de591
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions agent/xds/endpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -880,13 +880,7 @@ func makeLoadAssignment(logger hclog.Logger, cfgSnap *proxycfg.ConfigSnapshot, c
Endpoints: make([]*envoy_endpoint_v3.LocalityLbEndpoints, 0, len(endpointGroups)),
}

if len(endpointGroups) > 1 {
cla.Policy = &envoy_endpoint_v3.ClusterLoadAssignment_Policy{
// We choose such a large value here that the failover math should
// in effect not happen until zero instances are healthy.
OverprovisioningFactor: response.MakeUint32Value(100000),
}
}
setFullFailoverProvisioningFactor := len(endpointGroups) > 1

var priority uint32

Expand All @@ -897,6 +891,10 @@ func makeLoadAssignment(logger hclog.Logger, cfgSnap *proxycfg.ConfigSnapshot, c
continue
}

if len(endpointsByLocality) > 1 {
setFullFailoverProvisioningFactor = true
}

for _, endpoints := range endpointsByLocality {
es := make([]*envoy_endpoint_v3.LbEndpoint, 0, len(endpointGroup.Endpoints))

Expand Down Expand Up @@ -930,6 +928,14 @@ func makeLoadAssignment(logger hclog.Logger, cfgSnap *proxycfg.ConfigSnapshot, c
}
}

if setFullFailoverProvisioningFactor {
cla.Policy = &envoy_endpoint_v3.ClusterLoadAssignment_Policy{
// We choose such a large value here that the failover math should
// in effect not happen until zero instances are healthy.
OverprovisioningFactor: response.MakeUint32Value(100000),
}
}

return cla
}

Expand Down

0 comments on commit a2de591

Please sign in to comment.