#!/usr/bin/env bash
# Get container distribution across cluster nodes using direct commands

set -euo pipefail

PROXMOX_HOST="${PROXMOX_HOST:-192.168.11.10}"
PROXMOX_PASS="${PROXMOX_PASS:-L@kers2010}"

ssh_proxmox() {
    sshpass -p "$PROXMOX_PASS" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 root@"$PROXMOX_HOST" "$@"
}

echo "Container Distribution Across Cluster Nodes"
echo "============================================"
echo ""

# Get all containers from ml110 (since they're all there currently)
echo "All containers (currently on ml110):"
ssh_proxmox "pct list" 2>&1 | grep -v "^VMID" | while IFS= read -r line; do
    if [[ -n "$line" ]]; then
        vmid=$(echo "$line" | awk '{print $1}')
        status=$(echo "$line" | awk '{print $2}')
        name=$(echo "$line" | awk '{for(i=5;i<=NF;i++) printf "%s ", $i; print ""}' | xargs)
        printf "  %-6s %-12s %s\n" "$vmid" "$status" "$name"
    fi
done

echo ""
echo "To check which node each container is on:"
echo "  ssh root@192.168.11.10 'pvesh get /nodes/ml110/lxc'"
echo "  ssh root@192.168.11.10 'pvesh get /nodes/pve/lxc'"
echo "  ssh root@192.168.11.10 'pvesh get /nodes/pve2/lxc'"
echo ""

