solana/ci/testnet-sanity.sh

68 lines
1.4 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -e
2018-07-16 12:05:48 -07:00
cd "$(dirname "$0")/.."
2018-12-22 12:34:30 -08:00
source ci/upload-ci-artifact.sh
2018-07-16 12:05:48 -07:00
usage() {
exitcode=0
if [[ -n "$1" ]]; then
exitcode=1
echo "Error: $*"
2018-08-17 20:41:30 -07:00
fi
cat <<EOF
2018-11-06 19:23:20 -08:00
usage: $0 [name] [cloud] [zone]
2018-07-20 08:50:08 -07:00
Sanity check a CD testnet
2018-07-16 12:05:48 -07:00
name - name of the network
2018-11-06 19:23:20 -08:00
cloud - cloud provider to use (gce, ec2)
zone - cloud provider zone of the network
Note: the SOLANA_METRICS_CONFIG environment variable is used to configure
metrics
EOF
exit $exitcode
}
2018-08-13 12:13:00 -07:00
netName=$1
2018-11-06 19:23:20 -08:00
cloudProvider=$2
zone=$3
[[ -n $netName ]] || usage ""
2018-11-06 19:23:20 -08:00
[[ -n $cloudProvider ]] || usage "Cloud provider not specified"
2018-09-28 07:32:49 -07:00
[[ -n $zone ]] || usage "Zone not specified"
shutdown() {
exitcode=$?
set +e
2018-12-23 09:11:15 -08:00
if [[ -d net/log ]]; then
mv net/log net/log-sanity
for logfile in net/log-sanity/*; do
if [[ -f $logfile ]]; then
upload-ci-artifact "$logfile"
tail "$logfile"
fi
done
fi
exit $exitcode
}
2018-12-23 09:11:15 -08:00
rm -rf net/{log,-sanity}
trap shutdown EXIT INT
set -x
2018-11-06 19:23:20 -08:00
echo "--- $cloudProvider.sh config"
2018-11-17 09:09:25 -08:00
timeout 5m net/"$cloudProvider".sh config -p "$netName" -z "$zone"
net/init-metrics.sh -e
echo "+++ $cloudProvider.sh info"
net/"$cloudProvider".sh info
2018-09-07 12:36:19 -07:00
echo --- net.sh sanity
2018-12-23 09:11:15 -08:00
ok=true
2018-12-23 17:30:41 -08:00
timeout 5m net/net.sh sanity \
2018-09-07 22:37:00 -07:00
${NO_LEDGER_VERIFY:+-o noLedgerVerify} \
${NO_VALIDATOR_SANITY:+-o noValidatorSanity} \
2018-12-23 09:11:15 -08:00
${REJECT_EXTRA_NODES:+-o rejectExtraNodes} || ok=false
2018-08-09 18:35:43 -07:00
2018-12-23 09:11:15 -08:00
net/net.sh logs
$ok