dellemc.openmanage.redfish_firmware – To perform a component firmware update using the image file available on the local or remote system

From Get docs
Ansible/docs/2.11/collections/dellemc/openmanage/redfish firmware module


dellemc.openmanage.redfish_firmware – To perform a component firmware update using the image file available on the local or remote system

Note

This plugin is part of the dellemc.openmanage collection (version 3.0.0).

To install it use: ansible-galaxy collection install dellemc.openmanage.

To use it in a playbook, specify: dellemc.openmanage.redfish_firmware.


New in version 2.1.0: of dellemc.openmanage


Synopsis

  • This module allows the firmware update of only one component at a time. If the module is run for more than one component, an error message is returned.
  • Depending on the component, the firmware update is applied after an automatic or manual reboot.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.7.5
  • urllib3

Parameters

Parameter Choices/Defaults Comments

baseuri

string / required

IP address of the target out-of-band controller. For example- :.

image_uri

string / required

Firmware Image location URI or local path.

For example- http:///components.exe or /home/firmware_repo/component.exe.

password

string / required

Password of the target out-of-band controller.

transfer_protocol

string

  • CIFS
  • FTP
  • HTTP

  • HTTPS
  • NSF
  • OEM
  • SCP
  • SFTP
  • TFTP

Protocol used to transfer the firmware image file. Applicable for URI based update.

username

string / required

Username of the target out-of-band controller.



Notes

Note

  • Run this module from a system that has direct access to Redfish APIs.
  • This module does not support check_mode.


Examples

---
- name: Update the firmware from a single executable file available in a HTTP protocol
  dellemc.openmanage.redfish_firmware:
    baseuri: "192.168.0.1"
    username: "user_name"
    password: "user_password"
    image_uri: "http://192.168.0.2/firmware_repo/component.exe"
    transfer_protocol: "HTTP"

- name: Update the firmware from a single executable file available in a local path
  dellemc.openmanage.redfish_firmware:
    baseuri: "192.168.0.1"
    username: "user_name"
    password: "user_password"
    image_uri: "/home/firmware_repo/component.exe"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

error_info

dictionary

on http error

Details of http error.


Sample:

{'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to complete the operation because the JSON data format entered is invalid.', 'Resolution': 'Do the following and the retry the operation: 1) Enter the correct JSON data format and retry the operation. 2) Make sure that no syntax error is present in JSON data format. 3) Make sure that a duplicate key is not present in JSON data format.', 'Severity': 'Critical'}, {'Message': 'The request body submitted was malformed JSON and could not be parsed by the receiving service.', 'Resolution': 'Ensure that the request body is valid JSON and resubmit the request.', 'Severity': 'Critical'}], 'code': 'Base.1.2.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}

msg

string

always

Overall status of the firmware update task.


Sample:

Successfully submitted the firmware update task.

task

dictionary

success

Returns ID and URI of the created task.


Sample:

{'id': 'JID_XXXXXXXXXXXX', 'uri': '/redfish/v1/TaskService/Tasks/JID_XXXXXXXXXXXX'}




Authors

  • Felix Stephen (@felixs88)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/dellemc/openmanage/redfish_firmware_module.html