From efe5a4611dbeeafbadb575de8863c93bda9dd81e Mon Sep 17 00:00:00 2001 From: Richard Belleville Date: Fri, 22 Apr 2022 14:51:24 -0700 Subject: [PATCH] Update appnet interop (#29472) * Update appnet interop * Whoopsie * Add additional debug * Grr * Revert "Grr" This reverts commit 580cdea3d3b49c12730a46693c6ac29c0e284cdc. * Revert "Add additional debug" This reverts commit 0d5fdc6691564943c1c2fa221708d63bcc769b95. * Try different strategy * Remove debug print * Yapf * Review comments --- .../xds_k8s_test_driver/bin/run_test_client.py | 8 ++++++-- .../framework/infrastructure/gcp/network_services.py | 12 +----------- .../framework/infrastructure/traffic_director.py | 8 +------- .../framework/test_app/client_app.py | 5 ++--- .../xds_k8s_test_driver/framework/xds_flags.py | 4 ---- .../framework/xds_k8s_testcase.py | 10 ---------- .../client-secure.deployment.yaml | 4 ++-- .../kubernetes-manifests/client.deployment.yaml | 4 ++-- .../xds_k8s_test_driver/tests/app_net_test.py | 3 ++- 9 files changed, 16 insertions(+), 42 deletions(-) diff --git a/tools/run_tests/xds_k8s_test_driver/bin/run_test_client.py b/tools/run_tests/xds_k8s_test_driver/bin/run_test_client.py index bd035e1dd74..95dd6ca9f6a 100755 --- a/tools/run_tests/xds_k8s_test_driver/bin/run_test_client.py +++ b/tools/run_tests/xds_k8s_test_driver/bin/run_test_client.py @@ -35,6 +35,10 @@ _QPS = flags.DEFINE_integer('qps', default=25, help='Queries per second') _PRINT_RESPONSE = flags.DEFINE_bool("print_response", default=False, help="Client prints responses") +_CONFIG_MESH = flags.DEFINE_bool( + "config_mesh", + default=None, + help="Optional. Supplied to bootstrap generator to indicate AppNet mesh.") _REUSE_NAMESPACE = flags.DEFINE_bool("reuse_namespace", default=True, help="Use existing namespace if exists") @@ -69,7 +73,6 @@ def main(argv): gcp_service_account=gcp_service_account, xds_server_uri=xds_flags.XDS_SERVER_URI.value, network=xds_flags.NETWORK.value, - config_scope=xds_flags.CONFIG_SCOPE.value, stats_port=xds_flags.CLIENT_PORT.value, reuse_namespace=_REUSE_NAMESPACE.value) @@ -94,7 +97,8 @@ def main(argv): server_target=f'xds:///{server_xds_host}:{server_xds_port}', qps=_QPS.value, print_response=_PRINT_RESPONSE.value, - secure_mode=_SECURE.value) + secure_mode=_SECURE.value, + config_mesh=_CONFIG_MESH.value) elif _CMD.value == 'cleanup': logger.info('Cleanup client') diff --git a/tools/run_tests/xds_k8s_test_driver/framework/infrastructure/gcp/network_services.py b/tools/run_tests/xds_k8s_test_driver/framework/infrastructure/gcp/network_services.py index 80cdf6e98a8..58851c68ebb 100644 --- a/tools/run_tests/xds_k8s_test_driver/framework/infrastructure/gcp/network_services.py +++ b/tools/run_tests/xds_k8s_test_driver/framework/infrastructure/gcp/network_services.py @@ -59,9 +59,6 @@ class Mesh: name: str url: str - type: str - scope: Optional[str] - network: Optional[str] routes: Optional[List[str]] @classmethod @@ -69,9 +66,6 @@ class Mesh: return cls( name=name, url=d["name"], - type=d["type"], - scope=d.get("scope"), - network=d.get("network"), routes=list(d["routes"]) if "routes" in d else None, ) @@ -139,17 +133,13 @@ class GrpcRoute: @dataclasses.dataclass(frozen=True) class RouteAction: destinations: List['Destination'] - drop: Optional[int] @classmethod def from_response(cls, d: Dict[str, Any]) -> 'RouteAction': destinations = [ Destination.from_response(dest) for dest in d["destinations"] ] if "destinations" in d else [] - return cls( - destinations=destinations, - drop=d.get("drop"), - ) + return cls(destinations=destinations) @dataclasses.dataclass(frozen=True) class RouteRule: diff --git a/tools/run_tests/xds_k8s_test_driver/framework/infrastructure/traffic_director.py b/tools/run_tests/xds_k8s_test_driver/framework/infrastructure/traffic_director.py index 121922f1be7..d3629c1d9fc 100644 --- a/tools/run_tests/xds_k8s_test_driver/framework/infrastructure/traffic_director.py +++ b/tools/run_tests/xds_k8s_test_driver/framework/infrastructure/traffic_director.py @@ -642,7 +642,6 @@ class TrafficDirectorAppNetManager(TrafficDirectorManager): project: str, *, resource_prefix: str, - config_scope: str, resource_suffix: Optional[str] = None, network: str = 'default', compute_api_version: str = 'v1'): @@ -653,8 +652,6 @@ class TrafficDirectorAppNetManager(TrafficDirectorManager): network=network, compute_api_version=compute_api_version) - self.config_scope = config_scope - # API self.netsvc = _NetworkServicesV1Alpha1(gcp_api_manager, project) @@ -665,10 +662,7 @@ class TrafficDirectorAppNetManager(TrafficDirectorManager): def create_mesh(self) -> GcpResource: name = self.make_resource_name(self.MESH_NAME) logger.info("Creating Mesh %s", name) - body = { - "type": "PROXYLESS_GRPC", - "scope": self.config_scope, - } + body = {} resource = self.netsvc.create_mesh(name, body) self.mesh = self.netsvc.get_mesh(name) logger.debug("Loaded Mesh: %s", self.mesh) diff --git a/tools/run_tests/xds_k8s_test_driver/framework/test_app/client_app.py b/tools/run_tests/xds_k8s_test_driver/framework/test_app/client_app.py index c5d8c04069d..de3564545e3 100644 --- a/tools/run_tests/xds_k8s_test_driver/framework/test_app/client_app.py +++ b/tools/run_tests/xds_k8s_test_driver/framework/test_app/client_app.py @@ -238,7 +238,6 @@ class KubernetesClientRunner(base_runner.KubernetesBaseRunner): gcp_service_account: str, xds_server_uri=None, network='default', - config_scope=None, service_account_name=None, stats_port=8079, deployment_template='client.deployment.yaml', @@ -257,7 +256,6 @@ class KubernetesClientRunner(base_runner.KubernetesBaseRunner): self.td_bootstrap_image = td_bootstrap_image self.xds_server_uri = xds_server_uri self.network = network - self.config_scope = config_scope self.deployment_template = deployment_template self.debug_use_port_forwarding = debug_use_port_forwarding self.enable_workload_identity = enable_workload_identity @@ -291,6 +289,7 @@ class KubernetesClientRunner(base_runner.KubernetesBaseRunner): qps=25, metadata='', secure_mode=False, + config_mesh=None, print_response=False) -> XdsTestClient: logger.info( 'Deploying xDS test client "%s" to k8s namespace %s: ' @@ -329,13 +328,13 @@ class KubernetesClientRunner(base_runner.KubernetesBaseRunner): td_bootstrap_image=self.td_bootstrap_image, xds_server_uri=self.xds_server_uri, network=self.network, - config_scope=self.config_scope, stats_port=self.stats_port, server_target=server_target, rpc=rpc, qps=qps, metadata=metadata, secure_mode=secure_mode, + config_mesh=config_mesh, print_response=print_response) self._wait_deployment_with_available_replicas(self.deployment_name) diff --git a/tools/run_tests/xds_k8s_test_driver/framework/xds_flags.py b/tools/run_tests/xds_k8s_test_driver/framework/xds_flags.py index 7c728859671..e6412da4c67 100644 --- a/tools/run_tests/xds_k8s_test_driver/framework/xds_flags.py +++ b/tools/run_tests/xds_k8s_test_driver/framework/xds_flags.py @@ -36,10 +36,6 @@ RESOURCE_SUFFIX = flags.DEFINE_string( NETWORK = flags.DEFINE_string("network", default="default", help="GCP Network ID") -CONFIG_SCOPE = flags.DEFINE_string( - "config_scope", - default=None, - help="Scope specified in mesh if using AppNet APIs") COMPUTE_API_VERSION = flags.DEFINE_string( "compute_api_version", default='v1', diff --git a/tools/run_tests/xds_k8s_test_driver/framework/xds_k8s_testcase.py b/tools/run_tests/xds_k8s_test_driver/framework/xds_k8s_testcase.py index 82a451ca0df..deacd984dad 100644 --- a/tools/run_tests/xds_k8s_test_driver/framework/xds_k8s_testcase.py +++ b/tools/run_tests/xds_k8s_test_driver/framework/xds_k8s_testcase.py @@ -77,7 +77,6 @@ class XdsKubernetesTestCase(absltest.TestCase, metaclass=abc.ABCMeta): server_runner: KubernetesServerRunner server_xds_port: int td: TrafficDirectorManager - config_scope: str @staticmethod def isSupported(config: skips.TestConfig) -> bool: @@ -150,12 +149,6 @@ class XdsKubernetesTestCase(absltest.TestCase, metaclass=abc.ABCMeta): logger.info('Test run resource prefix: %s, suffix: %s', self.resource_prefix, self.resource_suffix) - if xds_flags.CONFIG_SCOPE.value is not None: - self.config_scope = xds_flags.CONFIG_SCOPE.value + "-" + framework.helpers.rand.random_resource_suffix( - ) - else: - self.config_scope = None - # TD Manager self.td = self.initTrafficDirectorManager() @@ -477,7 +470,6 @@ class RegularXdsKubernetesTestCase(XdsKubernetesTestCase): gcp_service_account=self.gcp_service_account, xds_server_uri=self.xds_server_uri, network=self.network, - config_scope=self.config_scope, debug_use_port_forwarding=self.debug_use_port_forwarding, enable_workload_identity=self.enable_workload_identity, stats_port=self.client_port, @@ -517,7 +509,6 @@ class AppNetXdsKubernetesTestCase(RegularXdsKubernetesTestCase): resource_prefix=self.resource_prefix, resource_suffix=self.resource_suffix, network=self.network, - config_scope=self.config_scope, compute_api_version=self.compute_api_version) @@ -579,7 +570,6 @@ class SecurityXdsKubernetesTestCase(XdsKubernetesTestCase): gcp_service_account=self.gcp_service_account, xds_server_uri=self.xds_server_uri, network=self.network, - config_scope=self.config_scope, deployment_template='client-secure.deployment.yaml', stats_port=self.client_port, reuse_namespace=self.server_namespace == self.client_namespace, diff --git a/tools/run_tests/xds_k8s_test_driver/kubernetes-manifests/client-secure.deployment.yaml b/tools/run_tests/xds_k8s_test_driver/kubernetes-manifests/client-secure.deployment.yaml index 3aa5c67df59..daa6506e222 100644 --- a/tools/run_tests/xds_k8s_test_driver/kubernetes-manifests/client-secure.deployment.yaml +++ b/tools/run_tests/xds_k8s_test_driver/kubernetes-manifests/client-secure.deployment.yaml @@ -63,8 +63,8 @@ spec: % if xds_server_uri: - "--xds-server-uri=${xds_server_uri}" % endif - % if config_scope: - - "--config-scope-experimental=${config_scope_experimental}" + % if config_mesh: + - "--config-mesh-experimental=${config_mesh}" % endif - "--include-v3-features-experimental" - "--include-psm-security-experimental" diff --git a/tools/run_tests/xds_k8s_test_driver/kubernetes-manifests/client.deployment.yaml b/tools/run_tests/xds_k8s_test_driver/kubernetes-manifests/client.deployment.yaml index 268cc1ca2ec..bc79d2f1be1 100644 --- a/tools/run_tests/xds_k8s_test_driver/kubernetes-manifests/client.deployment.yaml +++ b/tools/run_tests/xds_k8s_test_driver/kubernetes-manifests/client.deployment.yaml @@ -63,8 +63,8 @@ spec: % if xds_server_uri: - "--xds-server-uri=${xds_server_uri}" % endif - % if config_scope: - - "--config-scope-experimental=${config_scope}" + % if config_mesh: + - "--config-mesh-experimental=${config_mesh}" % endif resources: limits: diff --git a/tools/run_tests/xds_k8s_test_driver/tests/app_net_test.py b/tools/run_tests/xds_k8s_test_driver/tests/app_net_test.py index 8d395895fe5..2303b643d1a 100644 --- a/tools/run_tests/xds_k8s_test_driver/tests/app_net_test.py +++ b/tools/run_tests/xds_k8s_test_driver/tests/app_net_test.py @@ -49,7 +49,8 @@ class AppNetTest(xds_k8s_testcase.AppNetXdsKubernetesTestCase): self.setupServerBackends() with self.subTest('6_start_test_client'): - test_client: _XdsTestClient = self.startTestClient(test_server) + test_client: _XdsTestClient = self.startTestClient( + test_server, config_mesh=self.td.mesh.name) with self.subTest('7_assert_xds_config_exists'): self.assertXdsConfigExists(test_client)