#!/usr/bin/env bash # Destroy VMIDs 2506, 2507, 2508 on all Proxmox hosts (LXC or QEMU). # Run from a machine with SSH access to the Proxmox hosts. # Usage: bash scripts/destroy-vmids-2506-2508.sh [--dry-run] set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true HOSTS=( "${PROXMOX_ML110:-192.168.11.10}" "${PROXMOX_R630_01:-192.168.11.11}" "${PROXMOX_R630_02:-192.168.11.12}" ) VMIDS=(2506 2507 2508) SSH_OPTS="-o ConnectTimeout=8 -o StrictHostKeyChecking=no" DRY_RUN=false [[ "${1:-}" = "--dry-run" ]] && DRY_RUN=true for host in "${HOSTS[@]}"; do for vmid in "${VMIDS[@]}"; do if $DRY_RUN; then echo "[dry-run] Would destroy VMID $vmid on $host (if present)" continue fi if ssh $SSH_OPTS root@"$host" "pct list 2>/dev/null | awk '\$1==$vmid {print \$1}'" 2>/dev/null | grep -q .; then echo "Destroying LXC $vmid on $host..." ssh $SSH_OPTS root@"$host" "pct stop $vmid 2>/dev/null || true; pct destroy $vmid --purge 1" 2>/dev/null || true elif ssh $SSH_OPTS root@"$host" "qm list 2>/dev/null | awk '\$1==$vmid {print \$1}'" 2>/dev/null | grep -q .; then echo "Destroying QEMU $vmid on $host..." ssh $SSH_OPTS root@"$host" "qm stop $vmid 2>/dev/null || true; qm destroy $vmid" 2>/dev/null || true fi done done echo "Done. VMIDs 2506, 2507, 2508 removed from all hosts. Update master docs (MISSING_CONTAINERS_LIST, DEPLOYMENT_STATUS_MASTER, CHAIN138_BESU_CONFIGURATION, etc.)."