Skip to content

Commit b3f2d9b

Browse files
committed
Make incremental deploy scripts work
1 parent 4743942 commit b3f2d9b

3 files changed

+28
-46
lines changed

deploy_blockchain_incremental_gcp.sh

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -355,18 +355,8 @@ if [[ $KEEP_CODE_OPTION = "--no-keep-code" ]]; then
355355
else
356356
GO_TO_PROJECT_ROOT_CMD="cd \$(find /home/ain-blockchain* -maxdepth 0 -type d)"
357357
fi
358-
if [[ $KEEP_DATA_OPTION = "--no-keep-data" ]]; then
359-
# restart after removing chains, snapshots, and log files (but keep the keys)
360-
CHAINS_DIR=/home/ain_blockchain_data/chains
361-
SNAPSHOTS_DIR=/home/ain_blockchain_data/snapshots
362-
LOGS_DIR=/home/ain_blockchain_data/logs
363-
START_TRACKER_CMD_BASE="sudo rm -rf /home/ain_blockchain_data/ && $GO_TO_PROJECT_ROOT_CMD && . start_tracker_incremental_gcp.sh"
364-
START_NODE_CMD_BASE="sudo rm -rf $CHAINS_DIR $SNAPSHOTS_DIR $LOGS_DIR && $GO_TO_PROJECT_ROOT_CMD && . start_node_incremental_gcp.sh"
365-
else
366-
# restart with existing chains, snapshots, and log files
367-
START_TRACKER_CMD_BASE="$GO_TO_PROJECT_ROOT_CMD && . start_tracker_incremental_gcp.sh"
368-
START_NODE_CMD_BASE="$GO_TO_PROJECT_ROOT_CMD && . start_node_incremental_gcp.sh"
369-
fi
358+
START_TRACKER_CMD_BASE="$GO_TO_PROJECT_ROOT_CMD && . start_tracker_incremental_gcp.sh"
359+
START_NODE_CMD_BASE="$GO_TO_PROJECT_ROOT_CMD && . start_node_incremental_gcp.sh"
370360

371361
# Tracker server is deployed with PARENT_NODE_INDEX_BEGIN = -1
372362
if [[ $PARENT_NODE_INDEX_BEGIN = -1 ]]; then

