testnet-demo: skip over validator nodes that fail to boot

This commit is contained in:
Michael Vines 2019-04-27 21:31:36 -07:00
parent 697cd17b59
commit 528bdf34fd
No known key found for this signature in database
GPG Key ID: 33F4FDEC4E0E88BD
2 changed files with 16 additions and 3 deletions

View File

@ -14,6 +14,7 @@ stopNetwork=false
skipSetup=false skipSetup=false
skipStart=false skipStart=false
externalNode=false externalNode=false
failOnValidatorBootupFailure=true
tarChannelOrTag=edge tarChannelOrTag=edge
delete=false delete=false
enableGpu=false enableGpu=false
@ -57,6 +58,7 @@ Deploys a CD testnet
-x - External node. Default: false -x - External node. Default: false
-s - Skip start. Nodes will still be created or configured, but network software will not be started. -s - Skip start. Nodes will still be created or configured, but network software will not be started.
-S - Stop network software without tearing down nodes. -S - Stop network software without tearing down nodes.
-f - Discard validator nodes that didn't bootup successfully
Note: the SOLANA_METRICS_CONFIG environment variable is used to configure Note: the SOLANA_METRICS_CONFIG environment variable is used to configure
metrics metrics
@ -66,7 +68,7 @@ EOF
zone=() zone=()
while getopts "h?p:Pn:c:t:gG:a:Dbd:rusxz:p:C:S" opt; do while getopts "h?p:Pn:c:t:gG:a:Dbd:rusxz:p:C:Sf" opt; do
case $opt in case $opt in
h | \?) h | \?)
usage usage
@ -127,6 +129,9 @@ while getopts "h?p:Pn:c:t:gG:a:Dbd:rusxz:p:C:S" opt; do
x) x)
externalNode=true externalNode=true
;; ;;
f)
failOnValidatorBootupFailure=false
;;
u) u)
blockstreamer=true blockstreamer=true
;; ;;
@ -224,6 +229,10 @@ if ! $skipSetup; then
create_args+=(-x) create_args+=(-x)
fi fi
if ! $failOnValidatorBootupFailure; then
create_args+=(-f)
fi
time net/"$cloudProvider".sh create "${create_args[@]}" time net/"$cloudProvider".sh create "${create_args[@]}"
else else
echo "--- $cloudProvider.sh config" echo "--- $cloudProvider.sh config"
@ -236,6 +245,10 @@ else
config_args+=(-P) config_args+=(-P)
fi fi
if ! $failOnValidatorBootupFailure; then
config_args+=(-f)
fi
time net/"$cloudProvider".sh config "${config_args[@]}" time net/"$cloudProvider".sh config "${config_args[@]}"
fi fi
net/init-metrics.sh -e net/init-metrics.sh -e

View File

@ -231,7 +231,7 @@ sanity() {
ok=true ok=true
if [[ -n $GCE_NODE_COUNT ]]; then if [[ -n $GCE_NODE_COUNT ]]; then
NO_LEDGER_VERIFY=1 \ NO_LEDGER_VERIFY=1 \
ci/testnet-sanity.sh demo-testnet-solana-com gce "${GCE_ZONES[0]}" || ok=false ci/testnet-sanity.sh demo-testnet-solana-com gce "${GCE_ZONES[0]}" -f || ok=false
else else
echo "Error: no GCE nodes" echo "Error: no GCE nodes"
ok=false ok=false
@ -374,7 +374,7 @@ deploy() {
if [[ -n $GCE_NODE_COUNT ]]; then if [[ -n $GCE_NODE_COUNT ]]; then
# shellcheck disable=SC2068 # shellcheck disable=SC2068
ci/testnet-deploy.sh -p testnet-demo -C gce ${GCE_ZONE_ARGS[@]} \ ci/testnet-deploy.sh -p testnet-demo -C gce ${GCE_ZONE_ARGS[@]} \
-t "$CHANNEL_OR_TAG" -n "$GCE_NODE_COUNT" -c 0 -P -u \ -t "$CHANNEL_OR_TAG" -n "$GCE_NODE_COUNT" -c 0 -P -u -f \
-a demo-testnet-solana-com \ -a demo-testnet-solana-com \
${skipCreate:+-r} \ ${skipCreate:+-r} \
${skipStart:+-s} \ ${skipStart:+-s} \