Remove snap support
This commit is contained in:
@ -52,12 +52,12 @@ or
|
||||
$ ./ec2.sh create -P ...
|
||||
```
|
||||
|
||||
### Deploying a Snap-based network
|
||||
To deploy the latest pre-built `edge` channel Snap (ie, latest from the `master`
|
||||
### Deploying a tarball-based network
|
||||
To deploy the latest pre-built `edge` channel tarball (ie, latest from the `master`
|
||||
branch), once the testnet has been created run:
|
||||
|
||||
```bash
|
||||
$ ./net.sh start -s edge
|
||||
$ ./net.sh start -t edge
|
||||
```
|
||||
|
||||
### Enabling CUDA
|
||||
@ -70,7 +70,7 @@ or
|
||||
$ ./ec2.sh create -g ...
|
||||
```
|
||||
|
||||
If deploying a Snap-based network nothing further is required, as GPU presence
|
||||
If deploying a tarball-based network nothing further is required, as GPU presence
|
||||
is detected at runtime and the CUDA build is auto selected.
|
||||
|
||||
If deploying a locally-built network, first run `./fetch-perf-libs.sh` then
|
||||
|
67
net/net.sh
67
net/net.sh
@ -26,8 +26,6 @@ Operate a configured testnet
|
||||
logs - Fetch remote logs from each network node
|
||||
|
||||
start/update-specific options:
|
||||
-S [snapFilename] - Deploy the specified Snap file
|
||||
-s edge|beta|stable - Deploy the latest Snap on the specified Snap release channel
|
||||
-T [tarFilename] - Deploy the specified release tarball
|
||||
-t edge|beta|stable|vX.Y.Z - Deploy the latest tarball release for the
|
||||
specified release channel (edge|beta|stable) or release tag
|
||||
@ -55,9 +53,7 @@ EOF
|
||||
exit $exitcode
|
||||
}
|
||||
|
||||
snapChannel=
|
||||
releaseChannel=
|
||||
snapFilename=
|
||||
deployMethod=local
|
||||
sanityExtraArgs=
|
||||
cargoFeatures=
|
||||
@ -69,30 +65,14 @@ command=$1
|
||||
[[ -n $command ]] || usage
|
||||
shift
|
||||
|
||||
while getopts "h?S:s:T:t:o:f:r:D:" opt; do
|
||||
while getopts "h?T:t:o:f:r:D:" opt; do
|
||||
case $opt in
|
||||
h | \?)
|
||||
usage
|
||||
;;
|
||||
S)
|
||||
snapFilename=$OPTARG
|
||||
[[ -f $snapFilename ]] || usage "Snap not readable: $snapFilename"
|
||||
deployMethod=snap
|
||||
;;
|
||||
s)
|
||||
case $OPTARG in
|
||||
edge|beta|stable)
|
||||
snapChannel=$OPTARG
|
||||
deployMethod=snap
|
||||
;;
|
||||
*)
|
||||
usage "Invalid snap channel: $OPTARG"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
T)
|
||||
tarballFilename=$OPTARG
|
||||
[[ -f $tarballFilename ]] || usage "Snap not readable: $tarballFilename"
|
||||
[[ -r $tarballFilename ]] || usage "File not readable: $tarballFilename"
|
||||
deployMethod=tar
|
||||
;;
|
||||
t)
|
||||
@ -199,9 +179,6 @@ startBootstrapLeader() {
|
||||
set -x
|
||||
startCommon "$ipAddress" || exit 1
|
||||
case $deployMethod in
|
||||
snap)
|
||||
rsync -vPrc -e "ssh ${sshOptions[*]}" "$snapFilename" "$ipAddress:~/solana/solana.snap"
|
||||
;;
|
||||
tar)
|
||||
rsync -vPrc -e "ssh ${sshOptions[*]}" "$SOLANA_ROOT"/solana-release/bin/* "$ipAddress:~/.cargo/bin/"
|
||||
;;
|
||||
@ -295,36 +272,6 @@ sanity() {
|
||||
|
||||
start() {
|
||||
case $deployMethod in
|
||||
snap)
|
||||
if [[ -n $snapChannel ]]; then
|
||||
rm -f "$SOLANA_ROOT"/solana_*.snap
|
||||
if [[ $(uname) != Linux ]]; then
|
||||
(
|
||||
set -x
|
||||
SOLANA_DOCKER_RUN_NOSETUID=1 "$SOLANA_ROOT"/ci/docker-run.sh ubuntu:18.04 bash -c "
|
||||
set -ex;
|
||||
apt-get -qq update;
|
||||
apt-get -qq -y install snapd;
|
||||
until snap download --channel=$snapChannel solana; do
|
||||
sleep 1;
|
||||
done
|
||||
"
|
||||
)
|
||||
else
|
||||
(
|
||||
cd "$SOLANA_ROOT"
|
||||
until snap download --channel="$snapChannel" solana; do
|
||||
sleep 1
|
||||
done
|
||||
)
|
||||
fi
|
||||
snapFilename="$(echo "$SOLANA_ROOT"/solana_*.snap)"
|
||||
[[ -r $snapFilename ]] || {
|
||||
echo "Error: Snap not readable: $snapFilename"
|
||||
exit 1
|
||||
}
|
||||
fi
|
||||
;;
|
||||
tar)
|
||||
if [[ -n $releaseChannel ]]; then
|
||||
rm -f "$SOLANA_ROOT"/solana-release.tar.bz2
|
||||
@ -421,13 +368,6 @@ start() {
|
||||
|
||||
declare networkVersion=unknown
|
||||
case $deployMethod in
|
||||
snap)
|
||||
IFS=\ read -r _ networkVersion _ < <(
|
||||
ssh "${sshOptions[@]}" "${fullnodeIpList[0]}" \
|
||||
"snap info solana | grep \"^installed:\""
|
||||
)
|
||||
networkVersion=${networkVersion/0+git./}
|
||||
;;
|
||||
tar)
|
||||
networkVersion="$(
|
||||
tail -n1 "$SOLANA_ROOT"/solana-release/version.txt || echo "tar-unknown"
|
||||
@ -461,9 +401,6 @@ stopNode() {
|
||||
ssh "${sshOptions[@]}" "$ipAddress" "
|
||||
PS4=\"$PS4\"
|
||||
set -x
|
||||
if snap list solana; then
|
||||
sudo snap set solana mode=
|
||||
fi
|
||||
! tmux list-sessions || tmux kill-session
|
||||
for pid in solana/{net-stats,oom-monitor}.pid; do
|
||||
pgid=\$(ps opgid= \$(cat \$pid) | tr -d '[:space:]')
|
||||
|
@ -27,12 +27,6 @@ if [[ $threadCount -gt 4 ]]; then
|
||||
fi
|
||||
|
||||
case $deployMethod in
|
||||
snap)
|
||||
net/scripts/rsync-retry.sh -vPrc "$entrypointIp:~/solana/solana.snap" .
|
||||
sudo snap install solana.snap --devmode --dangerous
|
||||
|
||||
solana_bench_tps=/snap/bin/solana.bench-tps
|
||||
;;
|
||||
local|tar)
|
||||
PATH="$HOME"/.cargo/bin:"$PATH"
|
||||
export USE_INSTALL=1
|
||||
|
@ -45,88 +45,6 @@ else
|
||||
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 \
|
||||
leader-rotation=\"$leaderRotation\" \
|
||||
"
|
||||
|
||||
if [[ -e /dev/nvidia0 ]]; then
|
||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
echo
|
||||
echo "WARNING: GPU detected by snap builds to not support CUDA."
|
||||
echo " Consider using instances with a GPU to reduce cost."
|
||||
echo
|
||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
fi
|
||||
|
||||
case $nodeType in
|
||||
bootstrap-leader)
|
||||
nodeConfig="mode=bootstrap-leader+drone $commonNodeConfig"
|
||||
ln -sf -T /var/snap/solana/current/bootstrap-leader/current fullnode.log
|
||||
ln -sf -T /var/snap/solana/current/drone/current drone.log
|
||||
;;
|
||||
fullnode)
|
||||
nodeConfig="mode=fullnode $commonNodeConfig"
|
||||
ln -sf -T /var/snap/solana/current/fullnode/current fullnode.log
|
||||
;;
|
||||
*)
|
||||
echo "Error: unknown node type: $nodeType"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
logmarker="solana deploy $(date)/$RANDOM"
|
||||
logger "$logmarker"
|
||||
|
||||
# shellcheck disable=SC2086,SC2090 # 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|tar)
|
||||
PATH="$HOME"/.cargo/bin:"$PATH"
|
||||
export USE_INSTALL=1
|
||||
|
@ -57,19 +57,6 @@ source net/common.sh
|
||||
loadConfigFile
|
||||
|
||||
case $deployMethod in
|
||||
snap)
|
||||
PATH="/snap/bin:$PATH"
|
||||
export USE_SNAP=1
|
||||
entrypointRsyncUrl="$entrypointIp"
|
||||
|
||||
solana_bench_tps=solana.bench-tps
|
||||
solana_ledger_tool=solana.ledger-tool
|
||||
solana_keygen=solana.keygen
|
||||
|
||||
ledger=/var/snap/solana/current/config-local/bootstrap-leader-ledger
|
||||
client_id=~/snap/solana/current/config/client-id.json
|
||||
|
||||
;;
|
||||
local|tar)
|
||||
PATH="$HOME"/.cargo/bin:"$PATH"
|
||||
export USE_INSTALL=1
|
||||
|
Reference in New Issue
Block a user