From d0f91d2e732d8ba76a1df8152ff9edeb1107a9c5 Mon Sep 17 00:00:00 2001 From: Eric Gribkoff Date: Wed, 26 Feb 2020 01:18:35 -0800 Subject: [PATCH] Use grpc_bazel.sh to run the xds test client using bazel --- tools/internal_ci/linux/grpc_xds.cfg | 6 ++- tools/internal_ci/linux/grpc_xds.sh | 27 ---------- .../linux/grpc_xds_bazel_test_in_docker.sh | 53 +++++++++++++++++++ 3 files changed, 58 insertions(+), 28 deletions(-) delete mode 100755 tools/internal_ci/linux/grpc_xds.sh create mode 100755 tools/internal_ci/linux/grpc_xds_bazel_test_in_docker.sh diff --git a/tools/internal_ci/linux/grpc_xds.cfg b/tools/internal_ci/linux/grpc_xds.cfg index ae91617fda5..d547e7c0e08 100644 --- a/tools/internal_ci/linux/grpc_xds.cfg +++ b/tools/internal_ci/linux/grpc_xds.cfg @@ -15,5 +15,9 @@ # Config file for the internal CI (in protobuf text format) # Location of the continuous shell script in repository. -build_file: "grpc/tools/internal_ci/linux/grpc_xds.sh" +build_file: "grpc/tools/internal_ci/linux/grpc_bazel.sh" timeout_mins: 60 +env_vars { + key: "BAZEL_SCRIPT" + value: "tools/internal_ci/linux/grpc_xds_bazel_test_in_docker.sh" +} diff --git a/tools/internal_ci/linux/grpc_xds.sh b/tools/internal_ci/linux/grpc_xds.sh deleted file mode 100755 index 2e64455c9b2..00000000000 --- a/tools/internal_ci/linux/grpc_xds.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2020 gRPC authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -ex - -# change to grpc repo root -cd $(dirname $0)/../../.. - -tools/run_tests/helper_scripts/prep_xds.sh -python3 tools/run_tests/run_xds_tests.py \ - --test_case=all \ - --project_id=grpc-testing \ - --gcp_suffix=$(date '+%s') \ - --verbose \ - --client_cmd='bazel run test/cpp/interop:xds_interop_client -- --server=xds-experimental:///{service_host}:{service_port} --stats_port={stats_port} --qps={qps}' diff --git a/tools/internal_ci/linux/grpc_xds_bazel_test_in_docker.sh b/tools/internal_ci/linux/grpc_xds_bazel_test_in_docker.sh new file mode 100755 index 00000000000..abf2cb1462c --- /dev/null +++ b/tools/internal_ci/linux/grpc_xds_bazel_test_in_docker.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +# Copyright 2020 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -ex -o igncr || set -ex + +mkdir -p /var/local/git +git clone /var/local/jenkins/grpc /var/local/git/grpc +(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \ +&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \ +${name}') +cd /var/local/git/grpc + +VIRTUAL_ENV=$(mktemp -d) +virtualenv "$VIRTUAL_ENV" +PYTHON="$VIRTUAL_ENV"/bin/python +"$PYTHON" -m pip install --upgrade grpcio grpcio-tools google-api-python-client google-auth-httplib2 oauth2client + +# Prepare generated Python code. +TOOLS_DIR=tools/run_tests +PROTO_SOURCE_DIR=src/proto/grpc/testing +PROTO_DEST_DIR="$TOOLS_DIR"/"$PROTO_SOURCE_DIR" +mkdir -p "$PROTO_DEST_DIR" +touch "$TOOLS_DIR"/src/__init__.py +touch "$TOOLS_DIR"/src/proto/__init__.py +touch "$TOOLS_DIR"/src/proto/grpc/__init__.py +touch "$TOOLS_DIR"/src/proto/grpc/testing/__init__.py + +"$PYTHON" -m grpc_tools.protoc \ + --proto_path=. \ + --python_out="$TOOLS_DIR" \ + --grpc_python_out="$TOOLS_DIR" \ + "$PROTO_SOURCE_DIR"/test.proto \ + "$PROTO_SOURCE_DIR"/messages.proto \ + "$PROTO_SOURCE_DIR"/empty.proto + +"$PYTHON" tools/run_tests/run_xds_tests.py \ + --test_case=all \ + --project_id=grpc-testing \ + --gcp_suffix=$(date '+%s') \ + --verbose \ + --client_cmd='bazel run test/cpp/interop:xds_interop_client -- --server=xds-experimental:///{service_host}:{service_port} --stats_port={stats_port} --qps={qps}'