deploy_blockchain_incremental_onprem.sh

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -215,38 +215,25 @@ function deploy_node() {
215215
# 1. Copy files for node (if necessary)
216216
if [[ $KEEP_CODE_OPTION = "--no-keep-code" ]]; then
217217
printf "\n<<< Copying files for node $node_index ($node_target_addr) >>>\n\n"
218-
printf "FILES_FOR_NODE=${FILES_FOR_NODE}\n\n"
219218

220219
echo ${node_login_pw} | sshpass -f <(printf '%s\n' ${node_login_pw}) ssh $node_target_addr "sudo -S rm -rf ~/ain-blockchain; mkdir ~/ain-blockchain; chmod -R 777 ~/ain-blockchain"
221220
SCP_CMD="scp -r $FILES_FOR_NODE ${node_target_addr}:~/ain-blockchain"
222-
printf "SCP_CMD=$SCP_CMD\n\n"
221+
printf "\n\nSCP_CMD=$SCP_CMD\n\n"
223222
eval "sshpass -f <(printf '%s\n' ${node_login_pw}) ${SCP_CMD}"
224223
fi
225224

226225
# 2. Set up node (if necessary)
227226
# ssh into each instance, set up the ubuntu VM instance (ONLY NEEDED FOR THE FIRST TIME)
228227
if [[ $SETUP_OPTION = "--setup" ]]; then
229-
printf "\n<<< Setting up node $node_index ($node_target_addr) >>>\n\n"
228+
printf "\n\n<<< Setting up node $node_index ($node_target_addr) >>>\n\n"
230229

231230
SETUP_CMD="ssh $node_target_addr 'cd ./ain-blockchain; . setup_blockchain_ubuntu_onprem.sh'"
232-
printf "SETUP_CMD=$SETUP_CMD\n\n"
231+
printf "\nSETUP_CMD=$SETUP_CMD\n\n"
233232
eval "echo ${node_login_pw} | sshpass -f <(printf '%s\n' ${node_login_pw}) ${SETUP_CMD}"
234233
fi
235234

236-
# 3. Remove old data (if necessary)
237-
if [[ $KEEP_DATA_OPTION = "--no-keep-data" ]]; then
238-
printf "\n<<< Removing old data from node $node_index ($node_target_addr) >>>\n\n"
239-
240-
# Remove chains, snapshots, and log files (but keep the keys)
241-
CHAINS_DIR=/home/${SEASON}/ain_blockchain_data/chains
242-
SNAPSHOTS_DIR=/home/${SEASON}/ain_blockchain_data/snapshots
243-
LOGS_DIR=/home/${SEASON}/ain_blockchain_data/logs
244-
RM_CMD="ssh $node_target_addr 'sudo -S rm -rf $CHAINS_DIR $SNAPSHOTS_DIR $LOGS_DIR'"
245-
eval "echo ${node_login_pw} | sshpass -f <(printf '%s\n' ${node_login_pw}) ${RM_CMD}"
246-
fi
247-
248-
# 4. Start node
249-
printf "\n<<< Starting node $node_index ($node_target_addr) >>>\n\n"
235+
# 3. Start node
236+
printf "\n\n<<< Starting node $node_index ($node_target_addr) >>>\n\n"
250237

251238
if [[ $node_index -ge $JSON_RPC_NODE_INDEX_GE ]] && [[ $node_index -le $JSON_RPC_NODE_INDEX_LE ]]; then
252239
JSON_RPC_OPTION="--json-rpc"
@@ -277,14 +264,14 @@ function deploy_node() {
277264

278265
printf "\n"
279266
START_NODE_CMD="ssh $node_target_addr '$START_NODE_CMD_BASE $SEASON $ONPREM_USER 0 $node_index $KEEP_CODE_OPTION $KEEP_DATA_OPTION $SYNC_MODE_OPTION $CHOWN_DATA_OPTION $ACCOUNT_INJECTION_OPTION $JSON_RPC_OPTION $UPDATE_FRONT_DB_OPTION $REST_FUNC_OPTION $EVENT_HANDLER_OPTION'"
280-
printf "START_NODE_CMD=$START_NODE_CMD\n\n"
267+
printf "\nSTART_NODE_CMD=$START_NODE_CMD\n\n"
281268
eval "echo ${node_login_pw} | sshpass -f <(printf '%s\n' ${node_login_pw}) ${START_NODE_CMD}"
282269

283-
# 5. Inject node account
270+
# 4. Inject node account
284271
sleep 5
285272
if [[ $ACCOUNT_INJECTION_OPTION = "--keystore" ]]; then
286273
local node_url=${NODE_URL_LIST[${node_index}]}
287-
printf "\n* >> Initializing account for node $node_index ($node_target_addr) ********************\n\n"
274+
printf "\n\n* >> Initializing account for node $node_index ($node_target_addr) ********************\n\n"
288275
printf "node_url='$node_url'\n"
289276

290277
KEYSTORE_FILE_PATH="$KEYSTORE_DIR/keystore_node_$node_index.json"
@@ -296,7 +283,7 @@ function deploy_node() {
296283
elif [[ $ACCOUNT_INJECTION_OPTION = "--mnemonic" ]]; then
297284
local node_url=${NODE_URL_LIST[${node_index}]}
298285
local MNEMONIC=${MNEMONIC_LIST[${node_index}]}
299-
printf "\n* >> Injecting an account for node $node_index ($node_target_addr) ********************\n\n"
286+
printf "\n\n* >> Injecting an account for node $node_index ($node_target_addr) ********************\n\n"
300287
printf "node_url='$node_url'\n"
301288

302289
{
@@ -306,7 +293,7 @@ function deploy_node() {
306293
} | node inject_node_account.js $node_url $ACCOUNT_INJECTION_OPTION
307294
else
308295
local node_url=${NODE_URL_LIST[${node_index}]}
309-
printf "\n* >> Injecting an account for node $node_index ($node_target_addr) ********************\n\n"
296+
printf "\n\n* >> Injecting an account for node $node_index ($node_target_addr) ********************\n\n"
310297
printf "node_url='$node_url'\n"
311298

312299
local GENESIS_ACCOUNTS_PATH="blockchain-configs/base/genesis_accounts.json"
@@ -317,11 +304,11 @@ function deploy_node() {
317304
echo $PRIVATE_KEY | node inject_node_account.js $node_url $ACCOUNT_INJECTION_OPTION
318305
fi
319306

320-
# 6. Wait until node is synced
321-
printf "\n<<< Waiting until node $node_index ($node_target_addr) is synced >>>\n\n"
307+
# 5. Wait until node is synced
308+
printf "\n\n<<< Waiting until node $node_index ($node_target_addr) is synced >>>\n\n"
322309

323310
WAIT_CMD="ssh $node_target_addr 'cd \$(find /home/${SEASON}/ain-blockchain* -maxdepth 0 -type d); . wait_until_node_sync_gcp.sh'"
324-
printf "WAIT_CMD=$WAIT_CMD\n\n"
311+
printf "\nWAIT_CMD=$WAIT_CMD\n\n"
325312
eval "echo ${node_login_pw} | sshpass -f <(printf '%s\n' ${node_login_pw}) ${WAIT_CMD}"
326313
}
327314

start_node_incremental_onprem.sh

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -309,19 +309,18 @@ printf "NEW_DIR_PATH=$NEW_DIR_PATH\n"
309309
# 3. Set up working directory & install modules
310310
printf "\n#### [Step 3] Set up working directory & install modules ####\n\n"
311311
if [[ $KEEP_CODE_OPTION = "--no-keep-code" ]]; then
312-
printf '\n'
313-
printf 'Setting up new working directory..\n'
314-
# NOTE(platfowner): Add $SEASON to the node job name to be selectively killed in restarts.
315-
CODE_CMD="sudo mkdir -p /home/${SEASON}; sudo chmod -R 777 /home/${SEASON}; sudo chown -R $ONPREM_USER:$ONPREM_USER /home/${SEASON}; cd ~; sudo mv ain-blockchain $NEW_DIR_NAME; sudo mv $NEW_DIR_NAME /home; sudo chmod -R 777 $NEW_DIR_PATH; sudo chown -R $ONPREM_USER:$ONPREM_USER $NEW_DIR_PATH; cd $NEW_DIR_PATH; mv client/index.js client/${SEASON}-ain-blockchain-index.js"
316-
printf "\nCODE_CMD=$CODE_CMD\n"
317-
eval $CODE_CMD
318-
319312
printf '\n'
320313
printf 'Installing node modules..\n'
321-
cd $NEW_DIR_PATH
322314
INSTALL_CMD="yarn install --ignore-engines"
323315
printf "\nINSTALL_CMD=$INSTALL_CMD\n"
324316
eval $INSTALL_CMD
317+
318+
printf '\n'
319+
printf 'Setting up new working directory..\n'
320+
# NOTE(platfowner): Add $SEASON to the node job name to be selectively killed in restarts.
321+
CODE_CMD="sudo mkdir -p /home/${SEASON}; sudo chmod -R 777 /home/${SEASON}; sudo chown -R $ONPREM_USER:$ONPREM_USER /home/${SEASON}; cd ~; sudo mv ain-blockchain $NEW_DIR_PATH; sudo chmod -R 777 $NEW_DIR_PATH; sudo chown -R $ONPREM_USER:$ONPREM_USER $NEW_DIR_PATH; cd $NEW_DIR_PATH; mv client/index.js client/${SEASON}-ain-blockchain-index.js"
322+
printf "\nCODE_CMD=$CODE_CMD\n"
323+
eval $CODE_CMD
325324
else
326325
printf '\n'
327326
printf 'Reusing existing working directory..\n'
@@ -381,6 +380,12 @@ export STAKE=100000
381380
printf "STAKE=$STAKE\n"
382381
export LOG_BANDAGE_INFO=true
383382
printf "LOG_BANDAGE_INFO=$LOG_BANDAGE_INFO\n"
383+
# on-premise nodes run with "comcom" hosting env
384+
export HOSTING_ENV="comcom"
385+
printf "HOSTING_ENV=$HOSTING_ENV\n"
386+
# on-premise nodes run with a blockchain data directory prefixed by ${SEASON}_
387+
export BLOCKCHAIN_DATA_DIR="/home/${SEASON}/ain_blockchain_data"
388+
printf "BLOCKCHAIN_DATA_DIR=$BLOCKCHAIN_DATA_DIR\n"
384389

385390
if [[ "$SEASON" = "sandbox" ]]; then
386391
MAX_OLD_SPACE_SIZE_MB=11000

0 commit comments

Comments
 (0)