diff --git a/src/python/grpcio_tests/tests/qps/qps_worker.py b/src/python/grpcio_tests/tests/qps/qps_worker.py index 3e74aa73516..de8eefbd7f5 100644 --- a/src/python/grpcio_tests/tests/qps/qps_worker.py +++ b/src/python/grpcio_tests/tests/qps/qps_worker.py @@ -39,15 +39,18 @@ if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) parser = argparse.ArgumentParser( description='gRPC Python performance testing worker') - parser.add_argument('--driver_port', - type=int, - dest='driver_port', - help='The port the worker should listen on') - parser.add_argument('--server_port', - type=int, - default=None, - dest='server_port', - help='The port the server should accept traffic on') + parser.add_argument( + '--driver_port', + type=int, + dest='driver_port', + help='The port for the worker to expose for driver communication') + parser.add_argument( + '--server_port', + type=int, + default=None, + dest='server_port', + help='The port for the server if not specified by server config message' + ) args = parser.parse_args() run_worker_server(args.driver_port, args.server_port) diff --git a/src/python/grpcio_tests/tests/qps/worker_server.py b/src/python/grpcio_tests/tests/qps/worker_server.py index 0410ebc44c8..5132dd8fa5b 100644 --- a/src/python/grpcio_tests/tests/qps/worker_server.py +++ b/src/python/grpcio_tests/tests/qps/worker_server.py @@ -92,7 +92,11 @@ class WorkerServer(worker_service_pb2_grpc.WorkerServiceServicer): raise Exception('Unsupported server type {}'.format( config.server_type)) - server_port = config.port if self._server_port is None else self._server_port + if self._server_port is not None and config.port == 0: + server_port = self._server_port + else: + server_port = config.port + if config.HasField('security_params'): # Use SSL server_creds = grpc.ssl_server_credentials( ((resources.private_key(), resources.certificate_chain()),))