Refresh in parallel

This commit is contained in:
Michael Vines
2018-07-12 20:08:35 -07:00
parent 3358a0bce6
commit bd9bb21045

View File

@ -29,29 +29,40 @@ while read -r vmName vmZone status; do
vmlist+=("$vmName:$vmZone") vmlist+=("$vmName:$vmZone")
done < <(gcloud compute instances list --filter="labels.testnet-mode=validator" --format 'value(name,zone,status)') done < <(gcloud compute instances list --filter="labels.testnet-mode=validator" --format 'value(name,zone,status)')
echo "--- Refreshing"
mode=leader+drone mode=leader+drone
for info in "${vmlist[@]}"; do for info in "${vmlist[@]}"; do
vmName=${info%:*} vmName=${info%:*}
vmZone=${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 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" \ gcloud compute ssh "$vmName" --zone "$vmZone" \
--ssh-flag="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -t" \ --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 mode=validator
done done
echo "Waiting..."
wait
for info in "${vmlist[@]}"; do
vmName=${info%:*}
cat "log-$vmName.txt"
done
echo "--- done" echo "--- done"
exit 0 exit 0