From 9f2500d393b0b736975fd4b63e840c02f092bf97 Mon Sep 17 00:00:00 2001 From: pavel Date: Mon, 2 Mar 2026 11:29:19 +0200 Subject: [PATCH] 1129 --- .../update-outdoorbackup224.yml | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/files/ansible-playbooks/update-outdoorbackup224.yml b/files/ansible-playbooks/update-outdoorbackup224.yml index 27c4c55..e6ffed4 100644 --- a/files/ansible-playbooks/update-outdoorbackup224.yml +++ b/files/ansible-playbooks/update-outdoorbackup224.yml @@ -55,7 +55,7 @@ - name: Stop if connected hostname differs from inventory ansible.builtin.fail: - msg: "Aborting: connected host reported hostname '{{ host_env.stdout | trim }}' which differs from inventory '{{ inventory_hostname }}'." + msg: "Backup-bank prep aborting: connected host reported hostname '{{ host_env.stdout | trim }}' which differs from inventory '{{ inventory_hostname }}'." when: (host_env.stdout | trim) != inventory_hostname rescue: @@ -72,7 +72,7 @@ - name: Build failure summary text (hostname preflight) ansible.builtin.set_fact: fail_summary: >- - Firmware update aborted at '{{ fail_task_name }}': {{ fail_detail_raw }} + Outdoor backup preparation aborted at '{{ fail_task_name }}': {{ fail_detail_raw }} - name: Truncate failure summary to ~400 chars (hostname preflight) ansible.builtin.set_fact: @@ -295,9 +295,9 @@ "inscope_device": (ansible_hostname | default(inventory_hostname)), "task_name": "journal_add", "task_result": ( - "Preparation already present for " ~ fw_banner_repr ~ + "Backup preparation already present for " ~ fw_banner_repr ~ "; marker " ~ fw_marker ~ - ". Skipping update steps." + ". Skipping backup preparation steps." ) } | to_json }} @@ -398,7 +398,7 @@ - name: Stop if bootloader environment looks invalid (<7 lines) ansible.builtin.fail: - msg: "Aborting: fw_printenv returned only {{ env_line_count.stdout | trim }} lines (<7) — environment missing or corrupted." + msg: "Backup-bank prep aborting: fw_printenv returned only {{ env_line_count.stdout | trim }} lines (<7) — environment missing or corrupted." when: (env_line_count.stdout | trim | int) < 7 - name: Read first line of /etc/banner (current running version) @@ -409,11 +409,15 @@ - name: current version ansible.builtin.debug: msg: - - "current banner: {{ banner.stdout | trim }}" + - "current running (primary) banner: {{ banner.stdout | trim }}" - name: Stop if target version matches current (/etc/banner already at {{ fw_banner_repr }}) - ansible.builtin.fail: - msg: "Aborting: device already runs {{ fw_banner_repr }} (banner: {{ banner.stdout | trim }})" + ansible.builtin.debug: + msg: "Backup-bank prep skip: running (primary) already at {{ fw_banner_repr }} (banner: {{ banner.stdout | trim }}). This playbook prepares backup bootbank only (no flip, no reboot)." + when: banner.stdout is search(fw_banner_repr) + + - name: End play for this host (target already running on primary; backup prep not needed) + ansible.builtin.meta: end_host when: banner.stdout is search(fw_banner_repr) - name: Upload firmware to /tmp via scp (controller-side) @@ -736,7 +740,7 @@ - name: Build failure summary text ansible.builtin.set_fact: fail_summary: >- - Firmware update aborted at '{{ fail_task_name }}': {{ fail_detail_raw }} + Outdoor backup preparation aborted at '{{ fail_task_name }}': {{ fail_detail_raw }} - name: Truncate failure summary to ~400 chars ansible.builtin.set_fact: @@ -845,4 +849,4 @@ - name: Scheduler | Debug action_state failed published (update failure) ansible.builtin.debug: msg: "scheduler-run detected; published action_state=failed (update failure)" - when: is_run_by_effective == 'scheduler' \ No newline at end of file + when: is_run_by_effective == 'scheduler'