Files
SnarfCode/scripts/inspect_storageclasses_pvcs.py

35 lines
1.2 KiB
Python

import os
import sys
import paramiko
sys.stdout.reconfigure(encoding="utf-8")
pkey = paramiko.Ed25519Key.from_private_key_file(os.path.expanduser('~/.ssh/id_ed25519_snarfnet'))
clusters = [
("aerodrome (140.44.4.11)", "140.44.4.11"),
("spaceport (140.44.4.41)", "140.44.4.41"),
]
for name, ip in clusters:
print(f"\n==================================================")
print(f"STORAGE AUDIT ON {name}")
print(f"==================================================")
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
client.connect(ip, username="root", pkey=pkey, timeout=10)
cmd = """
echo "=== StorageClasses ==="
kubectl get sc
echo "=== Terminating / Stuck PVCs ==="
kubectl get pvc -A | grep -iE 'terminating|failed|pending' || echo " None found"
echo "=== Default Namespace PVCs ==="
kubectl get pvc -n default || echo " None"
"""
stdin, stdout, stderr = client.exec_command(cmd)
print(stdout.read().decode('utf-8', errors='replace'))
client.close()
except Exception as e:
print(f"Error on {name}: {e}")