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
This commit is contained in:
129
scripts/force-delete-all-vms-aggressive.sh
Executable file
129
scripts/force-delete-all-vms-aggressive.sh
Executable file
@@ -0,0 +1,129 @@
|
||||
#!/bin/bash
|
||||
# Aggressively force delete all VMs
|
||||
|
||||
PROXMOX_PASS="L@kers2010"
|
||||
SITE1="192.168.11.10"
|
||||
SITE2="192.168.11.11"
|
||||
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
log() {
|
||||
echo -e "${BLUE}[$(date +'%Y-%m-%d %H:%M:%S')]${NC} $*"
|
||||
}
|
||||
|
||||
log_success() {
|
||||
echo -e "${GREEN}[$(date +'%Y-%m-%d %H:%M:%S')] ✅${NC} $*"
|
||||
}
|
||||
|
||||
log_warning() {
|
||||
echo -e "${YELLOW}[$(date +'%Y-%m-%d %H:%M:%S')] ⚠️${NC} $*"
|
||||
}
|
||||
|
||||
force_delete_host() {
|
||||
local host=$1
|
||||
local site_name=$2
|
||||
|
||||
log "=========================================="
|
||||
log "Force deleting all VMs on ${site_name} (${host})"
|
||||
log "=========================================="
|
||||
|
||||
# Kill all qm processes
|
||||
log "Killing all qm processes..."
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "pkill -9 -f 'qm '"
|
||||
sleep 2
|
||||
|
||||
# Remove all lock files
|
||||
log "Removing all lock files..."
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "rm -rf /var/lock/qemu-server/lock-*.conf"
|
||||
sleep 1
|
||||
|
||||
# Get VM list
|
||||
log "Getting VM list..."
|
||||
local vm_list
|
||||
vm_list=$(sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "qm list 2>/dev/null | tail -n +2 | awk '{print \$1}'")
|
||||
|
||||
if [ -z "${vm_list}" ]; then
|
||||
log_warning "No VMs found"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Force delete each VM
|
||||
for vmid in $vm_list; do
|
||||
log "Force deleting VM ${vmid}..."
|
||||
|
||||
# Remove lock file
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "rm -f /var/lock/qemu-server/lock-${vmid}.conf" 2>/dev/null
|
||||
|
||||
# Stop VM forcefully
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "qm stop ${vmid} --skiplock" 2>/dev/null || true
|
||||
sleep 1
|
||||
|
||||
# Delete VM config
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "rm -f /etc/pve/qemu-server/${vmid}.conf" 2>/dev/null
|
||||
|
||||
# Delete VM with purge and skip lock
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "qm destroy ${vmid} --purge --skiplock" 2>&1 | grep -v "trying to acquire lock" || true
|
||||
|
||||
# If still exists, remove config and disks manually
|
||||
sleep 2
|
||||
local still_exists
|
||||
still_exists=$(sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "qm list 2>/dev/null | grep -c \"^[[:space:]]*${vmid}\" || echo 0")
|
||||
|
||||
if [ "${still_exists}" -gt 0 ]; then
|
||||
log_warning "VM ${vmid} still exists, removing manually..."
|
||||
|
||||
# Remove config
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "rm -f /etc/pve/qemu-server/${vmid}.conf" 2>/dev/null
|
||||
|
||||
# Remove lock
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "rm -f /var/lock/qemu-server/lock-${vmid}.conf" 2>/dev/null
|
||||
|
||||
# Find and remove disks
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${host} "lvs | grep vm-${vmid} | awk '{print \$1}' | xargs -r lvremove -f" 2>/dev/null || true
|
||||
else
|
||||
log_success "VM ${vmid} deleted"
|
||||
fi
|
||||
done
|
||||
|
||||
log_success "Completed force deletion on ${site_name}"
|
||||
}
|
||||
|
||||
main() {
|
||||
log "=========================================="
|
||||
log "Aggressive Force Delete All VMs"
|
||||
log "=========================================="
|
||||
log ""
|
||||
log_warning "This will forcefully delete ALL VMs on both hosts"
|
||||
log ""
|
||||
|
||||
# Force delete Site 1
|
||||
force_delete_host "${SITE1}" "Site 1 (ml110-01)"
|
||||
|
||||
echo ""
|
||||
|
||||
# Force delete Site 2
|
||||
force_delete_host "${SITE2}" "Site 2 (r630-01)"
|
||||
|
||||
echo ""
|
||||
log "=========================================="
|
||||
log "Verifying deletion..."
|
||||
echo ""
|
||||
|
||||
log "Site 1 VMs remaining:"
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${SITE1} "qm list"
|
||||
|
||||
echo ""
|
||||
log "Site 2 VMs remaining:"
|
||||
sshpass -p "${PROXMOX_PASS}" ssh -o StrictHostKeyChecking=no root@${SITE2} "qm list"
|
||||
|
||||
echo ""
|
||||
log "=========================================="
|
||||
log_success "Force deletion completed!"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user