diff --git a/ci/testnet-deploy.sh b/ci/testnet-deploy.sh index 8d1f595135..abb21f8890 100755 --- a/ci/testnet-deploy.sh +++ b/ci/testnet-deploy.sh @@ -32,6 +32,7 @@ maybeLamports= maybeLetsEncrypt= maybeFullnodeAdditionalDiskSize= maybeNoSnapshot= +maybeLimitLedgerSize= usage() { exitcode=0 @@ -111,7 +112,7 @@ while [[ -n $1 ]]; do maybeLamports="$1 $2" shift 2 elif [[ $1 = --no-airdrop ]]; then - maybeDisableAirdrops="$1" + maybeDisableAirdrops=$1 shift 1 elif [[ $1 = --internal-nodes-stake-lamports ]]; then maybeInternalNodesStakeLamports="$1 $2" @@ -138,7 +139,10 @@ while [[ -n $1 ]]; do shortArgs+=("$1") shift elif [[ $1 = --no-snapshot-fetch ]]; then - maybeNoSnapshot="$1" + maybeNoSnapshot=$1 + shift 1 + elif [[ $1 = --limit-ledger-size ]]; then + maybeLimitLedgerSize=$1 shift 1 else usage "Unknown long option: $1" @@ -379,10 +383,6 @@ if ! $skipStart; then if [[ -n $NO_INSTALL_CHECK ]]; then args+=(-o noInstallCheck) fi - if [[ -n $maybeHashesPerTick ]]; then - # shellcheck disable=SC2206 # Do not want to quote $maybeHashesPerTick - args+=($maybeHashesPerTick) - fi if $reuseLedger; then args+=(-r) fi @@ -398,31 +398,17 @@ if ! $skipStart; then args+=(--deploy-update windows) fi - if [[ -n $maybeDisableAirdrops ]]; then - # shellcheck disable=SC2206 - args+=($maybeDisableAirdrops) - fi - if [[ -n $maybeInternalNodesStakeLamports ]]; then - # shellcheck disable=SC2206 # Do not want to quote $maybeInternalNodesStakeLamports - args+=($maybeInternalNodesStakeLamports) - fi - if [[ -n $maybeInternalNodesLamports ]]; then - # shellcheck disable=SC2206 # Do not want to quote $maybeInternalNodesLamports - args+=($maybeInternalNodesLamports) - fi - if [[ -n $maybeExternalPrimordialAccountsFile ]]; then - # shellcheck disable=SC2206 # Do not want to quote $maybeExternalPrimordialAccountsFile - args+=($maybeExternalPrimordialAccountsFile) - fi - if [[ -n $maybeLamports ]]; then - # shellcheck disable=SC2206 # Do not want to quote $maybeLamports - args+=($maybeLamports) - fi - - if [[ -n $maybeNoSnapshot ]]; then - # shellcheck disable=SC2206 - args+=($maybeNoSnapshot) - fi + # shellcheck disable=SC2206 # Do not want to quote + args+=( + $maybeHashesPerTick + $maybeDisableAirdrops + $maybeInternalNodesStakeLamports + $maybeInternalNodesLamports + $maybeExternalPrimordialAccountsFile + $maybeLamports + $maybeNoSnapshot + $maybeLimitLedgerSize + ) time net/net.sh "${args[@]}" ) || ok=false diff --git a/ci/testnet-manager.sh b/ci/testnet-manager.sh index 27e6379d92..4bea0904c5 100755 --- a/ci/testnet-manager.sh +++ b/ci/testnet-manager.sh @@ -319,6 +319,7 @@ deploy() { ci/testnet-deploy.sh -p edge-testnet-solana-com -C gce -z us-west1-b \ -t "$CHANNEL_OR_TAG" -n 2 -c 0 -u -P \ -a edge-testnet-solana-com --letsencrypt edge.testnet.solana.com \ + --limit-ledger-size \ ${skipCreate:+-e} \ ${skipStart:+-s} \ ${maybeStop:+-S} \ @@ -341,14 +342,14 @@ deploy() { testnet-beta) ( set -x - NO_VALIDATOR_SANITY=1 \ - ci/testnet-deploy.sh -p beta-testnet-solana-com -C gce -z us-west1-b \ - -t "$CHANNEL_OR_TAG" -n 2 -c 0 -u -P \ - -a beta-testnet-solana-com --letsencrypt beta.testnet.solana.com \ - ${skipCreate:+-e} \ - ${skipStart:+-s} \ - ${maybeStop:+-S} \ - ${maybeDelete:+-D} + ci/testnet-deploy.sh -p beta-testnet-solana-com -C gce -z us-west1-b \ + -t "$CHANNEL_OR_TAG" -n 2 -c 0 -u -P \ + -a beta-testnet-solana-com --letsencrypt beta.testnet.solana.com \ + --limit-ledger-size \ + ${skipCreate:+-e} \ + ${skipStart:+-s} \ + ${maybeStop:+-S} \ + ${maybeDelete:+-D} ) ;; testnet-beta-perf) @@ -367,14 +368,14 @@ deploy() { testnet) ( set -x - NO_VALIDATOR_SANITY=1 \ - ci/testnet-deploy.sh -p testnet-solana-com -C gce -z us-west1-b \ - -t "$CHANNEL_OR_TAG" -n 2 -c 0 -u -P \ - -a testnet-solana-com --letsencrypt testnet.solana.com \ - ${skipCreate:+-e} \ - ${skipStart:+-s} \ - ${maybeStop:+-S} \ - ${maybeDelete:+-D} + ci/testnet-deploy.sh -p testnet-solana-com -C gce -z us-west1-b \ + -t "$CHANNEL_OR_TAG" -n 2 -c 0 -u -P \ + -a testnet-solana-com --letsencrypt testnet.solana.com \ + --limit-ledger-size \ + ${skipCreate:+-e} \ + ${skipStart:+-s} \ + ${maybeStop:+-S} \ + ${maybeDelete:+-D} ) ;; testnet-perf) diff --git a/multinode-demo/bootstrap-leader.sh b/multinode-demo/bootstrap-leader.sh index 2891e23b58..1410bdde78 100755 --- a/multinode-demo/bootstrap-leader.sh +++ b/multinode-demo/bootstrap-leader.sh @@ -26,6 +26,9 @@ while [[ -n $1 ]]; do elif [[ $1 = --dynamic-port-range ]]; then args+=("$1" "$2") shift 2 + elif [[ $1 = --limit-ledger-size ]]; then + args+=("$1") + shift else echo "Unknown argument: $1" $program --help diff --git a/multinode-demo/validator.sh b/multinode-demo/validator.sh index 084a51ca39..e2bf4fdc46 100755 --- a/multinode-demo/validator.sh +++ b/multinode-demo/validator.sh @@ -92,6 +92,9 @@ while [[ -n $1 ]]; do gossip_entrypoint=$2 args+=("$1" "$2") shift 2 + elif [[ $1 = --limit-ledger-size ]]; then + args+=("$1") + shift elif [[ $1 = --no-snapshot-fetch ]]; then args+=("$1") shift diff --git a/net/gce.sh b/net/gce.sh index c702cd655b..5aed8b8abd 100755 --- a/net/gce.sh +++ b/net/gce.sh @@ -60,9 +60,9 @@ additionalFullNodeCount=2 clientNodeCount=1 replicatorNodeCount=0 blockstreamer=false -fullNodeBootDiskSizeInGb=1000 +fullNodeBootDiskSizeInGb=500 clientBootDiskSizeInGb=75 -replicatorBootDiskSizeInGb=1000 +replicatorBootDiskSizeInGb=500 fullNodeAdditionalDiskSizeInGb= externalNodes=false failOnValidatorBootupFailure=true diff --git a/net/net.sh b/net/net.sh index 05f516b7d1..193fbc5b83 100755 --- a/net/net.sh +++ b/net/net.sh @@ -123,6 +123,7 @@ remoteExternalPrimordialAccountsFile= internalNodesStakeLamports= internalNodesLamports= maybeNoSnapshot="" +maybeLimitLedgerSize="" maybeSkipLedgerVerify="" maybeDisableAirdrops="" debugBuild=false @@ -153,6 +154,9 @@ while [[ -n $1 ]]; do elif [[ $1 = --no-build ]]; then doBuild=false shift 1 + elif [[ $1 = --limit-ledger-size ]]; then + maybeLimitLedgerSize="$1" + shift 1 elif [[ $1 = --skip-ledger-verify ]]; then maybeSkipLedgerVerify="$1" shift 1 @@ -400,7 +404,6 @@ startBootstrapLeader() { ;; esac - # shellcheck disable=SC2086 # Don't want to double quote "$maybeNoSnapshot $maybeSkipLedgerVerify" ssh "${sshOptions[@]}" -n "$ipAddress" \ "./solana/net/remote/remote-node.sh \ $deployMethod \ @@ -418,7 +421,7 @@ startBootstrapLeader() { $numBenchTpsClients \"$benchTpsExtraArgs\" \ $numBenchExchangeClients \"$benchExchangeExtraArgs\" \ \"$genesisOptions\" \ - "$maybeNoSnapshot $maybeSkipLedgerVerify" \ + \"$maybeNoSnapshot $maybeSkipLedgerVerify $maybeLimitLedgerSize\" \ " ) >> "$logFile" 2>&1 || { cat "$logFile" @@ -482,7 +485,7 @@ startNode() { $numBenchTpsClients \"$benchTpsExtraArgs\" \ $numBenchExchangeClients \"$benchExchangeExtraArgs\" \ \"$genesisOptions\" \ - \"$maybeNoSnapshot $maybeSkipLedgerVerify\" \ + \"$maybeNoSnapshot $maybeSkipLedgerVerify $maybeLimitLedgerSize\" \ " ) >> "$logFile" 2>&1 & declare pid=$! diff --git a/validator/src/main.rs b/validator/src/main.rs index f57d61c518..3f8098fcc1 100644 --- a/validator/src/main.rs +++ b/validator/src/main.rs @@ -384,7 +384,6 @@ fn main() { clap::Arg::with_name("limit_ledger_size") .long("limit-ledger-size") .takes_value(false) - .requires("snapshot_path") .help("drop older slots in the ledger"), ) .arg(