Compare commits
2 commits
2cfe54e03a
...
cb6e92aa92
| Author | SHA1 | Date | |
|---|---|---|---|
| cb6e92aa92 | |||
| afbb8d59f9 |
1 changed files with 11 additions and 12 deletions
|
|
@ -69,22 +69,21 @@ echo "==> node=$NODE sha=$SHORT_SHA iso=$(basename "$ISO_PATH")"
|
||||||
ISO_NAME="furtka-${SHORT_SHA}.iso"
|
ISO_NAME="furtka-${SHORT_SHA}.iso"
|
||||||
VOLID="${ISO_STORAGE}:iso/${ISO_NAME}"
|
VOLID="${ISO_STORAGE}:iso/${ISO_NAME}"
|
||||||
|
|
||||||
# --- Step 1: upload ISO ----------------------------------------------------
|
# --- Step 1: upload ISO (or reuse if same SHA already on PVE) ---------------
|
||||||
# PVE's upload endpoint errors if the file exists. Delete first so re-runs
|
# For a given commit SHA the ISO bytes are reproducible, so if furtka-<sha>.iso
|
||||||
# on the same SHA (e.g. workflow re-dispatch) work.
|
# is already in PVE storage from a prior smoke run we reuse it and skip the
|
||||||
|
# upload. Avoids DELETE-permission friction and shaves ~2 min off re-runs.
|
||||||
if api "$API/nodes/$NODE/storage/$ISO_STORAGE/content/$VOLID" \
|
if api "$API/nodes/$NODE/storage/$ISO_STORAGE/content/$VOLID" \
|
||||||
--output /dev/null 2>/dev/null; then
|
--output /dev/null 2>/dev/null; then
|
||||||
echo "==> removing stale ISO $VOLID"
|
echo "==> reusing existing ISO $VOLID"
|
||||||
api --request DELETE "$API/nodes/$NODE/storage/$ISO_STORAGE/content/$VOLID" \
|
else
|
||||||
--output /dev/null
|
echo "==> uploading ISO as $ISO_NAME"
|
||||||
|
api --request POST "$API/nodes/$NODE/storage/$ISO_STORAGE/upload" \
|
||||||
|
--form "content=iso" \
|
||||||
|
--form "filename=@${ISO_PATH};filename=${ISO_NAME}" \
|
||||||
|
> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "==> uploading ISO as $ISO_NAME"
|
|
||||||
api --request POST "$API/nodes/$NODE/storage/$ISO_STORAGE/upload" \
|
|
||||||
--form "content=iso" \
|
|
||||||
--form "filename=@${ISO_PATH};filename=${ISO_NAME}" \
|
|
||||||
> /dev/null
|
|
||||||
|
|
||||||
# --- Step 2: pick a free VMID in the reserved range ------------------------
|
# --- Step 2: pick a free VMID in the reserved range ------------------------
|
||||||
# List VMs on the node, filter by range, pick the lowest integer not in use.
|
# List VMs on the node, filter by range, pick the lowest integer not in use.
|
||||||
USED="$(api "$API/nodes/$NODE/qemu" | python3 -c '
|
USED="$(api "$API/nodes/$NODE/qemu" | python3 -c '
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue