Files
Sankofa/scripts/cleanup-vm-100-proxmox.sh

79 lines
2.3 KiB
Bash
Raw Normal View History

#!/bin/bash
# Automated cleanup script for VM 100 on Proxmox node
# Run this script on the Proxmox node: root@ml110-01
VMID=100
echo "=== Automated Cleanup for VM $VMID ==="
echo ""
# 1. Kill all stuck processes
echo "1. Killing stuck processes..."
pkill -9 -f "task.*$VMID" 2>/dev/null && echo " ✅ Killed task processes" || echo " No task processes found"
pkill -9 -f "qm.*$VMID" 2>/dev/null && echo " ✅ Killed qm processes" || echo " No qm processes found"
pkill -9 -f "qemu.*$VMID" 2>/dev/null && echo " ✅ Killed qemu processes" || echo " No qemu processes found"
# Wait for processes to die
sleep 3
# 2. Remove lock file
echo ""
echo "2. Removing lock file..."
if [ -f "/var/lock/qemu-server/lock-$VMID.conf" ]; then
rm -f "/var/lock/qemu-server/lock-$VMID.conf"
if [ ! -f "/var/lock/qemu-server/lock-$VMID.conf" ]; then
echo " ✅ Lock file removed"
else
echo " ⚠️ Failed to remove lock file"
exit 1
fi
else
echo " Lock file already removed"
fi
# 3. Verify cleanup
echo ""
echo "3. Verifying cleanup..."
REMAINING_PROCS=$(ps aux | grep -E "task.*$VMID|qm.*$VMID|qemu.*$VMID" | grep -v grep)
if [ -z "$REMAINING_PROCS" ]; then
echo " ✅ No processes remaining"
else
echo " ⚠️ Some processes still running:"
echo "$REMAINING_PROCS" | while read line; do
echo " $line"
done
fi
LOCK_EXISTS=$(ls -la /var/lock/qemu-server/lock-$VMID.conf 2>&1)
if echo "$LOCK_EXISTS" | grep -q "No such file"; then
echo " ✅ Lock file confirmed removed"
else
echo " ⚠️ Lock file still exists:"
echo " $LOCK_EXISTS"
fi
# 4. Attempt unlock
echo ""
echo "4. Attempting unlock..."
if qm unlock $VMID 2>&1; then
echo " ✅ VM unlocked successfully"
else
UNLOCK_RESULT=$?
echo " ⚠️ Unlock returned exit code: $UNLOCK_RESULT"
echo " (This may be normal if lock was already cleared)"
fi
# 5. Final status
echo ""
echo "5. Final VM status..."
qm status $VMID 2>&1 | head -5
echo ""
echo "=== Cleanup Complete ==="
echo ""
echo "Next steps:"
echo "1. Monitor from Kubernetes: kubectl get proxmoxvm basic-vm-001 -w"
echo "2. Provider will automatically retry within 1 minute"
echo "3. VM should complete configuration and boot"