diff --git a/ansible/playbooks/k3s_aerodrome_precheck.yml b/ansible/playbooks/k3s_aerodrome_precheck.yml index 14eaf17..d061882 100644 --- a/ansible/playbooks/k3s_aerodrome_precheck.yml +++ b/ansible/playbooks/k3s_aerodrome_precheck.yml @@ -19,7 +19,7 @@ msg: "{{ inventory_hostname }} current version: {{ k3s_ver.stdout_lines[0] }}" - name: Save on-demand etcd snapshot on primary master (.11) - ansible.builtin.command: k3s etcd-snapshot save --name "pre-upgrade-snapshot" + ansible.builtin.command: k3s etcd-snapshot save --node-name sninfr2lnxctl01 --name "pre-upgrade-snapshot" when: inventory_hostname == "sninfr2lnxctl01" register: etcd_snap diff --git a/scripts/check_job_100.py b/scripts/check_job_100.py index bae320e..9b34da6 100644 --- a/scripts/check_job_100.py +++ b/scripts/check_job_100.py @@ -6,9 +6,9 @@ ssh.connect('140.44.4.11', username='root', key_filename=r'C:\Users\Snarf\.ssh\i py_code = """ from awx.main.models import Job -job = Job.objects.get(id=100) -print(f"Job [100]: Status={job.status}, Elapsed={job.elapsed}s, Failed={job.failed}") -events = job.job_events.order_by('id') +job = Job.objects.order_by('-id').first() +print(f"Job [{job.id}] for '{job.name}': Status={job.status}, Elapsed={job.elapsed}s, Failed={job.failed}") +events = job.job_events.filter(event__in=['playbook_on_stats', 'runner_on_failed', 'runner_on_unreachable']) for e in events: if e.stdout: print(e.stdout) diff --git a/scripts/sync_and_launch_awx.py b/scripts/sync_and_launch_awx.py index c42a024..089e32b 100644 --- a/scripts/sync_and_launch_awx.py +++ b/scripts/sync_and_launch_awx.py @@ -5,16 +5,20 @@ 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_code = """ -from awx.main.models import Project, JobTemplate, Job +from awx.main.models import Project, JobTemplate, Job, Host import time +# 0. Clean up homeassistant from inventory +Host.objects.filter(name='homeassistant').delete() +print("Inventory hosts count:", Host.objects.count()) + # 1. Update project p = Project.objects.get(name='Snarfnet Infrastructure Playbooks') update = p.update() print(f"Triggered project update [{update.id}]...") # Wait for project update -for _ in range(12): +for _ in range(15): update.refresh_from_db() if update.status in ['successful', 'failed', 'error']: break @@ -32,7 +36,7 @@ job.signal_start() print(f"Launched Job [{job.id}] for '{jt.name}': Status={job.status}") # 3. Poll for completion -for _ in range(40): +for _ in range(50): job.refresh_from_db() if job.status in ['successful', 'failed', 'error', 'canceled']: break @@ -41,11 +45,9 @@ for _ in range(40): print(f"Job [{job.id}] finished with Status={job.status}, Elapsed={job.elapsed}s, Failed={job.failed}") # 4. Print events / recap -print("\n=== JOB RECAP / OUTPUT ===") -events = job.job_events.order_by('id') -for e in events: - if e.stdout: - print(e.stdout) +print("\n=== PLAY RECAP ===") +for e in job.job_events.filter(event='playbook_on_stats'): + print(e.stdout) """ cmd = f"kubectl exec -i -n awx -c awx-task deployment/awx-task -- awx-manage shell_plus --quiet << 'EOF'\n{py_code}\nEOF" @@ -55,4 +57,3 @@ for line in iter(stdout.readline, ""): print(line, end="") ssh.close() - diff --git a/snarfcode_update.bundle b/snarfcode_update.bundle index 59fa48a..84d1750 100644 Binary files a/snarfcode_update.bundle and b/snarfcode_update.bundle differ