dellemc.openmanage.redfish_firmware module – To perform a component firmware update using the image file available on the local or remote system
Note
This module is part of the dellemc.openmanage collection (version 4.4.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
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 |
Comments |
---|---|
IP address of the target out-of-band controller. For example- <ipaddress>:<port>. |
|
Firmware Image location URI or local path. For example- http://<web_address>/components.exe or /home/firmware_repo/component.exe. |
|
Password of the target out-of-band controller. |
|
Protocol used to transfer the firmware image file. Applicable for URI based update. Choices:
|
|
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 |
Description |
---|---|
Details of http error. Returned: on 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.”}} |
|
Overall status of the firmware update task. Returned: always Sample: “Successfully submitted the firmware update task.” |
|
Returns ID and URI of the created task. Returned: success Sample: {“id”: “JID_XXXXXXXXXXXX”, “uri”: “/redfish/v1/TaskService/Tasks/JID_XXXXXXXXXXXX”} |
Authors
Felix Stephen (@felixs88)