Files
SnarfCode/scripts/fix_traefik_and_verify.py

42 lines
1.5 KiB
Python

import paramiko
import sys
import time
sys.stdout.reconfigure(encoding='utf-8')
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('140.44.4.11', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=8)
print("=== FIXING TRAEFIK CRD LABELS & ANNOTATIONS ===")
annotate_cmd = """
for crd in $(kubectl get crd -o name | grep 'traefik.io'); do
echo "Patching $crd..."
kubectl annotate $crd meta.helm.sh/release-name=traefik-crd meta.helm.sh/release-namespace=kube-system --overwrite
kubectl label $crd app.kubernetes.io/managed-by=Helm --overwrite
done
"""
stdin, stdout, stderr = ssh.exec_command(annotate_cmd)
print(stdout.read().decode())
print("=== DELETING FAILED HELM INSTALL JOBS TO RETRIGGER ===")
ssh.exec_command('kubectl delete job -n kube-system helm-install-traefik-crd helm-install-traefik')
print("Waiting 15 seconds for Helm controller to reconcile...")
time.sleep(15)
print("=== CHECKING LONGHORN-MANAGER ON WRK01 ===")
_, out, _ = ssh.exec_command('kubectl get pods -n longhorn-system -l app=longhorn-manager -o wide')
print(out.read().decode())
print("=== CHECKING ALL PODS IN KUBE-SYSTEM ===")
_, out, _ = ssh.exec_command('kubectl get pods -n kube-system | grep traefik')
print(out.read().decode())
print("=== CHECKING ANY REMAINING CRASHING PODS ===")
_, out, _ = ssh.exec_command('kubectl get pods -A | grep -v Running | grep -v Completed')
print(out.read().decode())
ssh.close()