Skip to content

Commit b07bf5d

Browse files
authored
cdsbalancer: test cleanup part 1/N (#6546)
1 parent 33f9fa2 commit b07bf5d

File tree

6 files changed

+953
-549
lines changed

6 files changed

+953
-549
lines changed

internal/testutils/xds/e2e/clientresources.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,9 @@ type ClusterOptions struct {
460460
Policy LoadBalancingPolicy
461461
// SecurityLevel determines the security configuration for the Cluster.
462462
SecurityLevel SecurityLevel
463+
// EnableLRS adds a load reporting configuration with a config source
464+
// pointing to self.
465+
EnableLRS bool
463466
}
464467

465468
// ClusterResourceWithOptions returns an xDS Cluster resource configured with
@@ -521,6 +524,13 @@ func ClusterResourceWithOptions(opts ClusterOptions) *v3clusterpb.Cluster {
521524
},
522525
}
523526
}
527+
if opts.EnableLRS {
528+
cluster.LrsServer = &v3corepb.ConfigSource{
529+
ConfigSourceSpecifier: &v3corepb.ConfigSource_Self{
530+
Self: &v3corepb.SelfConfigSource{},
531+
},
532+
}
533+
}
524534
return cluster
525535
}
526536

resolver/manual/manual.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ import (
2929
// NewBuilderWithScheme creates a new test resolver builder with the given scheme.
3030
func NewBuilderWithScheme(scheme string) *Resolver {
3131
return &Resolver{
32-
BuildCallback: func(resolver.Target, resolver.ClientConn, resolver.BuildOptions) {},
33-
ResolveNowCallback: func(resolver.ResolveNowOptions) {},
34-
CloseCallback: func() {},
35-
scheme: scheme,
32+
BuildCallback: func(resolver.Target, resolver.ClientConn, resolver.BuildOptions) {},
33+
UpdateStateCallback: func(error) {},
34+
ResolveNowCallback: func(resolver.ResolveNowOptions) {},
35+
CloseCallback: func() {},
36+
scheme: scheme,
3637
}
3738
}
3839

@@ -42,6 +43,11 @@ type Resolver struct {
4243
// BuildCallback is called when the Build method is called. Must not be
4344
// nil. Must not be changed after the resolver may be built.
4445
BuildCallback func(resolver.Target, resolver.ClientConn, resolver.BuildOptions)
46+
// UpdateStateCallback is called when the UpdateState method is called on
47+
// the resolver. The value passed as argument to this callback is the value
48+
// returned by the resolver.ClientConn. Must not be nil. Must not be
49+
// changed after the resolver may be built.
50+
UpdateStateCallback func(err error)
4551
// ResolveNowCallback is called when the ResolveNow method is called on the
4652
// resolver. Must not be nil. Must not be changed after the resolver may
4753
// be built.
@@ -93,8 +99,9 @@ func (r *Resolver) Close() {
9399
// UpdateState calls CC.UpdateState.
94100
func (r *Resolver) UpdateState(s resolver.State) {
95101
r.mu.Lock()
96-
r.CC.UpdateState(s)
102+
err := r.CC.UpdateState(s)
97103
r.mu.Unlock()
104+
r.UpdateStateCallback(err)
98105
}
99106

100107
// ReportError calls CC.ReportError.

xds/internal/balancer/cdsbalancer/cdsbalancer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ func (b *cdsBalancer) handleWatchUpdate(update clusterHandlerUpdate) {
381381

382382
var sc serviceconfig.LoadBalancingConfig
383383
if sc, err = b.crParser.ParseConfig(crLBCfgJSON); err != nil {
384-
b.logger.Errorf("cds_balancer: cluster_resolver config generated %v is invalid: %v", crLBCfgJSON, err)
384+
b.logger.Errorf("cds_balancer: cluster_resolver config generated %v is invalid: %v", string(crLBCfgJSON), err)
385385
return
386386
}
387387

0 commit comments

Comments
 (0)