This commit is contained in:
2025-10-24 22:07:41 +03:00
parent c22fb85acc
commit dddf1a8ab0

View File

@@ -283,18 +283,31 @@
failed_when: false
ignore_errors: true
- name: Dev1 | Normalize banner → X.X.X-rYYYY
# (1) Show what we got from banner so we can see what we’re parsing
- name: Dev1 | Debug raw banner
when: dev1_banner is defined
delegate_to: localhost
debug:
msg:
- "DEV1 banner raw: {{ (dev1_banner.stdout | default('') | trim) | regex_replace('\n',' ') }}"
# (2) Strip timestamp/anything after a pipe
- name: Dev1 | Strip trailing ' | ...'
delegate_to: localhost
set_fact:
dev1_fw_clean: >-
{{
(
(dev1_banner.stdout | default('') | trim )
| regex_replace('\\s*\\|.*$', '') # drop ' | timestamp'
| regex_replace('(?i)\\s*rev\\.?\\s*([0-9]+)\\s*$', '-r\\1')
| regex_search('[0-9]+\\.[0-9]+\\.[0-9]+-r[0-9]+')
) | default('', true)
}}
dev1_no_ts: "{{ (dev1_banner.stdout | default('') | trim) | regex_replace('\\|.*$', '') }}"
# (3) Convert 'rev YYYY' to '-rYYYY' (case-insensitive, using explicit flag)
- name: Dev1 | Convert 'rev YYYY' → '-rYYYY'
delegate_to: localhost
set_fact:
dev1_rev_dash: "{{ dev1_no_ts | regex_replace('rev\\.?\\s*([0-9]+)\\s*$', '-r\\1', ignorecase=True) }}"
# (4) Extract the canonical core X.X.X-rYYYY (or empty if not found)
- name: Dev1 | Extract X.X.X-rYYYY core
delegate_to: localhost
set_fact:
dev1_fw_clean: "{{ dev1_rev_dash | regex_search('[0-9]+\\.[0-9]+\\.[0-9]+-r[0-9]+') | default('', true) }}"
- name: Journal if DEV1 normalization failed (no core)
when: (dev1_fw_clean | default('') | length) == 0