From 7834b2acfcf6d6f60c4b79d577bbbaa8bfcff21b Mon Sep 17 00:00:00 2001 From: pavel Date: Thu, 23 Apr 2026 05:22:34 +0300 Subject: [PATCH] 0522 --- .../restart-cloud-agent-wrapper.yml | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/files/ansible-playbooks/restart-cloud-agent-wrapper.yml b/files/ansible-playbooks/restart-cloud-agent-wrapper.yml index d17e90c..2895749 100644 --- a/files/ansible-playbooks/restart-cloud-agent-wrapper.yml +++ b/files/ansible-playbooks/restart-cloud-agent-wrapper.yml @@ -1,12 +1,10 @@ # restart-cloud-agent-wrapper.yml -# Single nbplay invocation: -# Phase 1: Subsystem -> NetBox IP sync (via netbox_subsystem_ikejanum_recursive.py) -# Phase 2: Restart cloud-agent on the device (via restart-cloud-agent.yml) +# Phase 1: Subsystem -> NetBox sync for current inventory_hostname +# Phase 2: Restart cloud-agent on the device - name: Phase 1 | Subsystem -> NetBox sync before cloud-agent restart hosts: all gather_facts: no - tasks: - name: Wait 20s before restoring ansible.builtin.pause: @@ -21,12 +19,12 @@ - name: "Wrapper | Run netbox_subsystem_ikejanum_recursive.py for {{ inventory_hostname }}" delegate_to: localhost - ansible.builtin.command: - argv: - - python3 - - ./netbox_subsystem_ikejanum_recursive.py - - "{{ inventory_hostname }}" - register: subsystem_preflight + ansible.builtin.shell: | + set -o pipefail + python3 -u ./netbox_subsystem_ikejanum_recursive.py "{{ inventory_hostname }}" 2>&1 + args: + executable: /bin/bash + register: subsystem_sync changed_when: false failed_when: false when: subsystem_script.stat.exists | default(false) @@ -36,9 +34,15 @@ ansible.builtin.debug: msg: - "script_exists={{ subsystem_script.stat.exists | default(false) }}" - - "rc={{ subsystem_preflight.rc | default('NA') }}" - - "stdout_lines={{ subsystem_preflight.stdout_lines | default([]) }}" - - "stderr_lines={{ subsystem_preflight.stderr_lines | default([]) }}" - changed_when: false + - "rc={{ subsystem_sync.rc | default('NA') }}" + - "stdout_lines={{ subsystem_sync.stdout_lines | default([]) }}" + - "stderr_lines={{ subsystem_sync.stderr_lines | default([]) }}" + - "raw stdout (joined): {{ subsystem_sync.stdout | default('') }}" + - "raw stderr (joined): {{ subsystem_sync.stderr | default('') }}" + when: subsystem_script.stat.exists | default(false) + + - name: "Wrapper | Abort softly if script missing" + ansible.builtin.meta: end_host + when: not (subsystem_script.stat.exists | default(false)) - import_playbook: restart-cloud-agent.yml