diff --git a/roles/bmc_fw_update/tasks/main.yml b/roles/bmc_fw_update/tasks/main.yml index e5617d3..02434c4 100644 --- a/roles/bmc_fw_update/tasks/main.yml +++ b/roles/bmc_fw_update/tasks/main.yml @@ -82,7 +82,7 @@ ansible.builtin.debug: msg: "{{ bmc_firmware_version }}" -- name: Validate fw image changed from before - ansible.builtin.assert: - that: - - get_bmc_facts_before.redfish_facts.firmware.entries[0].Version != get_bmc_facts_after.redfish_facts.firmware.entries[0].Version +- name: Validate fw image matches given filename + ansible.builtin.fail: + msg: "{{ bmc_fw_update_version_failure }}" + when: not bmc_fw_update_image.bmc is search(bmc_firmware_version | regex_search('[0-9-.]+')) diff --git a/roles/bmc_fw_update/vars/main.yml b/roles/bmc_fw_update/vars/main.yml index 41c41fa..a0f7b1b 100644 --- a/roles/bmc_fw_update/vars/main.yml +++ b/roles/bmc_fw_update/vars/main.yml @@ -5,6 +5,7 @@ # vars file for bmc_fw_update bmc_fw_update_task_failure: "Task failed with status: %s" +bmc_fw_update_version_failure: "Version returned from BMC doesn't match version in the file name" bmc_fw_update_image: url: https://content.mellanox.com/BlueField/BMC/23.10-1-oct-2023 bmc: bf3-bmc-23.10-5_opn.fwpkg diff --git a/roles/get_bmc_facts/tasks/main.yml b/roles/get_bmc_facts/tasks/main.yml index 11905ee..757738e 100644 --- a/roles/get_bmc_facts/tasks/main.yml +++ b/roles/get_bmc_facts/tasks/main.yml @@ -16,4 +16,4 @@ - name: Extract BMC firmware version from inventory ansible.builtin.set_fact: - bmc_firmware_version: "{{ result.redfish_facts.firmware | community.general.json_query('entries[?Id==`BMC_Firmware`].Version') }}" + bmc_firmware_version: "{{ result.redfish_facts.firmware | community.general.json_query('entries[?Id==`BMC_Firmware`].Version') | first }}"