18:07
This commit is contained in:
@@ -109,31 +109,36 @@
|
||||
nb_small: "{{ nb_kv.get('small', '') }}"
|
||||
nb_ok_line: "{{ nb_ok_line }}"
|
||||
|
||||
# --- Extract upgrade_cmd from nb_onedevice_update.py output (regex, robust) ---
|
||||
# --- Extract upgrade_cmd from nb_onedevice_update.py output (robust, no cross-task vars) ---
|
||||
- name: "NB preflight | Capture upgrade_cmd from stdout"
|
||||
when: nb_script.stat.exists
|
||||
delegate_to: localhost
|
||||
vars:
|
||||
stdout_clean: "{{ (nb_preflight.stdout | default('') | regex_replace('\r','')) }}"
|
||||
# Find all lines like: NB: upgrade_cmd=...
|
||||
up_matches: "{{ stdout_clean | regex_findall('(?mi)^NB:\\s*upgrade_cmd=\\s*(.*)$') }}"
|
||||
up_val_raw: "{{ (up_matches | first | default('')) | trim }}"
|
||||
# Normalize None/null/empty to '' ; otherwise keep verbatim
|
||||
up_val_clean: >-
|
||||
up_line: >-
|
||||
{{
|
||||
'' if (up_val_raw | lower) in ['none', 'null', ''] else up_val_raw
|
||||
stdout_clean
|
||||
| split('\n')
|
||||
| map('trim')
|
||||
| select('match', '^NB:\\s*upgrade_cmd=')
|
||||
| list
|
||||
| last
|
||||
| default('')
|
||||
}}
|
||||
up_val_raw: "{{ up_line | regex_replace('^NB:\\s*upgrade_cmd=\\s*', '') | trim }}"
|
||||
up_val_clean: "{{ '' if (up_val_raw | lower) in ['none','null',''] else up_val_raw }}"
|
||||
set_fact:
|
||||
nb_upgrade_cmd_line: "{{ up_line }}"
|
||||
nb_upgrade_cmd: "{{ up_val_clean }}"
|
||||
nb_upgrade_cmd_len: "{{ (up_val_clean | length) }}"
|
||||
|
||||
- name: "NB preflight | Debug upgrade_cmd"
|
||||
when: nb_script.stat.exists
|
||||
delegate_to: localhost
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "upgrade_cmd raw match: '{{ (up_matches | first | default('<none>')) }}'"
|
||||
- "upgrade_cmd parsed: '{{ nb_upgrade_cmd | default('') }}' (len={{ (nb_upgrade_cmd | default('')) | length }})"
|
||||
|
||||
- "upgrade_cmd line: {{ nb_upgrade_cmd_line | default('<none>') }}"
|
||||
- "upgrade_cmd parsed: '{{ nb_upgrade_cmd | default('') }}' (len={{ nb_upgrade_cmd_len | default(0) }})"
|
||||
|
||||
# --- Detect "cloud vs NetBox (before update) was different" (regex-free, robust)
|
||||
- name: "NB preflight | Detect whether IP changed (pre-update)"
|
||||
|
||||
Reference in New Issue
Block a user