diff --git a/net/net.sh b/net/net.sh index 8e3a93775a..f38acca37b 100755 --- a/net/net.sh +++ b/net/net.sh @@ -32,6 +32,8 @@ Operate a configured testnet (vX.Y.Z) -f [cargoFeatures] - List of |cargo --feaures=| to activate (ignored if -s or -S is specified) + -r - Reuse existing node/ledger configuration from a + previous |start| (ie, don't run ./mulitnode-demo/setup.sh). Note: if RUST_LOG is set in the environment it will be propogated into the network nodes. @@ -54,12 +56,13 @@ snapFilename= deployMethod=local sanityExtraArgs= cargoFeatures= +skipSetup=false command=$1 [[ -n $command ]] || usage shift -while getopts "h?S:s:T:t:o:f:" opt; do +while getopts "h?S:s:T:t:o:f:r" opt; do case $opt in h | \?) usage @@ -99,6 +102,9 @@ while getopts "h?S:s:T:t:o:f:" opt; do f) cargoFeatures=$OPTARG ;; + r) + skipSetup=true + ;; o) case $OPTARG in noLedgerVerify|noValidatorSanity|rejectExtraNodes) @@ -190,6 +196,7 @@ startBootstrapLeader() { $entrypointIp \ ${#fullnodeIpList[@]} \ \"$RUST_LOG\" \ + $skipSetup \ " ) >> "$logFile" 2>&1 || { cat "$logFile" @@ -215,6 +222,7 @@ startNode() { $entrypointIp \ ${#fullnodeIpList[@]} \ \"$RUST_LOG\" \ + $skipSetup \ " ) >> "$logFile" 2>&1 & declare pid=$! @@ -403,7 +411,6 @@ stopNode() { set -x if snap list solana; then sudo snap set solana mode= - sudo snap remove solana fi ! tmux list-sessions || tmux kill-session for pattern in solana- remote- oom-monitor net-stats; do diff --git a/net/remote/remote-node.sh b/net/remote/remote-node.sh index 235f00cdf3..ff1c04cec8 100755 --- a/net/remote/remote-node.sh +++ b/net/remote/remote-node.sh @@ -10,6 +10,7 @@ publicNetwork="$3" entrypointIp="$4" numNodes="$5" RUST_LOG="$6" +skipSetup="$7" set +x export RUST_LOG=${RUST_LOG:-solana=warn} # if RUST_LOG is unset, default to warn @@ -23,6 +24,7 @@ missing() { [[ -n $publicNetwork ]] || missing publicNetwork [[ -n $entrypointIp ]] || missing entrypointIp [[ -n $numNodes ]] || missing numNodes +[[ -n $skipSetup ]] || missing skipSetup cat > deployConfig < drone.log 2>&1 & ./multinode-demo/bootstrap-leader.sh > bootstrap-leader.log 2>&1 & ln -sTf bootstrap-leader.log fullnode.log @@ -122,7 +155,9 @@ local|tar) export SOLANA_CUDA=1 fi - ./multinode-demo/setup.sh -t fullnode $setupArgs + if [[ $skipSetup != true ]]; then + ./multinode-demo/setup.sh -t fullnode $setupArgs + fi ./multinode-demo/fullnode.sh "$entrypointIp":~/solana "$entrypointIp:8001" > fullnode.log 2>&1 & ;; *) diff --git a/snap/hooks/configure b/snap/hooks/configure index 1ef3dd6f76..d2f425d6c5 100755 --- a/snap/hooks/configure +++ b/snap/hooks/configure @@ -12,23 +12,26 @@ if [[ -z "$mode" ]]; then exit 0 fi -num_tokens="$(snapctl get num-tokens)" -num_tokens="${num_tokens:+-n $num_tokens}" +skipSetup="$(snapctl get skip-setup)" +if [[ "$skipSetup" != true ]]; then + numTokens="$(snapctl get num-tokens)" + numTokens="${numTokens:+-n $numTokens}" -setup_args="$(snapctl get setup-args)" + setupArgs="$(snapctl get setup-args)" + "$SNAP"/multinode-demo/setup.sh $numTokens -p $setupArgs +else + echo Setup skipped +fi case $mode in bootstrap-leader+drone) - "$SNAP"/multinode-demo/setup.sh -t bootstrap-leader $num_tokens -p $setup_args snapctl start --enable solana.daemon-drone snapctl start --enable solana.daemon-bootstrap-leader ;; bootstrap-leader) - "$SNAP"/multinode-demo/setup.sh -t bootstrap-leader $num_tokens -p $setup_args snapctl start --enable solana.daemon-bootstrap-leader ;; fullnode) - "$SNAP"/multinode-demo/setup.sh -t fullnode -p $setup_args snapctl start --enable solana.daemon-fullnode ;; *)