Add option to skip setup during cluster start
This commit is contained in:
parent
ad05f64b13
commit
b2ddac610c
11
net/net.sh
11
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
|
||||
|
|
|
@ -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 <<EOF
|
||||
deployMethod="$deployMethod"
|
||||
|
@ -42,16 +44,45 @@ fi
|
|||
case $deployMethod in
|
||||
snap)
|
||||
SECONDS=0
|
||||
|
||||
if [[ $skipSetup = true ]]; then
|
||||
for configDir in /var/snap/solana/current/config{,-local}; do
|
||||
if [[ ! -d $configDir ]]; then
|
||||
echo Error: not a directory: $configDir
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
(
|
||||
set -x
|
||||
sudo rm -rf /saved-node-config
|
||||
sudo mkdir /saved-node-config
|
||||
sudo mv /var/snap/solana/current/config{,-local} /saved-node-config
|
||||
)
|
||||
fi
|
||||
|
||||
[[ $nodeType = bootstrap-leader ]] ||
|
||||
net/scripts/rsync-retry.sh -vPrc "$entrypointIp:~/solana/solana.snap" .
|
||||
if snap list solana; then
|
||||
sudo snap remove solana
|
||||
fi
|
||||
sudo snap install solana.snap --devmode --dangerous
|
||||
|
||||
if [[ $skipSetup = true ]]; then
|
||||
(
|
||||
set -x
|
||||
sudo rm -rf /var/snap/solana/current/config{,-local}
|
||||
sudo mv /saved-node-config/* /var/snap/solana/current/
|
||||
sudo rm -rf /saved-node-config
|
||||
)
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2089
|
||||
commonNodeConfig="\
|
||||
entrypoint-ip=\"$entrypointIp\" \
|
||||
metrics-config=\"$SOLANA_METRICS_CONFIG\" \
|
||||
rust-log=\"$RUST_LOG\" \
|
||||
setup-args=\"$setupArgs\" \
|
||||
skip-setup=$skipSetup \
|
||||
"
|
||||
|
||||
if [[ -e /dev/nvidia0 ]]; then
|
||||
|
@ -90,11 +121,11 @@ local|tar)
|
|||
export USE_INSTALL=1
|
||||
export RUST_LOG
|
||||
|
||||
# Setup `/var/snap/solana/current/config` symlink so rsyncing the genesis
|
||||
# Setup `/var/snap/solana/current` symlink so rsyncing the genesis
|
||||
# ledger works (reference: `net/scripts/install-rsync.sh`)
|
||||
sudo rm -rf /var/snap/solana/current/config
|
||||
sudo mkdir -p /var/snap/solana/current/
|
||||
sudo ln -sT /home/solana/solana/config /var/snap/solana/current/config
|
||||
sudo rm -rf /var/snap/solana/current
|
||||
sudo mkdir -p /var/snap/solana
|
||||
sudo ln -sT /home/solana/solana /var/snap/solana/current
|
||||
|
||||
./fetch-perf-libs.sh
|
||||
# shellcheck source=/dev/null
|
||||
|
@ -109,7 +140,9 @@ local|tar)
|
|||
echo Selecting solana-fullnode-cuda
|
||||
export SOLANA_CUDA=1
|
||||
fi
|
||||
./multinode-demo/setup.sh -t bootstrap-leader $setupArgs
|
||||
if [[ $skipSetup != true ]]; then
|
||||
./multinode-demo/setup.sh -t bootstrap-leader $setupArgs
|
||||
fi
|
||||
./multinode-demo/drone.sh > 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 &
|
||||
;;
|
||||
*)
|
||||
|
|
|
@ -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
|
||||
;;
|
||||
*)
|
||||
|
|
Loading…
Reference in New Issue