From 6db5703527704785ddf37c7e52f4efa6c729df38 Mon Sep 17 00:00:00 2001 From: greysoh Date: Sat, 13 Jul 2024 23:35:32 -0400 Subject: [PATCH] feature: Makes upload code more dynamic. --- nixinfra/upload.sh | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/nixinfra/upload.sh b/nixinfra/upload.sh index 1043f1a..bd84add 100755 --- a/nixinfra/upload.sh +++ b/nixinfra/upload.sh @@ -1,9 +1,14 @@ #!/usr/bin/env bash -KITTEH_NODE_1=192.168.0.20 -KITTEH_NODE_2=192.168.0.21 +if [ "$BASE_IP" = "" ]; then + BASE_IP=192.168.0.20 +fi -KITTEH_NODE_1_BASEID=100 -KITTEH_NODE_2_BASEID=100 +IP_LAST_OCTET="${BASE_IP##*.}" +IP_MAIN_OCTET="${BASE_IP%.*}" + +IP_LAST_OCTET=$((IP_LAST_OCTET-1)) + +BASE_ID=100 cp meta/tagged_for_upload /tmp/upload_cache @@ -11,32 +16,22 @@ while IFS= read -r LINE; do UPLOAD_PATH="/var/lib/vz/dump/vzdump-qemu-$(basename $LINE .vma.zst)-$(date +"%Y_%m_%d-%H_%M_%S").vma.zst" echo "Uploading VM dump '$LINE'..." - if [ "$(dirname $LINE)" = "out/kitteh-node-1" ]; then - rsync --info=progress2 $LINE root@$KITTEH_NODE_1:$UPLOAD_PATH - else - rsync --info=progress2 $LINE root@$KITTEH_NODE_2:$UPLOAD_PATH - fi + CURRENT_NODE="$(dirname $LINE)" + CURRENT_NODE="${CURRENT_NODE##*-}" + IP="$IP_MAIN_OCTET.$((IP_LAST_OCTET+CURRENT_NODE))" + + rsync --info=progress2 $LINE root@$IP:$UPLOAD_PATH if [[ "$@" == *"--install"* ]] || [[ "$@" == *"-i"* ]]; then echo "Installing VM dump '$LINE'..." - if [ "$(dirname $LINE)" = "out/kitteh-node-1" ]; then - ssh -n root@$KITTEH_NODE_1 "qmrestore $UPLOAD_PATH $KITTEH_NODE_1_BASEID --force --unique" - KITTEH_NODE_1_BASEID=$((KITTEH_NODE_1_BASEID+1)) - else - ssh -n root@$KITTEH_NODE_2 "qmrestore $UPLOAD_PATH $KITTEH_NODE_2_BASEID --force --unique" - KITTEH_NODE_2_BASEID=$((KITTEH_NODE_2_BASEID+1)) - fi + ssh -n root@$IP "qmrestore $UPLOAD_PATH $BASE_ID --force --unique" + BASE_ID=$((BASE_ID+1)) fi if [[ "$@" == *"--delete"* ]] || [[ "$@" == *"-d"* ]]; then echo "Deleting VM dump '$LINE'..." - - if [ "$(dirname $LINE)" = "out/kitteh-node-1" ]; then - ssh -n root@$KITTEH_NODE_1 "rm -rf $UPLOAD_PATH" - else - ssh -n root@$KITTEH_NODE_2 "rm -rf $UPLOAD_PATH" - fi + ssh -n root@$IP "rm -rf $UPLOAD_PATH" fi ESCAPED_LINE=$(printf '%s\n' "$LINE" | sed -e 's/[\/&]/\\&/g')