From aeb372067374b3f4ac033917768afd85bef71c74 Mon Sep 17 00:00:00 2001 From: sanjaypujare Date: Tue, 3 Aug 2021 16:47:54 -0700 Subject: [PATCH] xds: log error and fail start() if server-listener-resource-name-template not set or not using xds_v3 (#8375) (#8376) --- .../io/grpc/xds/XdsClientWrapperForServerSds.java | 12 ++++++++++-- .../test/java/io/grpc/xds/XdsServerTestHelper.java | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/xds/src/main/java/io/grpc/xds/XdsClientWrapperForServerSds.java b/xds/src/main/java/io/grpc/xds/XdsClientWrapperForServerSds.java index c73c071d951..9a1b659ef1e 100644 --- a/xds/src/main/java/io/grpc/xds/XdsClientWrapperForServerSds.java +++ b/xds/src/main/java/io/grpc/xds/XdsClientWrapperForServerSds.java @@ -125,14 +125,22 @@ public void onError(Status error) { } } }; + newServerApi = xdsClient.getBootstrapInfo().getServers().get(0).isUseProtocolV3(); + if (!newServerApi) { + reportError( + new XdsInitializationException( + "requires use of xds_v3 in xds bootstrap"), + true); + return; + } grpcServerResourceId = xdsClient.getBootstrapInfo() .getServerListenerResourceNameTemplate(); - newServerApi = xdsClient.getBootstrapInfo().getServers().get(0).isUseProtocolV3(); - if (newServerApi && grpcServerResourceId == null) { + if (grpcServerResourceId == null) { reportError( new XdsInitializationException( "missing server_listener_resource_name_template value in xds bootstrap"), true); + return; } grpcServerResourceId = grpcServerResourceId.replaceAll("%s", "0.0.0.0:" + port); xdsClient.watchLdsResource(grpcServerResourceId, listenerWatcher); diff --git a/xds/src/test/java/io/grpc/xds/XdsServerTestHelper.java b/xds/src/test/java/io/grpc/xds/XdsServerTestHelper.java index 071fbd8a108..2c455673239 100644 --- a/xds/src/test/java/io/grpc/xds/XdsServerTestHelper.java +++ b/xds/src/test/java/io/grpc/xds/XdsServerTestHelper.java @@ -47,7 +47,7 @@ public class XdsServerTestHelper { static final Bootstrapper.BootstrapInfo BOOTSTRAP_INFO = new Bootstrapper.BootstrapInfo( Arrays.asList( - new Bootstrapper.ServerInfo(SERVER_URI, InsecureChannelCredentials.create(), false)), + new Bootstrapper.ServerInfo(SERVER_URI, InsecureChannelCredentials.create(), true)), BOOTSTRAP_NODE, null, "grpc/server?udpa.resource.listening_address=%s");