mirror of https://github.com/grpc/grpc-go.git
xds/client: NACK ringhash lb policy if env var is not set (#4707)
This commit is contained in:
parent
712e8d4f57
commit
0b372df5f4
|
@ -196,6 +196,9 @@ func (s) TestValidateCluster_Failure(t *testing.T) {
|
|||
oldAggregateAndDNSSupportEnv := env.AggregateAndDNSSupportEnv
|
||||
env.AggregateAndDNSSupportEnv = true
|
||||
defer func() { env.AggregateAndDNSSupportEnv = oldAggregateAndDNSSupportEnv }()
|
||||
oldRingHashSupport := env.RingHashSupport
|
||||
env.RingHashSupport = true
|
||||
defer func() { env.RingHashSupport = oldRingHashSupport }()
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
if update, err := validateClusterAndConstructClusterUpdate(test.cluster); err == nil {
|
||||
|
@ -413,6 +416,9 @@ func (s) TestValidateCluster_Success(t *testing.T) {
|
|||
oldAggregateAndDNSSupportEnv := env.AggregateAndDNSSupportEnv
|
||||
env.AggregateAndDNSSupportEnv = true
|
||||
defer func() { env.AggregateAndDNSSupportEnv = oldAggregateAndDNSSupportEnv }()
|
||||
oldRingHashSupport := env.RingHashSupport
|
||||
env.RingHashSupport = true
|
||||
defer func() { env.RingHashSupport = oldRingHashSupport }()
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
update, err := validateClusterAndConstructClusterUpdate(test.cluster)
|
||||
|
|
|
@ -586,6 +586,9 @@ func validateClusterAndConstructClusterUpdate(cluster *v3clusterpb.Cluster) (Clu
|
|||
case v3clusterpb.Cluster_ROUND_ROBIN:
|
||||
lbPolicy = nil // The default is round_robin, and there's no config to set.
|
||||
case v3clusterpb.Cluster_RING_HASH:
|
||||
if !env.RingHashSupport {
|
||||
return ClusterUpdate{}, fmt.Errorf("unexpected lbPolicy %v in response: %+v", cluster.GetLbPolicy(), cluster)
|
||||
}
|
||||
rhc := cluster.GetRingHashLbConfig()
|
||||
if rhc.GetHashFunction() != v3clusterpb.Cluster_RingHashLbConfig_XX_HASH {
|
||||
return ClusterUpdate{}, fmt.Errorf("unsupported ring_hash hash function %v in response: %+v", rhc.GetHashFunction(), cluster)
|
||||
|
|
Loading…
Reference in New Issue