|
|
|
@ -18,6 +18,20 @@ |
|
|
|
|
# * on startup, some of the docker images will be regenerated automatically |
|
|
|
|
# - used grpc_update_image to update images via that instance |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Creates the ssh key file expect by 'gcloud compute ssh' if it does not exist. |
|
|
|
|
# |
|
|
|
|
# Allows gcloud ssh commands to run on freshly started docker instances. |
|
|
|
|
_grpc_ensure_gcloud_ssh() { |
|
|
|
|
local default_key_file="$HOME/.ssh/google_compute_engine" |
|
|
|
|
[ -f $default_key_file ] || { |
|
|
|
|
ssh-keygen -f $default_key_file -N '' > /dev/null || { |
|
|
|
|
echo "could not precreate $default_key_file" 1>&2 |
|
|
|
|
return 1 |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Pushes a dockerfile dir to cloud storage. |
|
|
|
|
# |
|
|
|
|
# dockerfile is expected to the parent directory to a nunber of directoies each |
|
|
|
@ -50,6 +64,7 @@ grpc_push_dockerfiles() { |
|
|
|
|
# Adds the user to docker group on a GCE instance, and restarts the docker |
|
|
|
|
# daemon |
|
|
|
|
grpc_add_docker_user() { |
|
|
|
|
_grpc_ensure_gcloud_ssh || return 1; |
|
|
|
|
local host=$1 |
|
|
|
|
[[ -n $host ]] || { |
|
|
|
|
echo "$FUNCNAME: missing arg: host" 1>&2 |
|
|
|
@ -81,6 +96,7 @@ grpc_add_docker_user() { |
|
|
|
|
# grpc_update_image gs://bucket/path/to/dockerfile parent \. |
|
|
|
|
# image_label path/to/docker_dir docker_gce_instance [project] [zone] |
|
|
|
|
grpc_update_image() { |
|
|
|
|
_grpc_ensure_gcloud_ssh || return 1; |
|
|
|
|
local gs_root_uri=$1 |
|
|
|
|
[[ -n $gs_root_uri ]] || { |
|
|
|
|
echo "$FUNCNAME: missing arg: gs_root_uri" 1>&2 |
|
|
|
@ -350,6 +366,8 @@ grpc_update_docker_images_args() { |
|
|
|
|
# |
|
|
|
|
# Updates the GCE docker instance <server_name> |
|
|
|
|
grpc_update_docker_images() { |
|
|
|
|
_grpc_ensure_gcloud_ssh || return 1; |
|
|
|
|
|
|
|
|
|
# declare vars local so that they don't pollute the shell environment |
|
|
|
|
# where they this func is used. |
|
|
|
|
local grpc_zone grpc_project dry_run # set by grpc_set_project_and_zone |
|
|
|
@ -469,6 +487,7 @@ grpc_launch_server() { |
|
|
|
|
# |
|
|
|
|
# --server_host=<svr_addr> --server_port=<svr_port> --test_case=<...> |
|
|
|
|
grpc_interop_test() { |
|
|
|
|
_grpc_ensure_gcloud_ssh || return 1; |
|
|
|
|
# declare vars local so that they don't pollute the shell environment |
|
|
|
|
# where they this func is used. |
|
|
|
|
|
|
|
|
|