Rewrite ci/testnet-{deploy,sanity}.sh in terms of net/ primitives

This commit is contained in:
Michael Vines
2018-09-06 10:34:24 -07:00
parent e175c9dea9
commit 66ff602659
3 changed files with 106 additions and 533 deletions

View File

@@ -1,78 +1,32 @@
#!/bin/bash -e
#
# Perform a quick sanity test on the specific testnet
#
cd "$(dirname "$0")/.."
source scripts/configure-metrics.sh
NET_URL=$1
if [[ -z $NET_URL ]]; then
NET_URL=testnet.solana.com
fi
EXPECTED_NODE_COUNT=$2
if [[ -z $EXPECTED_NODE_COUNT ]]; then
EXPECTED_NODE_COUNT=50
fi
echo "--- $NET_URL: verify ledger"
if [[ -z $NO_LEDGER_VERIFY ]]; then
if [[ -d /var/snap/solana/current/config/ledger ]]; then
# Note: here we assume this script is actually running on the leader node...
(
set -x
rm -rf /var/tmp/ledger-verify
cp -r /var/snap/solana/current/config/ledger /var/tmp/ledger-verify
solana.ledger-tool --ledger /var/tmp/ledger-verify verify
)
else
echo "^^^ +++"
echo "Ledger verify skipped"
usage() {
exitcode=0
if [[ -n "$1" ]]; then
exitcode=1
echo "Error: $*"
fi
else
echo "^^^ +++"
echo "Ledger verify skipped (NO_LEDGER_VERIFY defined)"
fi
cat <<EOF
usage: $0 [name]
echo "--- $NET_URL: wallet sanity"
(
set -x
multinode-demo/test/wallet-sanity.sh $NET_URL
)
Sanity check a CD testnet
echo "--- $NET_URL: node count"
if [[ -n "$USE_SNAP" ]]; then
# TODO: Merge client.sh functionality into solana-bench-tps proper and
# remove this USE_SNAP case
cmd=solana.bench-tps
else
cmd=multinode-demo/client.sh
fi
name - name of the network
(
set -x
$cmd --num-nodes "$EXPECTED_NODE_COUNT" --converge-only
)
Note: the SOLANA_METRICS_CONFIG environment variable is used to configure
metrics
EOF
exit $exitcode
}
echo "--- $NET_URL: validator sanity"
if [[ -z $NO_VALIDATOR_SANITY ]]; then
(
./multinode-demo/setup.sh -t validator
set -e pipefail
timeout 10s ./multinode-demo/validator.sh "$NET_URL" 2>&1 | tee validator.log
)
wc -l validator.log
if grep -C100 panic validator.log; then
echo "^^^ +++"
echo "Panic observed"
exit 1
else
echo "Validator log looks ok"
fi
else
echo "^^^ +++"
echo "Validator sanity disabled (NO_VALIDATOR_SANITY defined)"
fi
netName=$1
[[ -n $netName ]] || usage ""
set -x
net/gce.sh config -p "$netName"
net/init-metrics.sh -e
net/net.sh sanity ${NO_LEDGER_VERIFY:+-o noLedgerVerify}
exit 0