Plumb `--warp-slot` through net scripts (#10639)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
Trent Nelson 2020-06-16 19:55:55 -06:00 committed by GitHub
parent bdbd677d57
commit 4daa519c1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 1 deletions

View File

@ -99,6 +99,7 @@ Operate a configured testnet
--operating-mode development|softlaunch --operating-mode development|softlaunch
- Specify whether or not to launch the cluster in "development" mode with all features enabled at epoch 0, - Specify whether or not to launch the cluster in "development" mode with all features enabled at epoch 0,
or "softlaunch" mode with some features disabled at epoch 0 (default: development) or "softlaunch" mode with some features disabled at epoch 0 (default: development)
--warp-slot WARP_SLOT - Boot from a snapshot that has warped ahead to WARP_SLOT rather than a slot 0 genesis.
sanity/start-specific options: sanity/start-specific options:
-F - Discard validator nodes that didn't bootup successfully -F - Discard validator nodes that didn't bootup successfully
-o noInstallCheck - Skip solana-install sanity -o noInstallCheck - Skip solana-install sanity
@ -284,6 +285,7 @@ startBootstrapLeader() {
\"$maybeNoSnapshot $maybeSkipLedgerVerify $maybeLimitLedgerSize $maybeWaitForSupermajority\" \ \"$maybeNoSnapshot $maybeSkipLedgerVerify $maybeLimitLedgerSize $maybeWaitForSupermajority\" \
\"$gpuMode\" \ \"$gpuMode\" \
\"$GEOLOCATION_API_KEY\" \ \"$GEOLOCATION_API_KEY\" \
\"$maybeWarpSlot\" \
" "
) >> "$logFile" 2>&1 || { ) >> "$logFile" 2>&1 || {
@ -353,6 +355,7 @@ startNode() {
\"$maybeNoSnapshot $maybeSkipLedgerVerify $maybeLimitLedgerSize $maybeWaitForSupermajority\" \ \"$maybeNoSnapshot $maybeSkipLedgerVerify $maybeLimitLedgerSize $maybeWaitForSupermajority\" \
\"$gpuMode\" \ \"$gpuMode\" \
\"$GEOLOCATION_API_KEY\" \ \"$GEOLOCATION_API_KEY\" \
\"$maybeWarpSlot\" \
" "
) >> "$logFile" 2>&1 & ) >> "$logFile" 2>&1 &
declare pid=$! declare pid=$!
@ -744,6 +747,7 @@ netemConfigFile=""
netemCommand="add" netemCommand="add"
clientDelayStart=0 clientDelayStart=0
netLogDir= netLogDir=
maybeWarpSlot=
command=$1 command=$1
[[ -n $command ]] || usage [[ -n $command ]] || usage
@ -847,6 +851,9 @@ while [[ -n $1 ]]; do
elif [[ $1 == --wait-for-supermajority ]]; then elif [[ $1 == --wait-for-supermajority ]]; then
maybeWaitForSupermajority="$1 $2" maybeWaitForSupermajority="$1 $2"
shift 2 shift 2
elif [[ $1 == --warp-slot ]]; then
maybeWarpSlot="$1 $2"
shift 2
else else
usage "Unknown long option: $1" usage "Unknown long option: $1"
fi fi

View File

@ -26,6 +26,7 @@ genesisOptions="${17}"
extraNodeArgs="${18}" extraNodeArgs="${18}"
gpuMode="${19:-auto}" gpuMode="${19:-auto}"
GEOLOCATION_API_KEY="${20}" GEOLOCATION_API_KEY="${20}"
maybeWarpSlot="${21}"
set +x set +x
missing() { missing() {
@ -229,6 +230,11 @@ EOF
fi fi
multinode-demo/setup.sh "${args[@]}" multinode-demo/setup.sh "${args[@]}"
if [[ -n "$maybeWarpSlot" ]]; then
# shellcheck disable=SC2086 # Do not want to quote $maybeWarSlot
solana-ledger-tool -l config/bootstrap-validator create-snapshot 0 config/bootstrap-validator $maybeWarpSlot
fi
solana-ledger-tool -l config/bootstrap-validator shred-version --max-genesis-archive-unpacked-size 1073741824 | tee config/shred-version solana-ledger-tool -l config/bootstrap-validator shred-version --max-genesis-archive-unpacked-size 1073741824 | tee config/shred-version
fi fi
args=( args=(

View File

@ -124,11 +124,16 @@ function launch_testnet() {
declare -g version_args declare -g version_args
get_net_launch_software_version_launch_args "$CHANNEL" "solana-release" version_args get_net_launch_software_version_launch_args "$CHANNEL" "solana-release" version_args
declare maybeWarpSlot
if [[ -n "$WARP_SLOT" ]]; then
maybeWarpSlot="--warp-slot $WARP_SLOT"
fi
# shellcheck disable=SC2068 # shellcheck disable=SC2068
# shellcheck disable=SC2086 # shellcheck disable=SC2086
"${REPO_ROOT}"/net/net.sh start $version_args \ "${REPO_ROOT}"/net/net.sh start $version_args \
-c idle=$NUMBER_OF_CLIENT_NODES $maybeStartAllowBootFailures \ -c idle=$NUMBER_OF_CLIENT_NODES $maybeStartAllowBootFailures \
--gpu-mode $startGpuMode --gpu-mode $startGpuMode $maybeWarpSlot
execution_step "Waiting for bootstrap validator's stake to fall below ${BOOTSTRAP_VALIDATOR_MAX_STAKE_THRESHOLD}%" execution_step "Waiting for bootstrap validator's stake to fall below ${BOOTSTRAP_VALIDATOR_MAX_STAKE_THRESHOLD}%"
wait_for_bootstrap_validator_stake_drop "$BOOTSTRAP_VALIDATOR_MAX_STAKE_THRESHOLD" wait_for_bootstrap_validator_stake_drop "$BOOTSTRAP_VALIDATOR_MAX_STAKE_THRESHOLD"