diff --git a/files/ansible-playbooks/sot-updater.yml b/files/ansible-playbooks/sot-updater.yml index 35f9d57..fc3017a 100644 --- a/files/ansible-playbooks/sot-updater.yml +++ b/files/ansible-playbooks/sot-updater.yml @@ -349,39 +349,38 @@ changed_when: false ignore_errors: true - - name: Dev2 | Choose raw string (firmux preferred, else banner) + # Dev2: firmux-only selection (prefer line with "rev NNNN") + - name: Dev2 | Select line from firmux (prefer '... rev NNNN') delegate_to: localhost - ansible.builtin.set_fact: + set_fact: + _firmux_lines: "{{ (dev2_firmux.stdout | default('') | splitlines()) | map('trim') | list }}" indoor_fw_raw: >- {{ - (dev2_firmux.stdout | default('') | trim) - if ((dev2_firmux.stdout | default('') | trim) | length > 0) - else (dev2_banner.stdout | default('') | trim) + ( + _firmux_lines + | select('match', '(?i).*\\brev\\s*\\d+.*') + | list + )[0] + if ( + _firmux_lines + | select('match', '(?i).*\\brev\\s*\\d+.*') + | list + | length + ) > 0 + else + ((_firmux_lines | select('truthy') | list )[0] | default('')) }} - - name: Dev2 | Debug raw indoor fw string + - name: Dev2 | Debug chosen line from firmux delegate_to: localhost debug: - msg: - - "Dev2 indoor_fw_raw: {{ indoor_fw_raw }}" + msg: "Chosen indoor_fw_raw='{{ indoor_fw_raw }}'" - - name: Dev2 | Normalize to 'X.Y.Z rev NNNN' or already '-rNNNN' style + # Final value for NetBox: keep exactly what firmux says (no '-r' conversion) + - name: Dev2 | Final indoor fw string (no transformation) delegate_to: localhost - ansible.builtin.set_fact: - indoor_fw_norm: >- - {{ - ((indoor_fw_raw | default('') | trim | lower) is search('-r[0-9]+$')) - | ternary( - (indoor_fw_raw | default('') | trim), - ((indoor_fw_raw | default('') | trim) | regex_replace('\\s*[Rr][Ee][Vv]\\.??\\s*([0-9]+)\\s*$', '-r\\1')) - ) - }} - - - name: Dev2 | Debug normalized indoor fw string - delegate_to: localhost - debug: - msg: - - "Dev2 indoor_fw_norm: {{ indoor_fw_norm }}" + set_fact: + indoor_fw_norm: "{{ indoor_fw_raw | trim }}" # Build payload preview (exact string) — single, corrected task - name: Dev2 | Build payload preview string