Remove snap support

This commit is contained in:
Michael Vines
2019-03-02 17:08:46 -08:00
parent 9c3e7e40cf
commit cd4bccfd12
25 changed files with 30 additions and 666 deletions

View File

@ -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

View File

@ -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:]')

View File

@ -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

View File

@ -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

View File

@ -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