feat: Make Proxmox script idempotent - handle existing VMs
This commit is contained in:
parent
2d8a5d3714
commit
1785fab2a1
|
|
@ -87,13 +87,48 @@ if [ "${HDD_AVAIL%.*}" -lt "$NEEDED_HDD" ]; then
|
|||
fi
|
||||
log "✓ Sufficient HDD space (${NEEDED_HDD}GB needed)"
|
||||
|
||||
# Check VM IDs
|
||||
# Check VM IDs - warn if exist, allow skip
|
||||
log "🔍 Checking VM ID availability..."
|
||||
|
||||
existing_vms=""
|
||||
for vmid in $MAIN_VMID $WIN_VMID $ANDROID_VMID; do
|
||||
if qm status "$vmid" &> /dev/null; then
|
||||
error "VM ID $vmid already exists!"
|
||||
vmname=$(qm config "$vmid" | grep name | awk '{print $2}')
|
||||
warn "VM $vmid ($vmname) already exists!"
|
||||
existing_vms="$existing_vms $vmid"
|
||||
fi
|
||||
done
|
||||
log "✓ VM IDs available (300-302)"
|
||||
|
||||
if [ -n "$existing_vms" ]; then
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " 1) Skip existing VMs and create only new ones"
|
||||
echo " 2) Destroy existing VMs and recreate"
|
||||
echo " 3) Exit and check manually"
|
||||
read -p "Choose (1/2/3): " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
log "Will skip existing VMs..."
|
||||
;;
|
||||
2)
|
||||
warn "Destroying VMs:$existing_vms"
|
||||
for vmid in $existing_vms; do
|
||||
qm stop "$vmid" &> /dev/null || true
|
||||
qm destroy "$vmid" --purge
|
||||
log "Destroyed VM $vmid"
|
||||
done
|
||||
;;
|
||||
3)
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
error "Invalid choice"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
log "✓ VM IDs checked"
|
||||
|
||||
# Check RAM
|
||||
AVAILABLE_RAM=$(free -m | awk '/^Mem:/{print $7}')
|
||||
|
|
|
|||
Loading…
Reference in New Issue