Add support for a client node running continuous transactions on the net
This commit is contained in:
@ -84,6 +84,14 @@ findVms "name=$leaderName"
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo "Client node:"
|
||||||
|
findVms "name=$leaderName-client"
|
||||||
|
clientVm=
|
||||||
|
if [[ ${#vmlist[@]} = 2 ]]; then
|
||||||
|
clientVm=${vmlist[1]}
|
||||||
|
unset 'vmlist[1]'
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Validator nodes:"
|
echo "Validator nodes:"
|
||||||
findVms "name~^$leaderName-validator-"
|
findVms "name~^$leaderName-validator-"
|
||||||
|
|
||||||
@ -96,7 +104,7 @@ if ! $ROLLING_UPDATE; then
|
|||||||
echo "--- Shutting down $vmName in zone $vmZone $nodePosition"
|
echo "--- Shutting down $vmName in zone $vmZone $nodePosition"
|
||||||
gcloud compute ssh "$vmName" --zone "$vmZone" \
|
gcloud compute ssh "$vmName" --zone "$vmZone" \
|
||||||
--ssh-flag="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
|
--ssh-flag="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
|
||||||
--command="echo sudo snap remove solana" &
|
--command="sudo snap remove solana" &
|
||||||
|
|
||||||
if [[ $((count % 5)) = 0 ]]; then
|
if [[ $((count % 5)) = 0 ]]; then
|
||||||
# Slow down deployment to avoid triggering GCP login
|
# Slow down deployment to avoid triggering GCP login
|
||||||
@ -110,6 +118,29 @@ if ! $ROLLING_UPDATE; then
|
|||||||
wait
|
wait
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
client_run() {
|
||||||
|
declare message=$1
|
||||||
|
declare cmd=$2
|
||||||
|
[[ -n $clientVm ]] || return 0;
|
||||||
|
vmName=${clientVm%:*}
|
||||||
|
vmZone=${clientVm#*:}
|
||||||
|
echo "--- $message $vmName in zone $vmZone"
|
||||||
|
gcloud compute ssh "$vmName" --zone "$vmZone" \
|
||||||
|
--ssh-flag="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" \
|
||||||
|
--command="$cmd"
|
||||||
|
}
|
||||||
|
|
||||||
|
client_run \
|
||||||
|
"Shutting down" \
|
||||||
|
"\
|
||||||
|
set -x;
|
||||||
|
tmux list-sessions; \
|
||||||
|
tmux capture-pane -t solana -p; \
|
||||||
|
tmux kill-session -t solana; \
|
||||||
|
sudo snap remove solana; \
|
||||||
|
"
|
||||||
|
|
||||||
echo "--- Refreshing leader"
|
echo "--- Refreshing leader"
|
||||||
leader=true
|
leader=true
|
||||||
pids=()
|
pids=()
|
||||||
@ -188,4 +219,19 @@ echo "--- $publicUrl sanity test"
|
|||||||
USE_SNAP=1 ci/testnet-sanity.sh $publicUrl ${#vmlist[@]}
|
USE_SNAP=1 ci/testnet-sanity.sh $publicUrl ${#vmlist[@]}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
client_run \
|
||||||
|
"Starting client on " \
|
||||||
|
"\
|
||||||
|
set -x;
|
||||||
|
sudo snap install solana --$SOLANA_SNAP_CHANNEL --devmode; \
|
||||||
|
snap info solana; \
|
||||||
|
tmux new -s solana -d \" \
|
||||||
|
/snap/bin/solana.client-demo $SOLANA_NET_URL ${#vmlist[@]} --loop; \
|
||||||
|
echo Error: client-demo should never exit; \
|
||||||
|
bash \
|
||||||
|
\"; \
|
||||||
|
sleep 2; \
|
||||||
|
tmux capture-pane -t solana -p -S -100 \
|
||||||
|
"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
Reference in New Issue
Block a user