aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/gce_setup
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gce_setup')
-rwxr-xr-xtools/gce_setup/grpc_docker.sh34
-rwxr-xr-xtools/gce_setup/private_build_and_test.sh61
-rwxr-xr-xtools/gce_setup/shared_startup_funcs.sh4
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;