net/ can now deploy Snaps
This commit is contained in:
@ -1,18 +1,56 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
[[ -n $1 ]] || exit
|
||||
deployMethod="$1"
|
||||
netEntrypoint="$2"
|
||||
numNodes="$3"
|
||||
RUST_LOG="$4"
|
||||
[[ -n $deployMethod ]] || exit
|
||||
[[ -n $netEntrypoint ]] || exit
|
||||
[[ -n $numNodes ]] || exit
|
||||
|
||||
cd "$(dirname "$0")"/../..
|
||||
source net/common.sh
|
||||
loadConfigFile
|
||||
|
||||
PATH="$HOME"/.cargo/bin:"$PATH"
|
||||
rsync -vPrz "$1":~/.cargo/bin/solana* ~/.cargo/bin/
|
||||
|
||||
numNodes=1 # TODO: Pass this in
|
||||
threadCount=$(nproc)
|
||||
if [[ $threadCount -gt 4 ]]; then
|
||||
threadCount=4
|
||||
fi
|
||||
|
||||
./script/install-earlyoom.sh
|
||||
|
||||
case $deployMethod in
|
||||
snap)
|
||||
sudo snap install solana.snap --devmode --dangerous
|
||||
rm solana.snap
|
||||
|
||||
sudo snap set solana metrics-config="$SOLANA_METRICS_CONFIG" rust-log="$RUST_LOG"
|
||||
solana_bench_tps=/snap/bin/solana.bench-tps
|
||||
;;
|
||||
local)
|
||||
PATH="$HOME"/.cargo/bin:"$PATH"
|
||||
export USE_INSTALL=1
|
||||
export RUST_LOG
|
||||
|
||||
rsync -vPrz "$netEntrypoint:~/.cargo/bin/solana*" ~/.cargo/bin/
|
||||
solana_bench_tps=multinode-demo/client.sh
|
||||
netEntrypoint="$:~/solana"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown deployment method: $deployMethod"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
./scripts/oom-monitor.sh > oom-monitor.log 2>&1 &
|
||||
|
||||
export USE_INSTALL=1
|
||||
multinode-demo/client.sh "$1":~/solana $numNodes --loop -s 600 --sustained > client.log 2>&1 &
|
||||
while true; do
|
||||
echo "=== Client start: $(date)" >> client.log
|
||||
clientCommand="$solana_bench_tps $netEntrypoint $numNodes --loop -s 600 --sustained -t threadCount"
|
||||
echo "$ $clientCommand" >> client.log
|
||||
|
||||
$clientCommand >> client.log 2>&1
|
||||
|
||||
$metricsWriteDatapoint "testnet-deploy,name=$netBasename clientexit=1"
|
||||
echo Error: bench-tps should never exit | tee -a client.log
|
||||
done
|
||||
|
||||
|
@ -1,18 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
cd "$(dirname "$0")"/../..
|
||||
source net/common.sh
|
||||
loadConfigFile
|
||||
|
||||
PATH="$HOME"/.cargo/bin:"$PATH"
|
||||
|
||||
./fetch-perf-libs.sh
|
||||
|
||||
./script/install-earlyoom.sh
|
||||
./scripts/oom-monitor.sh > oom-monitor.log 2>&1 &
|
||||
|
||||
export USE_INSTALL=1
|
||||
export SOLANA_CUDA=1
|
||||
./multinode-demo/setup.sh
|
||||
./multinode-demo/drone.sh > drone.log 2>&1 &
|
||||
./multinode-demo/leader.sh > leader.log 2>&1 &
|
83
net/remote/remote_node.sh
Executable file
83
net/remote/remote_node.sh
Executable file
@ -0,0 +1,83 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
deployMethod="$1"
|
||||
nodeType="$2"
|
||||
netEntrypoint="$3"
|
||||
setupArgs="$4"
|
||||
RUST_LOG="$5"
|
||||
|
||||
[[ -n $deployMethod ]] || exit
|
||||
[[ -n $nodeType ]] || exit
|
||||
[[ -n $netEntrypoint ]] || exit
|
||||
|
||||
cd "$(dirname "$0")"/../..
|
||||
source net/common.sh
|
||||
loadConfigFile
|
||||
|
||||
./script/install-earlyoom.sh
|
||||
|
||||
case $deployMethod in
|
||||
snap)
|
||||
SECONDS=0
|
||||
sudo snap install solana.snap --devmode --dangerous
|
||||
rm solana.snap
|
||||
|
||||
commonNodeConfig="\
|
||||
rust-log=$RUST_LOG \
|
||||
metrics-config=$SOLANA_METRICS_CONFIG \
|
||||
setup-args=$setupArgs \
|
||||
enable-cuda=1 \
|
||||
"
|
||||
if [[ $nodeType = leader ]]; then
|
||||
nodeConfig="mode=leader+drone $commonNodeConfig"
|
||||
else
|
||||
nodeConfig="mode=validator leader-address=$netEntrypoint $commonNodeConfig"
|
||||
fi
|
||||
|
||||
logmarker="solana deploy $(date)/$RANDOM"
|
||||
logger "$logmarker"
|
||||
|
||||
# shellcheck disable=SC2086 # Don't want to double quote "$nodeConfig"
|
||||
sudo snap set solana $nodeConfig
|
||||
snap info solana
|
||||
sudo snap get solana
|
||||
echo Slight delay to get more syslog output
|
||||
sleep 2
|
||||
sudo grep -Pzo "$logmarker(.|\\n)*" /var/log/syslog
|
||||
|
||||
echo "Succeeded in ${SECONDS} seconds"
|
||||
;;
|
||||
local)
|
||||
PATH="$HOME"/.cargo/bin:"$PATH"
|
||||
export USE_INSTALL=1
|
||||
export SOLANA_CUDA=1
|
||||
export RUST_LOG=1
|
||||
|
||||
./fetch-perf-libs.sh
|
||||
./scripts/oom-monitor.sh > oom-monitor.log 2>&1 &
|
||||
|
||||
case $nodeType in
|
||||
leader)
|
||||
# shellcheck disable=SC2086 # Don't want to double quote "$setupArgs"
|
||||
./multinode-demo/setup.sh -t leader -p $setupArgs
|
||||
./multinode-demo/drone.sh > drone.log 2>&1 &
|
||||
./multinode-demo/leader.sh > leader.log 2>&1 &
|
||||
;;
|
||||
validator)
|
||||
rsync -vPrz "$netEntrypoint:~/.cargo/bin/solana*" ~/.cargo/bin/
|
||||
|
||||
# shellcheck disable=SC2086 # Don't want to double quote "$setupArgs"
|
||||
./multinode-demo/setup.sh -t validator -p $setupArgs
|
||||
./multinode-demo/validator.sh "$netEntrypoint":~/solana "$netEntrypoint" >validator.log 2>&1 &
|
||||
;;
|
||||
*)
|
||||
echo "Error: unknown node type: $nodeType"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Unknown deployment method: $deployMethod"
|
||||
exit 1
|
||||
esac
|
||||
|
@ -1,18 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
[[ -n $1 ]] || exit
|
||||
|
||||
cd "$(dirname "$0")"/../..
|
||||
source net/common.sh
|
||||
loadConfigFile
|
||||
|
||||
PATH="$HOME"/.cargo/bin:"$PATH"
|
||||
|
||||
rsync -vPrz "$1":~/.cargo/bin/solana* ~/.cargo/bin/
|
||||
|
||||
./script/install-earlyoom.sh
|
||||
./scripts/oom-monitor.sh > oom-monitor.log 2>&1 &
|
||||
|
||||
export USE_INSTALL=1
|
||||
./multinode-demo/setup.sh
|
||||
./multinode-demo/validator.sh "$1":~/solana "$1" >validator.log 2>&1 &
|
Reference in New Issue
Block a user