11#! /bin/bash
22
33if [[ $# -lt 4 ]] || [[ $# -gt 10 ]]; then
4- printf " Usage: bash deploy_blockchain_genesis_gcp.sh [dev|staging|sandbox|exp|spring|summer|mainnet] <# of Shards> <Parent Node Index Begin> <Parent Node Index End> [--setup] [--keystore|--mnemonic|--private-key] [--keep-code|--no-keep-code] [--keep-data|--no-keep-data] [--full-sync|--fast-sync] [--chown-data|--no-chown-data] [--kill-only |--skip- kill]\n"
4+ printf " Usage: bash deploy_blockchain_genesis_gcp.sh [dev|staging|sandbox|exp|spring|summer|mainnet] <# of Shards> <Parent Node Index Begin> <Parent Node Index End> [--setup] [--keystore|--mnemonic|--private-key] [--keep-code|--no-keep-code] [--keep-data|--no-keep-data] [--full-sync|--fast-sync] [--chown-data|--no-chown-data] [--kill-job |--kill-only ]\n"
55 printf " Example: bash deploy_blockchain_genesis_gcp.sh dev 0 -1 4 --keystore --no-keep-code\n"
66 printf " Example: bash deploy_blockchain_genesis_gcp.sh dev 0 0 0 --keystore --keep-code\n"
77 printf " Example: bash deploy_blockchain_genesis_gcp.sh dev 0 -1 -1 --setup --keystore --no-keep-code\n"
@@ -72,17 +72,9 @@ function parse_options() {
7272 CHOWN_DATA_OPTION=" $option "
7373 elif [[ $option = ' --no-chown-data' ]]; then
7474 CHOWN_DATA_OPTION=" $option "
75- elif [[ $option = ' --kill-only' ]]; then
76- if [[ " $KILL_OPTION " ]]; then
77- printf " You cannot use both --skip-kill and --kill-only\n"
78- exit
79- fi
75+ elif [[ $option = ' --kill-job' ]]; then
8076 KILL_OPTION=" $option "
81- elif [[ $option = ' --skip-kill' ]]; then
82- if [[ " $KILL_OPTION " ]]; then
83- printf " You cannot use both --skip-kill and --kill-only\n"
84- exit
85- fi
77+ elif [[ $option = ' --kill-only' ]]; then
8678 KILL_OPTION=" $option "
8779 else
8880 printf " Invalid options: $option \n"
@@ -97,7 +89,7 @@ KEEP_CODE_OPTION="--keep-code"
9789KEEP_DATA_OPTION=" --keep-data"
9890SYNC_MODE_OPTION=" --fast-sync"
9991CHOWN_DATA_OPTION=" --no-chown-data"
100- KILL_OPTION=" "
92+ KILL_OPTION=" --kill-job "
10193
10294ARG_INDEX=5
10395while [ $ARG_INDEX -le $# ]; do
@@ -326,47 +318,43 @@ if [[ $KEEP_CODE_OPTION = "--no-keep-code" ]]; then
326318 fi
327319fi
328320
329- if [[ $KILL_OPTION = " --skip-kill" ]]; then
330- printf " \nSkipping process kill...\n"
331- else
332- # kill any processes still alive
333- printf " \nKilling tracker / blockchain node jobs...\n"
334-
335- # Tracker server is killed with PARENT_NODE_INDEX_BEGIN = -1
336- if [[ $PARENT_NODE_INDEX_BEGIN = -1 ]]; then
337- printf " \n* >> Killing tracker job (${TRACKER_TARGET_ADDR} ) *********************************************************\n\n"
338- gcloud compute ssh $TRACKER_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $TRACKER_ZONE
339- fi
340-
341- begin_index=$PARENT_NODE_INDEX_BEGIN
342- if [[ $begin_index -lt 0 ]]; then
343- begin_index=0
344- fi
345- if [[ $begin_index -le $PARENT_NODE_INDEX_END ]] && [[ $PARENT_NODE_INDEX_END -ge 0 ]]; then
346- for node_index in ` seq $(( $begin_index )) $(( $PARENT_NODE_INDEX_END )) ` ; do
347- NODE_TARGET_ADDR=NODE_${node_index} _TARGET_ADDR
348- NODE_ZONE=NODE_${node_index} _ZONE
321+ # kill any processes still alive
322+ printf " \nKilling tracker / blockchain node jobs...\n"
349323
350- printf " \n* >> Killing node $node_index job (${! NODE_TARGET_ADDR} ) *********************************************************\n\n"
351- gcloud compute ssh ${! NODE_TARGET_ADDR} --command " sudo killall node" --project $PROJECT_ID --zone ${! NODE_ZONE}
352- done
353- fi
324+ # Tracker server is killed with PARENT_NODE_INDEX_BEGIN = -1
325+ if [[ $PARENT_NODE_INDEX_BEGIN = -1 ]]; then
326+ printf " \n* >> Killing tracker job (${TRACKER_TARGET_ADDR} ) *********************************************************\n\n"
327+ gcloud compute ssh $TRACKER_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $TRACKER_ZONE
328+ fi
354329
355- if [[ $NUM_SHARDS -gt 0 ]]; then
356- for i in $( seq $NUM_SHARDS ) ; do
357- printf " shard #$i \n"
330+ begin_index=$PARENT_NODE_INDEX_BEGIN
331+ if [[ $begin_index -lt 0 ]]; then
332+ begin_index=0
333+ fi
334+ if [[ $begin_index -le $PARENT_NODE_INDEX_END ]] && [[ $PARENT_NODE_INDEX_END -ge 0 ]]; then
335+ for node_index in ` seq $(( $begin_index )) $(( $PARENT_NODE_INDEX_END )) ` ; do
336+ NODE_TARGET_ADDR=NODE_${node_index} _TARGET_ADDR
337+ NODE_ZONE=NODE_${node_index} _ZONE
358338
359- SHARD_TRACKER_TARGET_ADDR= " ${GCP_USER} @ ${SEASON} -shard- ${i} -tracker-taiwan "
360- SHARD_NODE_0_TARGET_ADDR= " ${GCP_USER} @ ${SEASON} -shard- ${i} -node-0-taiwan "
361- SHARD_NODE_1_TARGET_ADDR= " ${GCP_USER} @ ${SEASON} -shard- ${i} -node-1-oregon "
362- SHARD_NODE_2_TARGET_ADDR= " ${GCP_USER} @ ${SEASON} -shard- ${i} -node-2-singapore "
339+ printf " \n* >> Killing node $node_index job ( ${ ! NODE_TARGET_ADDR} ) *********************************************************\n\n "
340+ gcloud compute ssh ${ ! NODE_TARGET_ADDR} --command " sudo killall node " --project $PROJECT_ID --zone ${ ! NODE_ZONE}
341+ done
342+ fi
363343
364- gcloud compute ssh $SHARD_TRACKER_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $TRACKER_ZONE
365- gcloud compute ssh $SHARD_NODE_0_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $NODE_0_ZONE
366- gcloud compute ssh $SHARD_NODE_1_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $NODE_1_ZONE
367- gcloud compute ssh $SHARD_NODE_2_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $NODE_2_ZONE
368- done
369- fi
344+ if [[ $NUM_SHARDS -gt 0 ]]; then
345+ for i in $( seq $NUM_SHARDS ) ; do
346+ printf " shard #$i \n"
347+
348+ SHARD_TRACKER_TARGET_ADDR=" ${GCP_USER} @${SEASON} -shard-${i} -tracker-taiwan"
349+ SHARD_NODE_0_TARGET_ADDR=" ${GCP_USER} @${SEASON} -shard-${i} -node-0-taiwan"
350+ SHARD_NODE_1_TARGET_ADDR=" ${GCP_USER} @${SEASON} -shard-${i} -node-1-oregon"
351+ SHARD_NODE_2_TARGET_ADDR=" ${GCP_USER} @${SEASON} -shard-${i} -node-2-singapore"
352+
353+ gcloud compute ssh $SHARD_TRACKER_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $TRACKER_ZONE
354+ gcloud compute ssh $SHARD_NODE_0_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $NODE_0_ZONE
355+ gcloud compute ssh $SHARD_NODE_1_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $NODE_1_ZONE
356+ gcloud compute ssh $SHARD_NODE_2_TARGET_ADDR --command " sudo killall node" --project $PROJECT_ID --zone $NODE_2_ZONE
357+ done
370358fi
371359
372360# If --kill-only, do not proceed any further
0 commit comments