diff options
Diffstat (limited to 'tools/gce_setup')
-rwxr-xr-x | tools/gce_setup/grpc_docker.sh | 34 | ||||
-rwxr-xr-x | tools/gce_setup/private_build_and_test.sh | 61 | ||||
-rwxr-xr-x | tools/gce_setup/shared_startup_funcs.sh | 4 |
3 files changed, 97 insertions, 2 deletions
diff --git a/tools/gce_setup/grpc_docker.sh b/tools/gce_setup/grpc_docker.sh index c8481c4211..8b5d5eae50 100755 --- a/tools/gce_setup/grpc_docker.sh +++ b/tools/gce_setup/grpc_docker.sh @@ -504,7 +504,7 @@ grpc_cloud_prod_auth_test_args() { [[ -n $1 ]] && { # client_type case $1 in - cxx|go|java|node|php|python|ruby) + cxx|go|java|node|php|python|ruby|csharp_mono) grpc_gen_test_cmd+="_gen_$1_cmd" declare -F $grpc_gen_test_cmd >> /dev/null || { echo "-f: test_func for $1 => $grpc_gen_test_cmd is not defined" 1>&2 @@ -1173,7 +1173,6 @@ grpc_cloud_prod_auth_jwt_token_creds_gen_ruby_cmd() { local test_script="/var/local/git/grpc/src/ruby/bin/interop/interop_client.rb" local test_script+=" --use_tls" local gfe_flags=$(_grpc_prod_gfe_flags) - local added_gfe_flags=$(_grpc_jwt_token_test_flags) local env_prefix="SSL_CERT_FILE=/cacerts/roots.pem" env_prefix+=" GOOGLE_APPLICATION_CREDENTIALS=/service_account/stubbyCloudTestingTest-7dd63462c60c.json" local the_cmd="$cmd_prefix '$env_prefix ruby $test_script $gfe_flags $added_gfe_flags $@'" @@ -1402,6 +1401,37 @@ grpc_cloud_prod_gen_csharp_mono_cmd() { echo $the_cmd } +# constructs the full dockerized csharp-mono service_account auth interop test cmd. +# +# call-seq: +# flags= .... # generic flags to include the command +# cmd=$($grpc_gen_test_cmd $flags) +grpc_cloud_prod_auth_service_account_creds_gen_csharp_mono_cmd() { + local workdir_flag="-w /var/local/git/grpc/src/csharp/Grpc.IntegrationTesting.Client/bin/Debug" + local env_flag="-e SSL_CERT_FILE=/cacerts/roots.pem " + env_flag+="-e GOOGLE_APPLICATION_CREDENTIALS=/service_account/stubbyCloudTestingTest-7dd63462c60c.json " + local cmd_prefix="sudo docker run $workdir_flag $env_flag grpc/csharp_mono"; + local test_script="mono Grpc.IntegrationTesting.Client.exe --use_tls=true"; + local gfe_flags=$(_grpc_prod_gfe_flags); + local the_cmd="$cmd_prefix $test_script $gfe_flags $@"; + echo $the_cmd +} + +# constructs the full dockerized csharp-mono gce auth interop test cmd. +# +# call-seq: +# flags= .... # generic flags to include the command +# cmd=$($grpc_gen_test_cmd $flags) +grpc_cloud_prod_auth_compute_engine_creds_gen_csharp_mono_cmd() { + local workdir_flag="-w /var/local/git/grpc/src/csharp/Grpc.IntegrationTesting.Client/bin/Debug" + local env_flag="-e SSL_CERT_FILE=/cacerts/roots.pem " + local cmd_prefix="sudo docker run $workdir_flag $env_flag grpc/csharp_mono"; + local test_script="mono Grpc.IntegrationTesting.Client.exe --use_tls=true"; + local gfe_flags=$(_grpc_prod_gfe_flags) + local the_cmd="$cmd_prefix $test_script $gfe_flags $@"; + echo $the_cmd +} + # outputs the flags passed to gfe tests _grpc_prod_gfe_flags() { echo " --server_port=443 --server_host=grpc-test.sandbox.google.com --server_host_override=grpc-test.sandbox.google.com" diff --git a/tools/gce_setup/private_build_and_test.sh b/tools/gce_setup/private_build_and_test.sh new file mode 100755 index 0000000000..9c5c347a30 --- /dev/null +++ b/tools/gce_setup/private_build_and_test.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +# This script has to be run from the same directory as grpc_docker.sh and after grpc_docker.sh is sourced +# +# Sample Usage: +# =============================== +# ./private_build_and_test.sh [language] [environment: interop|cloud] [test case] +# [git base directory] [server name in interop environment] +# sh private_build_and_test.sh java interop large_unary /usr/local/google/home/donnadionne/grpc-git grpc-docker-server1 +# sh private_build_and_test.sh java cloud large_unary /usr/local/google/home/donnadionne/grpc-git +# =============================== + +# Arguments +LANGUAGE=$1 +ENV=$2 +TEST=$3 +GIT=$4 +PROJECT=${5:-"stoked-keyword-656"} +ZONE=${6:-"asia-east1-a"} +CLIENT=${7:-"grpc-docker-testclients1"} +SERVER=${8:-"grpc-docker-server"} + +current_time=$(date "+%Y-%m-%d-%H-%M-%S") +result_file_name=private_result.$current_time.txt + +sudo docker run --name="private_images" -v $GIT:/var/local/git-clone grpc/$LANGUAGE /var/local/git-clone/grpc/tools/dockerfile/grpc_$LANGUAGE/build.sh + +sudo docker commit -m "private image" -a $USER private_images grpc/private_images + +sudo docker tag -f grpc/private_images 0.0.0.0:5000/grpc/private_images + +sudo docker push 0.0.0.0:5000/grpc/private_images + +sudo docker rmi -f grpc/private_images + +sudo docker rm private_images + +gcloud compute --project $PROJECT ssh --zone $ZONE $CLIENT --command "sudo docker pull 0.0.0.0:5000/grpc/private_images" + +gcloud compute --project $PROJECT ssh --zone $ZONE $CLIENT --command "sudo docker tag 0.0.0.0:5000/grpc/private_images grpc/$LANGUAGE" + +source grpc_docker.sh + +if [ $ENV == 'interop' ] +then + grpc_interop_test $TEST $CLIENT $LANGUAGE $SERVER cxx + grpc_interop_test $TEST $CLIENT $LANGUAGE $SERVER java + grpc_interop_test $TEST $CLIENT $LANGUAGE $SERVER go + grpc_interop_test $TEST $CLIENT $LANGUAGE $SERVER ruby + grpc_interop_test $TEST $CLIENT $LANGUAGE $SERVER node + grpc_interop_test $TEST $CLIENT $LANGUAGE $SERVER python +else + if [ $ENV == 'cloud' ] + then + grpc_cloud_prod_test $TEST $CLIENT $LANGUAGE > /tmp/$result_file_name 2>&1 + gsutil cp /tmp/$result_file_name gs://$PROJECT-output/private_result/$result_file_name + else + grpc_cloud_prod_auth_test $TEST $CLIENT $LANGUAGE + fi +fi + diff --git a/tools/gce_setup/shared_startup_funcs.sh b/tools/gce_setup/shared_startup_funcs.sh index c4a076757a..a3a3b59c8a 100755 --- a/tools/gce_setup/shared_startup_funcs.sh +++ b/tools/gce_setup/shared_startup_funcs.sh @@ -421,6 +421,10 @@ grpc_dockerfile_install() { grpc_docker_sync_roots_pem $dockerfile_dir/cacerts || return 1; grpc_docker_sync_service_account $dockerfile_dir/service_account || return 1; } + [[ $image_label == "grpc/php" ]] && { + grpc_docker_sync_roots_pem $dockerfile_dir/cacerts || return 1; + grpc_docker_sync_service_account $dockerfile_dir/service_account || return 1; + } [[ $image_label == "grpc/cxx" ]] && { grpc_docker_sync_roots_pem $dockerfile_dir/cacerts || return 1; grpc_docker_sync_service_account $dockerfile_dir/service_account || return 1; |