Refresh in parallel

This commit is contained in:
Michael Vines 2018-07-12 20:08:35 -07:00
parent effbf0b978
commit 54db379bf2
1 changed files with 23 additions and 12 deletions

View File

@ -29,29 +29,40 @@ while read -r vmName vmZone status; do
vmlist+=("$vmName:$vmZone")
done < <(gcloud compute instances list --filter="labels.testnet-mode=validator" --format 'value(name,zone,status)')
echo "--- Refreshing"
mode=leader+drone
for info in "${vmlist[@]}"; do
vmName=${info%:*}
vmZone=${info#*:}
echo "Starting refresh for $vmName"
echo "--- Processing $vmName in zone $vmZone as $mode"
cat > autogen-refresh.sh <<EOF
set -x
sudo snap remove solana
sudo snap install solana $SOLANA_SNAP_CHANNEL --devmode
sudo snap set solana mode=$mode metrics-config=$SOLANA_METRICS_CONFIG
snap info solana
sudo snap logs solana -n200
EOF
(
echo "--- Processing $vmName in zone $vmZone as $mode"
cat > "autogen-refresh-$vmName.sh" <<EOF
set -x
sudo snap remove solana
sudo snap install solana $SOLANA_SNAP_CHANNEL --devmode
sudo snap set solana mode=$mode metrics-config=$SOLANA_METRICS_CONFIG
snap info solana
sudo snap logs solana -n200
EOF
set -x
gcloud compute scp --zone "$vmZone" autogen-refresh.sh "$vmName":
gcloud compute scp --zone "$vmZone" "autogen-refresh-$vmName.sh" "$vmName":
gcloud compute ssh "$vmName" --zone "$vmZone" \
--ssh-flag="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -t" \
--command="bash ./autogen-refresh.sh"
)
--command="bash ./autogen-refresh-$vmName.sh"
) > "log-$vmName.txt" 2>&1 &
mode=validator
done
echo "Waiting..."
wait
for info in "${vmlist[@]}"; do
vmName=${info%:*}
cat "log-$vmName.txt"
done
echo "--- done"
exit 0