# 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) - name: Phase 1 | Subsystem -> NetBox sync before cloud-agent restart hosts: all gather_facts: no tasks: - name: Wait 20s before restoring ansible.builtin.pause: seconds: 20 - name: "Wrapper | Verify netbox_subsystem_ikejanum_recursive.py exists" delegate_to: localhost ansible.builtin.stat: path: ./netbox_subsystem_ikejanum_recursive.py register: subsystem_script changed_when: false - 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 changed_when: false failed_when: false when: subsystem_script.stat.exists | default(false) - name: "Wrapper | Show subsystem sync result" delegate_to: localhost 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 - import_playbook: restart-cloud-agent.yml