From 60edd5f34a739a42365cb716d2a14bdc34cf1bc3 Mon Sep 17 00:00:00 2001 From: pavel Date: Wed, 5 Nov 2025 20:02:01 +0200 Subject: [PATCH] 20:01 - before this almost worked, logic corruped for upgrad-false --- files/ansible-playbooks/update-indoor.yml | 37 ++++++++++++----------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/files/ansible-playbooks/update-indoor.yml b/files/ansible-playbooks/update-indoor.yml index f8f5c4d..815a90b 100644 --- a/files/ansible-playbooks/update-indoor.yml +++ b/files/ansible-playbooks/update-indoor.yml @@ -71,21 +71,18 @@ # ====== NEW: pick up force-upgrade flag from CLI and TEMP override ====== - name: Read force-upgrade flag from CLI (supports -e force-upgrade=yes) - delegate_to: localhost ansible.builtin.set_fact: - force_upgrade_raw: "{{ (vars['force-upgrade'] if ('force-upgrade' in vars) else (force_upgrade | default(''))) | string | lower }}" + force_upgrade_raw: "{{ (vars['force-upgrade'] if ('force-upgrade' in vars) else (force_upgrade | default(''))) | string | trim }}" # >>> TEMPORARY OVERRIDE (REMOVE THIS TASK LATER) <<< - name: TEMPORARILY set force-upgrade to yes (REMOVE BEFORE COMMITTING) - delegate_to: localhost ansible.builtin.set_fact: force_upgrade_raw: "yes" # <<< END TEMPORARY >>> - name: Normalize force-upgrade flag to boolean - delegate_to: localhost ansible.builtin.set_fact: - force_upgrade: "{{ force_upgrade_raw in ['y','yes','1','true'] }}" + force_upgrade: "{{ (force_upgrade_raw | string | trim) | bool }}" - name: Debug force-upgrade effective delegate_to: localhost @@ -642,26 +639,32 @@ ansible.builtin.debug: msg: "DEV2 firmux={{ (dev2_firmux.stdout | default('')) | trim }}" - # ====== INSERTED: two-step normalization preview (plain debug only) ====== - - name: Normalize firmux step1 - replace 'rev ' with 'r' + # ====== INSERTED: two-step normalization preview (rev->r, then space->dash) ====== + - name: Normalize DEV2 firmux (step 1): replace 'rev ' -> 'r' (debug only) + when: dev2_firmux is defined delegate_to: localhost ansible.builtin.set_fact: - _firmux_step1: "{{ (dev2_firmux.stdout | default('') | trim) | regex_replace('\\brev\\s+', 'r') }}" + _firmux_step1: "{{ (dev2_firmux.stdout | default('') | trim) | regex_replace('(?i)rev\\s+','r') }}" + changed_when: false - - name: Debug firmux step1 result + - name: Debug firmux after step 1 (rev->r) + when: _firmux_step1 is defined delegate_to: localhost ansible.builtin.debug: - msg: "firmux_step1={{ _firmux_step1 | default('') }}" + msg: "_firmux_step1={{ _firmux_step1 }}" - - name: Normalize firmux step2 - replace spaces with dashes + - name: Normalize DEV2 firmux (step 2): replace space -> '-' (debug only) + when: _firmux_step1 is defined delegate_to: localhost ansible.builtin.set_fact: - _firmux_step2: "{{ (_firmux_step1 | default((dev2_firmux.stdout | default('') | trim))) | regex_replace('\\s+', '-') }}" + _firmux_step2: "{{ _firmux_step1 | replace(' ', '-') }}" + changed_when: false - - name: Debug firmux step2 result + - name: Debug firmux after step 2 (space->dash) + when: _firmux_step2 is defined delegate_to: localhost ansible.builtin.debug: - msg: "firmux_step2={{ _firmux_step2 | default('') }}" + msg: "_firmux_step2={{ _firmux_step2 }}" # ====== END INSERTED ====== # ===================== Early equality/substring check (same logic as checker) ===================== @@ -738,7 +741,7 @@ # 4) soft-block when equal (unless forced) + back-fill legacy debug names - name: Soft-block if already on target (skip staging/write unless force-upgrade) when: - - not (force_upgrade | default(false)) + - not (force_upgrade | default(false) | bool) - version_match | default(false) ansible.builtin.set_fact: _blocked: true @@ -1089,7 +1092,7 @@ block: # --- supervised async write with stall handling --- - - name: Write image to inactive bank on DEV2 (update -w, supervised async) + - name: Launch update -w on DEV2 (async) delegate_to: localhost vars: _write_async_cap: 600 # 10 minutes max runtime (tune if needed) @@ -1464,7 +1467,7 @@ when: afterupgrade_payload is defined delegate_to: localhost - # ---------------------------- Final operator summary (concise) ---------------------------- + # ---------------------------- Final operator summary (one-liners) ---------------------------- - name: Summary key outcomes (one-liners) delegate_to: localhost ansible.builtin.debug: