mirror of https://github.com/grpc/grpc-go.git
xds: pass options by value to helper routines which setup the management server in tests (#5833)
This commit is contained in:
parent
638141fbb9
commit
aba03e1ab1
|
|
@ -104,18 +104,16 @@ type ManagementServerOptions struct {
|
||||||
// resource snapshot held by the management server, as required by the test
|
// resource snapshot held by the management server, as required by the test
|
||||||
// logic. When the test is done, it should call the Stop() method to cleanup
|
// logic. When the test is done, it should call the Stop() method to cleanup
|
||||||
// resources allocated by the management server.
|
// resources allocated by the management server.
|
||||||
func StartManagementServer(opts *ManagementServerOptions) (*ManagementServer, error) {
|
func StartManagementServer(opts ManagementServerOptions) (*ManagementServer, error) {
|
||||||
// Create a snapshot cache. The first parameter to NewSnapshotCache()
|
// Create a snapshot cache. The first parameter to NewSnapshotCache()
|
||||||
// controls whether the server should wait for all resources to be
|
// controls whether the server should wait for all resources to be
|
||||||
// explicitly named in the request before responding to any of them.
|
// explicitly named in the request before responding to any of them.
|
||||||
wait := opts == nil || !opts.AllowResourceSubset
|
wait := !opts.AllowResourceSubset
|
||||||
cache := v3cache.NewSnapshotCache(wait, v3cache.IDHash{}, serverLogger{})
|
cache := v3cache.NewSnapshotCache(wait, v3cache.IDHash{}, serverLogger{})
|
||||||
logger.Infof("Created new snapshot cache...")
|
logger.Infof("Created new snapshot cache...")
|
||||||
|
|
||||||
var lis net.Listener
|
lis := opts.Listener
|
||||||
if opts != nil && opts.Listener != nil {
|
if lis == nil {
|
||||||
lis = opts.Listener
|
|
||||||
} else {
|
|
||||||
var err error
|
var err error
|
||||||
lis, err = net.Listen("tcp", "localhost:0")
|
lis, err = net.Listen("tcp", "localhost:0")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -126,15 +124,12 @@ func StartManagementServer(opts *ManagementServerOptions) (*ManagementServer, er
|
||||||
// Cancelling the context passed to the server is the only way of stopping it
|
// Cancelling the context passed to the server is the only way of stopping it
|
||||||
// at the end of the test.
|
// at the end of the test.
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
callbacks := v3server.CallbackFuncs{}
|
callbacks := v3server.CallbackFuncs{
|
||||||
if opts != nil {
|
|
||||||
callbacks = v3server.CallbackFuncs{
|
|
||||||
StreamOpenFunc: opts.OnStreamOpen,
|
StreamOpenFunc: opts.OnStreamOpen,
|
||||||
StreamClosedFunc: opts.OnStreamClosed,
|
StreamClosedFunc: opts.OnStreamClosed,
|
||||||
StreamRequestFunc: opts.OnStreamRequest,
|
StreamRequestFunc: opts.OnStreamRequest,
|
||||||
StreamResponseFunc: opts.OnStreamResponse,
|
StreamResponseFunc: opts.OnStreamResponse,
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Create an xDS management server and register the ADS implementation
|
// Create an xDS management server and register the ADS implementation
|
||||||
// provided by it on a gRPC server.
|
// provided by it on a gRPC server.
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ import (
|
||||||
// - bootstrap contents to be used by the client
|
// - bootstrap contents to be used by the client
|
||||||
// - xDS resolver builder to be used by the client
|
// - xDS resolver builder to be used by the client
|
||||||
// - a cleanup function to be invoked at the end of the test
|
// - a cleanup function to be invoked at the end of the test
|
||||||
func SetupManagementServer(t *testing.T, opts *ManagementServerOptions) (*ManagementServer, string, []byte, resolver.Builder, func()) {
|
func SetupManagementServer(t *testing.T, opts ManagementServerOptions) (*ManagementServer, string, []byte, resolver.Builder, func()) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
|
|
||||||
// Spin up an xDS management server on a local port.
|
// Spin up an xDS management server on a local port.
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ func (s) TestClientResourceVersionAfterStreamRestart(t *testing.T) {
|
||||||
|
|
||||||
// Map from stream id to a map of resource type to resource version.
|
// Map from stream id to a map of resource type to resource version.
|
||||||
ackVersionsMap := make(map[int64]map[string]string)
|
ackVersionsMap := make(map[int64]map[string]string)
|
||||||
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, &e2e.ManagementServerOptions{
|
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{
|
||||||
Listener: lis,
|
Listener: lis,
|
||||||
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
||||||
// Return early under the following circumstances:
|
// Return early under the following circumstances:
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ func (s) TestClientSideAffinitySanityCheck(t *testing.T) {
|
||||||
return func() { envconfig.XDSRingHash = old }
|
return func() { envconfig.XDSRingHash = old }
|
||||||
}()()
|
}()()
|
||||||
|
|
||||||
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
port, cleanup2 := startTestService(t, nil)
|
port, cleanup2 := startTestService(t, nil)
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ func (s) TestClientSideFederation(t *testing.T) {
|
||||||
defer func() { envconfig.XDSFederation = oldXDSFederation }()
|
defer func() { envconfig.XDSFederation = oldXDSFederation }()
|
||||||
|
|
||||||
// Start a management server as the default authority.
|
// Start a management server as the default authority.
|
||||||
serverDefaultAuth, err := e2e.StartManagementServer(nil)
|
serverDefaultAuth, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
@ -62,7 +62,7 @@ func (s) TestClientSideFederation(t *testing.T) {
|
||||||
|
|
||||||
// Start another management server as the other authority.
|
// Start another management server as the other authority.
|
||||||
const nonDefaultAuth = "non-default-auth"
|
const nonDefaultAuth = "non-default-auth"
|
||||||
serverAnotherAuth, err := e2e.StartManagementServer(nil)
|
serverAnotherAuth, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ func startTestService(t *testing.T, server *stubserver.StubServer) (uint32, func
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s) TestClientSideXDS(t *testing.T) {
|
func (s) TestClientSideXDS(t *testing.T) {
|
||||||
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
port, cleanup2 := startTestService(t, nil)
|
port, cleanup2 := startTestService(t, nil)
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ import (
|
||||||
// Detection balancer. This test verifies that an RPC is able to proceed
|
// Detection balancer. This test verifies that an RPC is able to proceed
|
||||||
// normally with this configuration.
|
// normally with this configuration.
|
||||||
func (s) TestOutlierDetection_NoopConfig(t *testing.T) {
|
func (s) TestOutlierDetection_NoopConfig(t *testing.T) {
|
||||||
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
port, cleanup2 := startTestService(t, nil)
|
port, cleanup2 := startTestService(t, nil)
|
||||||
|
|
@ -166,7 +166,7 @@ func checkRoundRobinRPCs(ctx context.Context, client testpb.TestServiceClient, a
|
||||||
// the unhealthy upstream is ejected, RPC's should regularly round robin across
|
// the unhealthy upstream is ejected, RPC's should regularly round robin across
|
||||||
// all three upstreams.
|
// all three upstreams.
|
||||||
func (s) TestOutlierDetectionWithOutlier(t *testing.T) {
|
func (s) TestOutlierDetectionWithOutlier(t *testing.T) {
|
||||||
managementServer, nodeID, _, r, cleanup := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, _, r, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Working backend 1.
|
// Working backend 1.
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ func (s) TestClientSideRetry(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
port, cleanup2 := startTestService(t, ss)
|
port, cleanup2 := startTestService(t, ss)
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ func testRLSinxDS(t *testing.T, lbPolicy e2e.LoadBalancingPolicy) {
|
||||||
// Set up all components and configuration necessary - management server,
|
// Set up all components and configuration necessary - management server,
|
||||||
// xDS resolver, fake RLS Server, and xDS configuration which specifies an
|
// xDS resolver, fake RLS Server, and xDS configuration which specifies an
|
||||||
// RLS Balancer that communicates to this set up fake RLS Server.
|
// RLS Balancer that communicates to this set up fake RLS Server.
|
||||||
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
port, cleanup2 := startTestService(t, nil)
|
port, cleanup2 := startTestService(t, nil)
|
||||||
defer cleanup2()
|
defer cleanup2()
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ func (s) TestUnmarshalListener_WithUpdateValidatorFunc(t *testing.T) {
|
||||||
missingIdentityProviderInstance = "missing-identity-provider-instance"
|
missingIdentityProviderInstance = "missing-identity-provider-instance"
|
||||||
missingRootProviderInstance = "missing-root-provider-instance"
|
missingRootProviderInstance = "missing-root-provider-instance"
|
||||||
)
|
)
|
||||||
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
||||||
|
|
@ -324,7 +324,7 @@ func (s) TestUnmarshalCluster_WithUpdateValidatorFunc(t *testing.T) {
|
||||||
// SetupManagementServer() sets up a bootstrap file with certificate
|
// SetupManagementServer() sets up a bootstrap file with certificate
|
||||||
// provider instance names: `e2e.ServerSideCertProviderInstance` and
|
// provider instance names: `e2e.ServerSideCertProviderInstance` and
|
||||||
// `e2e.ClientSideCertProviderInstance`.
|
// `e2e.ClientSideCertProviderInstance`.
|
||||||
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, _, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
port, cleanup2 := startTestService(t, nil)
|
port, cleanup2 := startTestService(t, nil)
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ func hostPortFromListener(lis net.Listener) (string, uint32, error) {
|
||||||
// the client and the server. This results in both of them using the
|
// the client and the server. This results in both of them using the
|
||||||
// configured fallback credentials (which is insecure creds in this case).
|
// configured fallback credentials (which is insecure creds in this case).
|
||||||
func (s) TestServerSideXDS_Fallback(t *testing.T) {
|
func (s) TestServerSideXDS_Fallback(t *testing.T) {
|
||||||
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
||||||
|
|
@ -207,7 +207,7 @@ func (s) TestServerSideXDS_FileWatcherCerts(t *testing.T) {
|
||||||
}
|
}
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.name, func(t *testing.T) {
|
t.Run(test.name, func(t *testing.T) {
|
||||||
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
||||||
|
|
@ -277,7 +277,7 @@ func (s) TestServerSideXDS_FileWatcherCerts(t *testing.T) {
|
||||||
// configuration pointing to the use of the file_watcher plugin and we verify
|
// configuration pointing to the use of the file_watcher plugin and we verify
|
||||||
// that the same client is now able to successfully make an RPC.
|
// that the same client is now able to successfully make an RPC.
|
||||||
func (s) TestServerSideXDS_SecurityConfigChange(t *testing.T) {
|
func (s) TestServerSideXDS_SecurityConfigChange(t *testing.T) {
|
||||||
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ func (s) TestServerSideXDS_RouteConfiguration(t *testing.T) {
|
||||||
defer func() {
|
defer func() {
|
||||||
envconfig.XDSRBAC = oldRBAC
|
envconfig.XDSRBAC = oldRBAC
|
||||||
}()
|
}()
|
||||||
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
||||||
|
|
@ -605,7 +605,7 @@ func (s) TestRBACHTTPFilter(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.name, func(t *testing.T) {
|
t.Run(test.name, func(t *testing.T) {
|
||||||
func() {
|
func() {
|
||||||
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
||||||
|
|
@ -790,7 +790,7 @@ func (s) TestRBACToggledOn_WithBadRouteConfiguration(t *testing.T) {
|
||||||
envconfig.XDSRBAC = oldRBAC
|
envconfig.XDSRBAC = oldRBAC
|
||||||
}()
|
}()
|
||||||
|
|
||||||
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
||||||
|
|
@ -847,7 +847,7 @@ func (s) TestRBACToggledOff_WithBadRouteConfiguration(t *testing.T) {
|
||||||
envconfig.XDSRBAC = oldRBAC
|
envconfig.XDSRBAC = oldRBAC
|
||||||
}()
|
}()
|
||||||
|
|
||||||
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, resolver, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
lis, cleanup2 := setupGRPCServer(t, bootstrapContents)
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ import (
|
||||||
// change callback is not invoked and client connections to the server are not
|
// change callback is not invoked and client connections to the server are not
|
||||||
// recycled.
|
// recycled.
|
||||||
func (s) TestServerSideXDS_RedundantUpdateSuppression(t *testing.T) {
|
func (s) TestServerSideXDS_RedundantUpdateSuppression(t *testing.T) {
|
||||||
managementServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
creds, err := xdscreds.NewServerCredentials(xdscreds.ServerOptions{FallbackCreds: insecure.NewCredentials()})
|
creds, err := xdscreds.NewServerCredentials(xdscreds.ServerOptions{FallbackCreds: insecure.NewCredentials()})
|
||||||
|
|
@ -163,7 +163,7 @@ func (s) TestServerSideXDS_RedundantUpdateSuppression(t *testing.T) {
|
||||||
// xDS enabled gRPC servers. It verifies that appropriate mode changes happen in
|
// xDS enabled gRPC servers. It verifies that appropriate mode changes happen in
|
||||||
// the server, and also verifies behavior of clientConns under these modes.
|
// the server, and also verifies behavior of clientConns under these modes.
|
||||||
func (s) TestServerSideXDS_ServingModeChanges(t *testing.T) {
|
func (s) TestServerSideXDS_ServingModeChanges(t *testing.T) {
|
||||||
managementServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Configure xDS credentials to be used on the server-side.
|
// Configure xDS credentials to be used on the server-side.
|
||||||
|
|
|
||||||
|
|
@ -236,7 +236,7 @@ func commonSetup(ctx context.Context, t *testing.T) (xdsclient.XDSClient, *e2e.M
|
||||||
|
|
||||||
// Spin up a xDS management server on a local port.
|
// Spin up a xDS management server on a local port.
|
||||||
nodeID := uuid.New().String()
|
nodeID := uuid.New().String()
|
||||||
fs, err := e2e.StartManagementServer(nil)
|
fs, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ func clientEndpointsResource(nodeID, edsServiceName string, localities []localit
|
||||||
// 4. Replace the backend. Test verifies that all RPCs reach the new backend.
|
// 4. Replace the backend. Test verifies that all RPCs reach the new backend.
|
||||||
func (s) TestEDS_OneLocality(t *testing.T) {
|
func (s) TestEDS_OneLocality(t *testing.T) {
|
||||||
// Spin up a management server to receive xDS resources from.
|
// Spin up a management server to receive xDS resources from.
|
||||||
managementServer, nodeID, bootstrapContents, _, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, _, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
// Start backend servers which provide an implementation of the TestService.
|
// Start backend servers which provide an implementation of the TestService.
|
||||||
|
|
@ -280,7 +280,7 @@ func (s) TestEDS_OneLocality(t *testing.T) {
|
||||||
// weighted roundrobined across them.
|
// weighted roundrobined across them.
|
||||||
func (s) TestEDS_MultipleLocalities(t *testing.T) {
|
func (s) TestEDS_MultipleLocalities(t *testing.T) {
|
||||||
// Spin up a management server to receive xDS resources from.
|
// Spin up a management server to receive xDS resources from.
|
||||||
managementServer, nodeID, bootstrapContents, _, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, _, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
// Start backend servers which provide an implementation of the TestService.
|
// Start backend servers which provide an implementation of the TestService.
|
||||||
|
|
@ -403,7 +403,7 @@ func (s) TestEDS_MultipleLocalities(t *testing.T) {
|
||||||
// traffic is routed only to backends deemed capable of receiving traffic.
|
// traffic is routed only to backends deemed capable of receiving traffic.
|
||||||
func (s) TestEDS_EndpointsHealth(t *testing.T) {
|
func (s) TestEDS_EndpointsHealth(t *testing.T) {
|
||||||
// Spin up a management server to receive xDS resources from.
|
// Spin up a management server to receive xDS resources from.
|
||||||
managementServer, nodeID, bootstrapContents, _, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, _, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
// Start backend servers which provide an implementation of the TestService.
|
// Start backend servers which provide an implementation of the TestService.
|
||||||
|
|
@ -483,7 +483,7 @@ func (s) TestEDS_EndpointsHealth(t *testing.T) {
|
||||||
// removed" error.
|
// removed" error.
|
||||||
func (s) TestEDS_EmptyUpdate(t *testing.T) {
|
func (s) TestEDS_EmptyUpdate(t *testing.T) {
|
||||||
// Spin up a management server to receive xDS resources from.
|
// Spin up a management server to receive xDS resources from.
|
||||||
managementServer, nodeID, bootstrapContents, _, cleanup1 := e2e.SetupManagementServer(t, nil)
|
managementServer, nodeID, bootstrapContents, _, cleanup1 := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup1()
|
defer cleanup1()
|
||||||
|
|
||||||
// Start backend servers which provide an implementation of the TestService.
|
// Start backend servers which provide an implementation of the TestService.
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ func (*testService) FullDuplexCall(stream testpb.TestService_FullDuplexCallServe
|
||||||
func clientSetup(t *testing.T) (*e2e.ManagementServer, string, uint32, func()) {
|
func clientSetup(t *testing.T) (*e2e.ManagementServer, string, uint32, func()) {
|
||||||
// Spin up a xDS management server on a local port.
|
// Spin up a xDS management server on a local port.
|
||||||
nodeID := uuid.New().String()
|
nodeID := uuid.New().String()
|
||||||
fs, err := e2e.StartManagementServer(nil)
|
fs, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ type controlPlane struct {
|
||||||
|
|
||||||
func newControlPlane() (*controlPlane, error) {
|
func newControlPlane() (*controlPlane, error) {
|
||||||
// Spin up an xDS management server on a local port.
|
// Spin up an xDS management server on a local port.
|
||||||
server, err := e2e.StartManagementServer(nil)
|
server, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to spin up the xDS management server: %v", err)
|
return nil, fmt.Errorf("failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,14 +77,14 @@ func setupForAuthorityTests(ctx context.Context, t *testing.T, idleTimeout time.
|
||||||
lisNonDefault := testutils.NewListenerWrapper(t, nil)
|
lisNonDefault := testutils.NewListenerWrapper(t, nil)
|
||||||
|
|
||||||
// Start a management server to act as the default authority.
|
// Start a management server to act as the default authority.
|
||||||
defaultAuthorityServer, err := e2e.StartManagementServer(&e2e.ManagementServerOptions{Listener: lisDefault})
|
defaultAuthorityServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{Listener: lisDefault})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
t.Cleanup(func() { defaultAuthorityServer.Stop() })
|
t.Cleanup(func() { defaultAuthorityServer.Stop() })
|
||||||
|
|
||||||
// Start a management server to act as the non-default authority.
|
// Start a management server to act as the non-default authority.
|
||||||
nonDefaultAuthorityServer, err := e2e.StartManagementServer(&e2e.ManagementServerOptions{Listener: lisNonDefault})
|
nonDefaultAuthorityServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{Listener: lisNonDefault})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -144,7 +144,7 @@ func (s) TestCDSWatch(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -274,7 +274,7 @@ func (s) TestCDSWatch_TwoWatchesForSameResourceName(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -359,7 +359,7 @@ func (s) TestCDSWatch_TwoWatchesForSameResourceName(t *testing.T) {
|
||||||
// all watch callbacks.
|
// all watch callbacks.
|
||||||
func (s) TestCDSWatch_ThreeWatchesForDifferentResourceNames(t *testing.T) {
|
func (s) TestCDSWatch_ThreeWatchesForDifferentResourceNames(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -440,7 +440,7 @@ func (s) TestCDSWatch_ResourceCaching(t *testing.T) {
|
||||||
firstAckReceived := grpcsync.NewEvent()
|
firstAckReceived := grpcsync.NewEvent()
|
||||||
secondRequestReceived := grpcsync.NewEvent()
|
secondRequestReceived := grpcsync.NewEvent()
|
||||||
|
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, &e2e.ManagementServerOptions{
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{
|
||||||
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
||||||
// The first request has an empty version string.
|
// The first request has an empty version string.
|
||||||
if !firstRequestReceived && req.GetVersionInfo() == "" {
|
if !firstRequestReceived && req.GetVersionInfo() == "" {
|
||||||
|
|
@ -571,7 +571,7 @@ func (s) TestCDSWatch_ExpiryTimerFiresBeforeResponse(t *testing.T) {
|
||||||
// invocation with error) does not take place.
|
// invocation with error) does not take place.
|
||||||
func (s) TestCDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
func (s) TestCDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, err := e2e.StartManagementServer(nil)
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
@ -644,7 +644,7 @@ func (s) TestCDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
||||||
// invocation of the watch callback associated with the deleted resource.
|
// invocation of the watch callback associated with the deleted resource.
|
||||||
func (s) TesCDSWatch_ResourceRemoved(t *testing.T) {
|
func (s) TesCDSWatch_ResourceRemoved(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -753,7 +753,7 @@ func (s) TesCDSWatch_ResourceRemoved(t *testing.T) {
|
||||||
// propagated to the watcher.
|
// propagated to the watcher.
|
||||||
func (s) TestCDSWatch_NACKError(t *testing.T) {
|
func (s) TestCDSWatch_NACKError(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -802,7 +802,7 @@ func (s) TestCDSWatch_NACKError(t *testing.T) {
|
||||||
// invalid resource receive an error.
|
// invalid resource receive an error.
|
||||||
func (s) TestCDSWatch_PartialValid(t *testing.T) {
|
func (s) TestCDSWatch_PartialValid(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,7 @@ func (s) TestEDSWatch(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -322,7 +322,7 @@ func (s) TestEDSWatch_TwoWatchesForSameResourceName(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -408,7 +408,7 @@ func (s) TestEDSWatch_TwoWatchesForSameResourceName(t *testing.T) {
|
||||||
// The test is run with both old and new style names.
|
// The test is run with both old and new style names.
|
||||||
func (s) TestEDSWatch_ThreeWatchesForDifferentResourceNames(t *testing.T) {
|
func (s) TestEDSWatch_ThreeWatchesForDifferentResourceNames(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -490,7 +490,7 @@ func (s) TestEDSWatch_ResourceCaching(t *testing.T) {
|
||||||
firstAckReceived := grpcsync.NewEvent()
|
firstAckReceived := grpcsync.NewEvent()
|
||||||
secondRequestReceived := grpcsync.NewEvent()
|
secondRequestReceived := grpcsync.NewEvent()
|
||||||
|
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, &e2e.ManagementServerOptions{
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{
|
||||||
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
||||||
// The first request has an empty version string.
|
// The first request has an empty version string.
|
||||||
if !firstRequestReceived && req.GetVersionInfo() == "" {
|
if !firstRequestReceived && req.GetVersionInfo() == "" {
|
||||||
|
|
@ -628,7 +628,7 @@ func (s) TestEDSWatch_ExpiryTimerFiresBeforeResponse(t *testing.T) {
|
||||||
// invocation with error) does not take place.
|
// invocation with error) does not take place.
|
||||||
func (s) TestEDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
func (s) TestEDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, err := e2e.StartManagementServer(nil)
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
@ -700,7 +700,7 @@ func (s) TestEDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
||||||
// propagated to the watcher.
|
// propagated to the watcher.
|
||||||
func (s) TestEDSWatch_NACKError(t *testing.T) {
|
func (s) TestEDSWatch_NACKError(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -749,7 +749,7 @@ func (s) TestEDSWatch_NACKError(t *testing.T) {
|
||||||
// invalid resource receive an error.
|
// invalid resource receive an error.
|
||||||
func (s) TestEDSWatch_PartialValid(t *testing.T) {
|
func (s) TestEDSWatch_PartialValid(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
|
||||||
|
|
@ -47,14 +47,14 @@ func setupForFederationWatchersTest(t *testing.T) (*e2e.ManagementServer, string
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
|
|
||||||
// Start a management server as the default authority.
|
// Start a management server as the default authority.
|
||||||
serverDefaultAuthority, err := e2e.StartManagementServer(nil)
|
serverDefaultAuthority, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
t.Cleanup(serverDefaultAuthority.Stop)
|
t.Cleanup(serverDefaultAuthority.Stop)
|
||||||
|
|
||||||
// Start another management server as the other authority.
|
// Start another management server as the other authority.
|
||||||
serverNonDefaultAuthority, err := e2e.StartManagementServer(nil)
|
serverNonDefaultAuthority, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,7 @@ func (s) TestLDSWatch(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -327,7 +327,7 @@ func (s) TestLDSWatch_TwoWatchesForSameResourceName(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -413,7 +413,7 @@ func (s) TestLDSWatch_TwoWatchesForSameResourceName(t *testing.T) {
|
||||||
// The test is run with both old and new style names.
|
// The test is run with both old and new style names.
|
||||||
func (s) TestLDSWatch_ThreeWatchesForDifferentResourceNames(t *testing.T) {
|
func (s) TestLDSWatch_ThreeWatchesForDifferentResourceNames(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -489,7 +489,7 @@ func (s) TestLDSWatch_ResourceCaching(t *testing.T) {
|
||||||
firstAckReceived := grpcsync.NewEvent()
|
firstAckReceived := grpcsync.NewEvent()
|
||||||
secondRequestReceived := grpcsync.NewEvent()
|
secondRequestReceived := grpcsync.NewEvent()
|
||||||
|
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, &e2e.ManagementServerOptions{
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{
|
||||||
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
||||||
// The first request has an empty version string.
|
// The first request has an empty version string.
|
||||||
if !firstRequestReceived && req.GetVersionInfo() == "" {
|
if !firstRequestReceived && req.GetVersionInfo() == "" {
|
||||||
|
|
@ -620,7 +620,7 @@ func (s) TestLDSWatch_ExpiryTimerFiresBeforeResponse(t *testing.T) {
|
||||||
// invocation with error) does not take place.
|
// invocation with error) does not take place.
|
||||||
func (s) TestLDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
func (s) TestLDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, err := e2e.StartManagementServer(nil)
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
@ -694,7 +694,7 @@ func (s) TestLDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
||||||
// The test is run with both old and new style names.
|
// The test is run with both old and new style names.
|
||||||
func (s) TestLDSWatch_ResourceRemoved(t *testing.T) {
|
func (s) TestLDSWatch_ResourceRemoved(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -802,7 +802,7 @@ func (s) TestLDSWatch_ResourceRemoved(t *testing.T) {
|
||||||
// propagated to the watcher.
|
// propagated to the watcher.
|
||||||
func (s) TestLDSWatch_NACKError(t *testing.T) {
|
func (s) TestLDSWatch_NACKError(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -851,7 +851,7 @@ func (s) TestLDSWatch_NACKError(t *testing.T) {
|
||||||
// invalid resource receive an error.
|
// invalid resource receive an error.
|
||||||
func (s) TestLDSWatch_PartialValid(t *testing.T) {
|
func (s) TestLDSWatch_PartialValid(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ func (s) TestWatchCallAnotherWatch(t *testing.T) {
|
||||||
|
|
||||||
// Start an xDS management server and set the option to allow it to respond
|
// Start an xDS management server and set the option to allow it to respond
|
||||||
// to requests which only specify a subset of the configured resources.
|
// to requests which only specify a subset of the configured resources.
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, &e2e.ManagementServerOptions{AllowResourceSubset: true})
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{AllowResourceSubset: true})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,7 @@ func (s) TestRDSWatch(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -348,7 +348,7 @@ func (s) TestRDSWatch_TwoWatchesForSameResourceName(t *testing.T) {
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
t.Run(test.desc, func(t *testing.T) {
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -434,7 +434,7 @@ func (s) TestRDSWatch_TwoWatchesForSameResourceName(t *testing.T) {
|
||||||
// The test is run with both old and new style names.
|
// The test is run with both old and new style names.
|
||||||
func (s) TestRDSWatch_ThreeWatchesForDifferentResourceNames(t *testing.T) {
|
func (s) TestRDSWatch_ThreeWatchesForDifferentResourceNames(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -520,7 +520,7 @@ func (s) TestRDSWatch_ResourceCaching(t *testing.T) {
|
||||||
firstAckReceived := grpcsync.NewEvent()
|
firstAckReceived := grpcsync.NewEvent()
|
||||||
secondRequestReceived := grpcsync.NewEvent()
|
secondRequestReceived := grpcsync.NewEvent()
|
||||||
|
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, &e2e.ManagementServerOptions{
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{
|
||||||
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
OnStreamRequest: func(id int64, req *v3discoverypb.DiscoveryRequest) error {
|
||||||
// The first request has an empty version string.
|
// The first request has an empty version string.
|
||||||
if !firstRequestReceived && req.GetVersionInfo() == "" {
|
if !firstRequestReceived && req.GetVersionInfo() == "" {
|
||||||
|
|
@ -661,7 +661,7 @@ func (s) TestRDSWatch_ExpiryTimerFiresBeforeResponse(t *testing.T) {
|
||||||
// invocation with error) does not take place.
|
// invocation with error) does not take place.
|
||||||
func (s) TestRDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
func (s) TestRDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, err := e2e.StartManagementServer(nil)
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
t.Fatalf("Failed to spin up the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
@ -737,7 +737,7 @@ func (s) TestRDSWatch_ValidResponseCancelsExpiryTimerBehavior(t *testing.T) {
|
||||||
// propagated to the watcher.
|
// propagated to the watcher.
|
||||||
func (s) TestRDSWatch_NACKError(t *testing.T) {
|
func (s) TestRDSWatch_NACKError(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
@ -786,7 +786,7 @@ func (s) TestRDSWatch_NACKError(t *testing.T) {
|
||||||
// invalid resource receive an error.
|
// invalid resource receive an error.
|
||||||
func (s) TestRDSWatch_PartialValid(t *testing.T) {
|
func (s) TestRDSWatch_PartialValid(t *testing.T) {
|
||||||
overrideFedEnvVar(t)
|
overrideFedEnvVar(t)
|
||||||
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, nil)
|
mgmtServer, nodeID, bootstrapContents, _, cleanup := e2e.SetupManagementServer(t, e2e.ManagementServerOptions{})
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
// Create an xDS client with the above bootstrap contents.
|
// Create an xDS client with the above bootstrap contents.
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ func (s) TestSimpleAckAndNack(t *testing.T) {
|
||||||
// the test goroutine to verify ack version and nonce.
|
// the test goroutine to verify ack version and nonce.
|
||||||
streamRequestCh := make(chan *v3discoverypb.DiscoveryRequest, 1)
|
streamRequestCh := make(chan *v3discoverypb.DiscoveryRequest, 1)
|
||||||
streamResponseCh := make(chan *v3discoverypb.DiscoveryResponse, 1)
|
streamResponseCh := make(chan *v3discoverypb.DiscoveryResponse, 1)
|
||||||
mgmtServer, err := e2e.StartManagementServer(&e2e.ManagementServerOptions{
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{
|
||||||
OnStreamRequest: func(_ int64, req *v3discoverypb.DiscoveryRequest) error {
|
OnStreamRequest: func(_ int64, req *v3discoverypb.DiscoveryRequest) error {
|
||||||
select {
|
select {
|
||||||
case streamRequestCh <- req:
|
case streamRequestCh <- req:
|
||||||
|
|
@ -273,7 +273,7 @@ func (s) TestInvalidFirstResponse(t *testing.T) {
|
||||||
// the test goroutine to verify ack version and nonce.
|
// the test goroutine to verify ack version and nonce.
|
||||||
streamRequestCh := make(chan *v3discoverypb.DiscoveryRequest, 1)
|
streamRequestCh := make(chan *v3discoverypb.DiscoveryRequest, 1)
|
||||||
streamResponseCh := make(chan *v3discoverypb.DiscoveryResponse, 1)
|
streamResponseCh := make(chan *v3discoverypb.DiscoveryResponse, 1)
|
||||||
mgmtServer, err := e2e.StartManagementServer(&e2e.ManagementServerOptions{
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{
|
||||||
OnStreamRequest: func(_ int64, req *v3discoverypb.DiscoveryRequest) error {
|
OnStreamRequest: func(_ int64, req *v3discoverypb.DiscoveryRequest) error {
|
||||||
select {
|
select {
|
||||||
case streamRequestCh <- req:
|
case streamRequestCh <- req:
|
||||||
|
|
@ -403,7 +403,7 @@ func (s) TestResourceIsNotRequestedAnymore(t *testing.T) {
|
||||||
// the test goroutine to verify ack version and nonce.
|
// the test goroutine to verify ack version and nonce.
|
||||||
streamRequestCh := make(chan *v3discoverypb.DiscoveryRequest, 1)
|
streamRequestCh := make(chan *v3discoverypb.DiscoveryRequest, 1)
|
||||||
streamResponseCh := make(chan *v3discoverypb.DiscoveryResponse, 1)
|
streamResponseCh := make(chan *v3discoverypb.DiscoveryResponse, 1)
|
||||||
mgmtServer, err := e2e.StartManagementServer(&e2e.ManagementServerOptions{
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{
|
||||||
OnStreamRequest: func(_ int64, req *v3discoverypb.DiscoveryRequest) error {
|
OnStreamRequest: func(_ int64, req *v3discoverypb.DiscoveryRequest) error {
|
||||||
select {
|
select {
|
||||||
case streamRequestCh <- req:
|
case streamRequestCh <- req:
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ func (s) TestTransport_BackoffAfterStreamFailure(t *testing.T) {
|
||||||
|
|
||||||
// Create an xDS management server listening on a local port.
|
// Create an xDS management server listening on a local port.
|
||||||
streamErr := errors.New("ADS stream error")
|
streamErr := errors.New("ADS stream error")
|
||||||
mgmtServer, err := e2e.StartManagementServer(&e2e.ManagementServerOptions{
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{
|
||||||
// Push on a channel whenever the stream is closed.
|
// Push on a channel whenever the stream is closed.
|
||||||
OnStreamClosed: func(int64) {
|
OnStreamClosed: func(int64) {
|
||||||
select {
|
select {
|
||||||
|
|
@ -206,7 +206,7 @@ func (s) TestTransport_RetriesAfterBrokenStream(t *testing.T) {
|
||||||
t.Fatalf("Failed to create a local listener for the xDS management server: %v", err)
|
t.Fatalf("Failed to create a local listener for the xDS management server: %v", err)
|
||||||
}
|
}
|
||||||
lis := testutils.NewRestartableListener(l)
|
lis := testutils.NewRestartableListener(l)
|
||||||
mgmtServer, err := e2e.StartManagementServer(&e2e.ManagementServerOptions{
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{
|
||||||
Listener: lis,
|
Listener: lis,
|
||||||
// Push the received request on to a channel for the test goroutine to
|
// Push the received request on to a channel for the test goroutine to
|
||||||
// verify that it matches expectations.
|
// verify that it matches expectations.
|
||||||
|
|
@ -380,7 +380,7 @@ func (s) TestTransport_ResourceRequestedBeforeStreamCreation(t *testing.T) {
|
||||||
lis := testutils.NewRestartableListener(l)
|
lis := testutils.NewRestartableListener(l)
|
||||||
streamErr := errors.New("ADS stream error")
|
streamErr := errors.New("ADS stream error")
|
||||||
|
|
||||||
mgmtServer, err := e2e.StartManagementServer(&e2e.ManagementServerOptions{
|
mgmtServer, err := e2e.StartManagementServer(e2e.ManagementServerOptions{
|
||||||
Listener: lis,
|
Listener: lis,
|
||||||
|
|
||||||
// Return an error everytime a request is sent on the stream. This
|
// Return an error everytime a request is sent on the stream. This
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue