diff --git a/files/ansible-playbooks/sot-updater.yml b/files/ansible-playbooks/sot-updater.yml index 8d2786b..8c73f58 100644 --- a/files/ansible-playbooks/sot-updater.yml +++ b/files/ansible-playbooks/sot-updater.yml @@ -198,25 +198,24 @@ failed_when: false ignore_errors: true - - name: Dev1 | Normalize banner → X.X.X-rYYYY (strict) + - name: Dev1 | Normalize banner (use shell string ops) delegate_to: localhost - set_fact: - dev1_fw_clean: >- - {{ - ( - dev1_banner.stdout | default('') | trim - | regex_replace('\\s*\\|.*$', '') # drop trailing " | …" - | regex_replace('(^|\\s)rev\\s+([0-9]+)', '\\1-r\\2') # only lowercase 'rev' with word boundary-ish - | regex_search('[0-9]+\\.[0-9]+\\.[0-9]+-r[0-9]+') # keep exactly X.X.X-rYYYY - ) - | default('', true) - | trim - }} + shell: | + line="{{ dev1_banner.stdout | trim }}" + # cut at the first pipe if present + line="${line%%|*}" + # replace the first space before 'rev' with a dash + line="${line/ rev /-r}" + # remove any extra spaces after the number + line="$(echo "$line" | awk '{print $1}')" + echo "$line" + register: dev1_fw_clean_shell + changed_when: false - name: Debug Dev1 normalized firmware delegate_to: localhost debug: - msg: "Dev1 fw_version → {{ dev1_fw_clean | default('N/A') }}" + msg: "Dev1 fw_version {{ dev1_fw_clean_shell | default('N/A') }}" - name: Publish Dev1 fw_version delegate_to: localhost