From 2ad72f3ea5d6e87140fddb6b7b16dd643861c885 Mon Sep 17 00:00:00 2001 From: Boris Glimcher Date: Mon, 26 Feb 2024 23:30:28 +0200 Subject: [PATCH] feat(bmc_fw_update): skip download if local file exists Fixes #16 Signed-off-by: Boris Glimcher --- roles/bmc_fw_update/tasks/main.yml | 9 ++++++++- roles/bmc_fw_update/vars/main.yml | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/roles/bmc_fw_update/tasks/main.yml b/roles/bmc_fw_update/tasks/main.yml index e5617d3..1a3eb8d 100644 --- a/roles/bmc_fw_update/tasks/main.yml +++ b/roles/bmc_fw_update/tasks/main.yml @@ -13,12 +13,19 @@ ansible.builtin.debug: msg: "{{ bmc_firmware_version }}" +- name: Check if firmware image exists locally {{ bmc_fw_update_image.bmc }} + ansible.builtin.stat: + path: "{{ bmc_fw_update_image.dir }}/{{ bmc_fw_update_image.bmc }}" + delegate_to: localhost + register: bmc_fw_update_local_file_check + - name: Download firmware image {{ bmc_fw_update_image.bmc }} ansible.builtin.get_url: url: "{{ bmc_fw_update_image.url }}/{{ bmc_fw_update_image.bmc }}" - dest: /tmp/{{ bmc_fw_update_image.bmc }} + dest: "{{ bmc_fw_update_image.dir }}" mode: '0440' delegate_to: localhost + when: not bmc_fw_update_local_file_check.stat.exists - name: Update BMC firmware of DPU community.general.redfish_command: diff --git a/roles/bmc_fw_update/vars/main.yml b/roles/bmc_fw_update/vars/main.yml index 41c41fa..acc5c3b 100644 --- a/roles/bmc_fw_update/vars/main.yml +++ b/roles/bmc_fw_update/vars/main.yml @@ -8,4 +8,4 @@ bmc_fw_update_task_failure: "Task failed with status: %s" bmc_fw_update_image: url: https://content.mellanox.com/BlueField/BMC/23.10-1-oct-2023 bmc: bf3-bmc-23.10-5_opn.fwpkg - cec: cec1736-ecfw-00.02.0152.0000-n02-rel-prod.fwpkg + dir: /tmp