20:01 - before this almost worked, logic corruped for upgrad-false

This commit is contained in:
2025-11-05 20:02:01 +02:00
parent fbe14f1a58
commit 60edd5f34a

View File

@@ -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: