feature: Adds VM creation support to upload.sh
This commit is contained in:
parent
7ac7eee0e0
commit
bbb2084ba7
3 changed files with 48 additions and 19 deletions
|
@ -7,9 +7,11 @@ if [ ! -d "out/" ]; then
|
|||
fi
|
||||
|
||||
echo "Copying file to the output directory..."
|
||||
|
||||
# Hack!
|
||||
# TODO: Fix this mess later
|
||||
mkdir -p out/$1
|
||||
rm -rf out/$1 out/$1.vma.zst
|
||||
OUT_FILE="$(sed -n '$p' build.log)"
|
||||
|
||||
cp -r $OUT_FILE out/$1.vma.zst
|
46
nixinfra/upload.sh
Executable file
46
nixinfra/upload.sh
Executable file
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env bash
|
||||
KITTEH_NODE_1=192.168.0.20
|
||||
KITTEH_NODE_2=192.168.0.21
|
||||
|
||||
KITTEH_NODE_1_BASEID=100
|
||||
KITTEH_NODE_2_BASEID=100
|
||||
|
||||
cp meta/tagged_for_upload /tmp/upload_cache
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
fi
|
||||
|
||||
ESCAPED_LINE=$(printf '%s\n' "$LINE" | sed -e 's/[\/&]/\\&/g')
|
||||
sed -i "/$ESCAPED_LINE/d" meta/tagged_for_upload
|
||||
done < /tmp/upload_cache
|
||||
|
||||
echo "Done."
|
19
upload.sh
19
upload.sh
|
@ -1,19 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
KITTEH_NODE_1=192.168.0.20
|
||||
KITTEH_NODE_2=192.168.0.21
|
||||
|
||||
while IFS= read -r LINE; do
|
||||
UPLOAD_PATH="/var/lib/vz/dump/$(basename $LINE)"
|
||||
echo "Uploading file '$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
|
||||
|
||||
ESCAPED_LINE=$(printf '%s\n' "$LINE" | sed -e 's/[\/&]/\\&/g')
|
||||
sed -i "/$ESCAPED_LINE/d" meta/tagged_for_upload
|
||||
done < meta/tagged_for_upload
|
||||
|
||||
echo "Done."
|
Reference in a new issue