From ab089235431aeb692bc9c1b13adb6821913136ca Mon Sep 17 00:00:00 2001 From: Derek Smith Date: Sun, 19 Mar 2023 13:48:26 -0400 Subject: [PATCH] Add mainnet data cache on ss-mgmt --- deployment/remote.sh | 19 +++++++++++-------- install.sh | 28 ++++++++++++++++++++++++---- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/deployment/remote.sh b/deployment/remote.sh index 7ccaeb9..a92e2f1 100755 --- a/deployment/remote.sh +++ b/deployment/remote.sh @@ -239,13 +239,16 @@ if ! lxc storage list --format csv | grep -q ss-base; then # on top of the existing filesystem using a loop device, per LXD docs lxc storage create ss-base zfs fi -fi -# create the testnet/mainnet blocks/chainstate subvolumes. -for CHAIN in mainnet testnet; do - for DATA in blocks chainstate; do - if ! lxc storage volume list ss-base | grep -q "$CHAIN-$DATA"; then - lxc storage volume create ss-base "$CHAIN-$DATA" --type=filesystem - fi + # create the testnet/mainnet blocks/chainstate subvolumes. + for CHAIN in mainnet testnet; do + for DATA in blocks chainstate; do + if ! lxc storage volume list ss-base | grep -q "$CHAIN-$DATA"; then + lxc storage volume create ss-base "$CHAIN-$DATA" --type=filesystem + fi + done done -done + +else + echo "WARNING! The host '$FQDN' appears to have Sovereign Stack worksloads already provisioned. Proceed with care." +fi diff --git a/install.sh b/install.sh index bf8e03e..659770e 100755 --- a/install.sh +++ b/install.sh @@ -105,15 +105,35 @@ if ! lxc list --format csv | grep -q ss-mgmt; then fi # if a ~/.bitcoin/testnet3/blocks direrectory exists, mount it in. - BITCOIN_TESTNET_BLOCKS_PATH="$HOME/.bitcoin/testnet3/blocks" + BITCOIN_DIR="$HOME/.bitcoin" + REMOTE_BITCOIN_CACHE_PATH="/home/ubuntu/.ss/cache/bitcoin" + BITCOIN_TESTNET_BLOCKS_PATH="$BITCOIN_DIR/testnet3/blocks" if [ -d "$BITCOIN_TESTNET_BLOCKS_PATH" ]; then - lxc config device add ss-mgmt ss-testnet-blocks disk source="$BITCOIN_TESTNET_BLOCKS_PATH" path=/home/ubuntu/.ss/cache/bitcoin/testnet/blocks + lxc config device add ss-mgmt ss-testnet-blocks disk source="$BITCOIN_TESTNET_BLOCKS_PATH" path=$REMOTE_BITCOIN_CACHE_PATH/testnet/blocks fi # if a ~/.bitcoin/testnet3/blocks direrectory exists, mount it in. - BITCOIN_TESTNET_CHAINSTATE_PATH="$HOME/.bitcoin/testnet3/chainstate" + BITCOIN_TESTNET_CHAINSTATE_PATH="$BITCOIN_DIR/testnet3/chainstate" if [ -d "$BITCOIN_TESTNET_CHAINSTATE_PATH" ]; then - lxc config device add ss-mgmt ss-testnet-chainstate disk source="$BITCOIN_TESTNET_CHAINSTATE_PATH" path=/home/ubuntu/.ss/cache/bitcoin/testnet/chainstate + lxc config device add ss-mgmt ss-testnet-chainstate disk source="$BITCOIN_TESTNET_CHAINSTATE_PATH" path=$REMOTE_BITCOIN_CACHE_PATH/testnet/chainstate + fi + + # if a ~/.bitcoin/blocks dir exists, mount it in. + BITCOIN_MAINNET_BLOCKS_PATH="$BITCOIN_DIR/blocks" + if [ -d "$BITCOIN_MAINNET_BLOCKS_PATH" ]; then + lxc config device add ss-mgmt ss-mainnet-blocks disk source="$BITCOIN_MAINNET_BLOCKS_PATH" path=$REMOTE_BITCOIN_CACHE_PATH/mainnet/blocks + else + echo "WARNING: the blocks directory was not found for mainnet. It will NOT be mounted into ss-mgmt." + exit 1 + fi + + # if a ~/.bitcoin/testnet3/blocks direrectory exists, mount it in. + BITCOIN_MAINNET_CHAINSTATE_PATH="$BITCOIN_DIR/chainstate" + if [ -d "$BITCOIN_MAINNET_CHAINSTATE_PATH" ]; then + lxc config device add ss-mgmt ss-mainnet-chainstate disk source="$BITCOIN_MAINNET_CHAINSTATE_PATH" path=$REMOTE_BITCOIN_CACHE_PATH/mainnet/chainstate + else + echo "WARNING: the chainstate directory was not found for mainnet. It will NOT be mounted into ss-mgmt." + exit 1 fi # mount the ssh directory in there.