Files
SnarfCode/scripts/check_job134_fail.py

26 lines
871 B
Python

import paramiko
import sys
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=10)
py_check = """
from awx.main.models import Job
job = Job.objects.get(id=134)
failed_events = job.job_events.filter(failed=True)
for e in failed_events:
res = e.event_data.get('res', {})
msg = res.get('msg') or res.get('stderr') or res.get('stdout') or str(res)
print(f"Host: {e.event_data.get('host')}, Task: {e.event_data.get('task')}")
print(f"Details: {msg[:300]}")
"""
cmd = f"kubectl exec -i -n awx -c awx-task deployment/awx-task -- awx-manage shell_plus --quiet << 'EOF'\n{py_check}\nEOF"
stdin, stdout, stderr = ssh.exec_command(cmd)
print(stdout.read().decode())
ssh.close()