Files
Sankofa/scripts/force-restart-vm-100.sh
defiQUG 9daf1fd378 Apply Composer changes: comprehensive API updates, migrations, middleware, and infrastructure improvements
- Add comprehensive database migrations (001-024) for schema evolution
- Enhance API schema with expanded type definitions and resolvers
- Add new middleware: audit logging, rate limiting, MFA enforcement, security, tenant auth
- Implement new services: AI optimization, billing, blockchain, compliance, marketplace
- Add adapter layer for cloud integrations (Cloudflare, Kubernetes, Proxmox, storage)
- Update Crossplane provider with enhanced VM management capabilities
- Add comprehensive test suite for API endpoints and services
- Update frontend components with improved GraphQL subscriptions and real-time updates
- Enhance security configurations and headers (CSP, CORS, etc.)
- Update documentation and configuration files
- Add new CI/CD workflows and validation scripts
- Implement design system improvements and UI enhancements
2025-12-12 18:01:35 -08:00

117 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
# Force restart VM 100 to apply guest agent fix
# Run on Proxmox node: root@ml110-01
set -e
VMID=100
echo "=========================================="
echo "Force Restart VM 100 for Guest Agent Fix"
echo "=========================================="
echo ""
# Step 1: Check current status
echo "Step 1: Current VM Status"
echo "--------------------------------------"
qm status $VMID
echo ""
# Step 2: Verify guest agent config
echo "Step 2: Guest Agent Configuration"
echo "--------------------------------------"
AGENT_CONFIG=$(qm config $VMID | grep '^agent:' || echo "")
if [ -z "$AGENT_CONFIG" ]; then
echo "⚠️ Guest agent NOT configured"
echo "Setting agent=1..."
qm set $VMID --agent 1
echo "✅ Guest agent enabled"
else
echo "✅ Guest agent configured: $AGENT_CONFIG"
fi
echo ""
# Step 3: Force stop VM
echo "Step 3: Force Stopping VM"
echo "--------------------------------------"
CURRENT_STATUS=$(qm status $VMID | awk '{print $2}')
if [ "$CURRENT_STATUS" = "running" ]; then
echo "VM is running, attempting graceful shutdown first..."
qm shutdown $VMID &
SHUTDOWN_PID=$!
# Wait up to 30 seconds for graceful shutdown
for i in {1..30}; do
sleep 1
STATUS=$(qm status $VMID | awk '{print $2}' 2>/dev/null || echo "unknown")
if [ "$STATUS" != "running" ]; then
echo "✅ VM shut down gracefully"
break
fi
if [ $i -eq 30 ]; then
echo "⚠️ Graceful shutdown timed out, forcing stop..."
kill $SHUTDOWN_PID 2>/dev/null || true
qm stop $VMID
echo "✅ VM force stopped"
fi
done
else
echo "VM is already stopped (status: $CURRENT_STATUS)"
fi
echo ""
# Step 4: Wait and verify stopped
echo "Step 4: Verifying VM is Stopped"
echo "--------------------------------------"
sleep 3
FINAL_STATUS=$(qm status $VMID | awk '{print $2}')
if [ "$FINAL_STATUS" = "stopped" ]; then
echo "✅ VM is stopped"
else
echo "⚠️ VM status: $FINAL_STATUS"
echo "Waiting a bit longer..."
sleep 5
FINAL_STATUS=$(qm status $VMID | awk '{print $2}')
echo "Final status: $FINAL_STATUS"
fi
echo ""
# Step 5: Start VM
echo "Step 5: Starting VM"
echo "--------------------------------------"
if [ "$FINAL_STATUS" = "stopped" ]; then
echo "Starting VM..."
qm start $VMID
echo ""
echo "Waiting 10 seconds for initialization..."
sleep 10
echo ""
echo "VM status after start:"
qm status $VMID
else
echo "⚠️ Cannot start VM - current status: $FINAL_STATUS"
echo "Please check VM state manually"
fi
echo ""
# Step 6: Instructions for guest agent verification
echo "=========================================="
echo "VM Restarted - Next Steps"
echo "=========================================="
echo ""
echo "Wait 30-60 seconds for VM to fully boot, then verify guest agent:"
echo ""
echo "1. Check guest agent service (once VM has booted):"
echo " qm guest exec $VMID -- systemctl status qemu-guest-agent"
echo ""
echo "2. If guest agent service is not running, install it inside VM:"
echo " (You'll need to SSH into the VM or use console)"
echo ""
echo "3. Monitor VM status:"
echo " watch -n 2 \"qm status $VMID\""
echo ""
echo "4. Check VM IP address (once booted):"
echo " qm guest exec $VMID -- hostname -I"
echo ""