84 lines
2.0 KiB
Bash
84 lines
2.0 KiB
Bash
![]() |
#!/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
|
||
|
|