296 lines
9.1 KiB
ReStructuredText
296 lines
9.1 KiB
ReStructuredText
.. _ome_firmware_module:
|
|
|
|
|
|
ome_firmware -- Update firmware on PowerEdge devices and its components through OpenManage Enterprise
|
|
=====================================================================================================
|
|
|
|
.. contents::
|
|
:local:
|
|
:depth: 1
|
|
|
|
|
|
Synopsis
|
|
--------
|
|
|
|
This module updates the firmware of PowerEdge devices and all its components through OpenManage Enterprise.
|
|
|
|
|
|
|
|
Requirements
|
|
------------
|
|
The below requirements are needed on the host that executes this module.
|
|
|
|
- python >= 2.7.17
|
|
|
|
|
|
|
|
Parameters
|
|
----------
|
|
|
|
device_service_tag (optional, list, None)
|
|
List of service tags of the targeted devices.
|
|
|
|
Either *device_id* or *device_service_tag* can be used individually or together.
|
|
|
|
This option is mutually exclusive with *device_group_names* and *devices*.
|
|
|
|
|
|
device_id (optional, list, None)
|
|
List of ids of the targeted device.
|
|
|
|
Either *device_id* or *device_service_tag* can be used individually or together.
|
|
|
|
This option is mutually exclusive with *device_group_names* and *devices*.
|
|
|
|
|
|
device_group_names (optional, list, None)
|
|
Enter the name of the device group that contains the devices on which firmware needs to be updated.
|
|
|
|
This option is mutually exclusive with *device_id* and *device_service_tag*.
|
|
|
|
|
|
dup_file (optional, path, None)
|
|
The path of the Dell Update Package (DUP) file that contains the firmware or drivers required to update the target system device or individual device components.
|
|
|
|
This is mutually exclusive with *baseline_name*, *components*, and *devices*.
|
|
|
|
|
|
baseline_name (optional, str, None)
|
|
Enter the baseline name to update the firmware of all devices or list of devices that are not complaint.
|
|
|
|
This option is mutually exclusive with *dup_file* and *device_group_names*.
|
|
|
|
|
|
components (optional, list, None)
|
|
List of components to be updated.
|
|
|
|
If not provided, all components applicable are considered.
|
|
|
|
This option is case sensitive.
|
|
|
|
This is applicable to *device_service_tag*, *device_id*, and *baseline_name*.
|
|
|
|
|
|
devices (optional, list, None)
|
|
This option allows to select components on each device for firmware update.
|
|
|
|
This option is mutually exclusive with *dup_file*, *device_group_names*, *device_id*, and *device_service_tag*.
|
|
|
|
|
|
id (optional, int, None)
|
|
The id of the target device to be updated.
|
|
|
|
This option is mutually exclusive with *service_tag*.
|
|
|
|
|
|
service_tag (optional, str, None)
|
|
The service tag of the target device to be updated.
|
|
|
|
This option is mutually exclusive with *id*.
|
|
|
|
|
|
components (optional, list, None)
|
|
The target components to be updated. If not specified, all applicable device components are considered.
|
|
|
|
|
|
|
|
schedule (optional, str, RebootNow)
|
|
Select the schedule for the firmware update.
|
|
|
|
if ``StageForNextReboot`` is chosen, the firmware will be staged and updated during the next reboot of the target device.
|
|
|
|
if ``RebootNow`` will apply the firmware updates immediately.
|
|
|
|
|
|
hostname (True, str, None)
|
|
OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname.
|
|
|
|
|
|
username (True, str, None)
|
|
OpenManage Enterprise or OpenManage Enterprise Modular username.
|
|
|
|
|
|
password (True, str, None)
|
|
OpenManage Enterprise or OpenManage Enterprise Modular password.
|
|
|
|
|
|
port (optional, int, 443)
|
|
OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port.
|
|
|
|
|
|
|
|
|
|
|
|
Notes
|
|
-----
|
|
|
|
.. note::
|
|
- Run this module from a system that has direct access to Dell EMC OpenManage Enterprise.
|
|
- This module supports ``check_mode``.
|
|
|
|
|
|
|
|
|
|
Examples
|
|
--------
|
|
|
|
.. code-block:: yaml+jinja
|
|
|
|
|
|
---
|
|
- name: Update firmware from DUP file using device ids
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
device_id:
|
|
- 11111
|
|
- 22222
|
|
dup_file: "/path/Chassis-System-Management_Firmware_6N9WN_WN64_1.00.01_A00.EXE"
|
|
|
|
- name: Update firmware from a DUP file using a device service tags
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
device_service_tag:
|
|
- KLBR111
|
|
- KLBR222
|
|
dup_file: "/path/Network_Firmware_NTRW0_WN64_14.07.07_A00-00_01.EXE"
|
|
|
|
- name: Update firmware from a DUP file using a device group names
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
device_group_names:
|
|
- servers
|
|
dup_file: "/path/BIOS_87V69_WN64_2.4.7.EXE"
|
|
|
|
- name: Update firmware using baseline name
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
baseline_name: baseline_devices
|
|
|
|
- name: Stage firmware for the next reboot using baseline name
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
baseline_name: baseline_devices
|
|
schedule: StageForNextReboot
|
|
|
|
- name: "Update firmware using baseline name and components."
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
baseline_name: baseline_devices
|
|
components:
|
|
- BIOS
|
|
|
|
- name: Update firmware of device components from a DUP file using a device ids in a baseline
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
baseline_name: baseline_devices
|
|
device_id:
|
|
- 11111
|
|
- 22222
|
|
components:
|
|
- iDRAC with Lifecycle Controller
|
|
|
|
- name: Update firmware of device components from a baseline using a device service tags under a baseline
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
baseline_name: baseline_devices
|
|
device_service_tag:
|
|
- KLBR111
|
|
- KLBR222
|
|
components:
|
|
- IOM-SAS
|
|
|
|
- name: Update firmware using baseline name with a device id and required components
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
baseline_name: baseline_devices
|
|
devices:
|
|
- id: 12345
|
|
components:
|
|
- Lifecycle Controller
|
|
- id: 12346
|
|
components:
|
|
- Enterprise UEFI Diagnostics
|
|
- BIOS
|
|
|
|
- name: "Update firmware using baseline name with a device service tag and required components."
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
baseline_name: baseline_devices
|
|
devices:
|
|
- service_tag: ABCDE12
|
|
components:
|
|
- PERC H740P Adapter
|
|
- BIOS
|
|
- service_tag: GHIJK34
|
|
components:
|
|
- OS Drivers Pack
|
|
|
|
- name: "Update firmware using baseline name with a device service tag or device id and required components."
|
|
dellemc.openmanage.ome_firmware:
|
|
hostname: "192.168.0.1"
|
|
username: "username"
|
|
password: "password"
|
|
baseline_name: baseline_devices
|
|
devices:
|
|
- service_tag: ABCDE12
|
|
components:
|
|
- BOSS-S1 Adapter
|
|
- PowerEdge Server BIOS
|
|
- id: 12345
|
|
components:
|
|
- iDRAC with Lifecycle Controller
|
|
|
|
|
|
|
|
Return Values
|
|
-------------
|
|
|
|
msg (always, str, Successfully submitted the firmware update job.)
|
|
Overall firmware update status.
|
|
|
|
|
|
update_status (success, dict, {'LastRun': 'None', 'CreatedBy': 'user', 'Schedule': 'startnow', 'LastRunStatus': {'Id': 1111, 'Name': 'NotRun'}, 'Builtin': False, 'Editable': True, 'NextRun': 'None', 'JobStatus': {'Id': 1111, 'Name': 'New'}, 'JobName': 'Firmware Update Task', 'Visible': True, 'State': 'Enabled', 'JobDescription': 'dup test', 'Params': [{'Value': 'true', 'Key': 'signVerify', 'JobId': 11111}, {'Value': 'false', 'Key': 'stagingValue', 'JobId': 11112}, {'Value': 'false', 'Key': 'complianceUpdate', 'JobId': 11113}, {'Value': 'INSTALL_FIRMWARE', 'Key': 'operationName', 'JobId': 11114}], 'Targets': [{'TargetType': {'Id': 1000, 'Name': 'DEVICE'}, 'Data': 'DCIM:INSTALLED#701__NIC.Mezzanine.1A-1-1=1234567654321', 'Id': 11115, 'JobId': 11116}], 'StartTime': 'None', 'UpdatedBy': 'None', 'EndTime': 'None', 'Id': 11117, 'JobType': {'Internal': False, 'Id': 5, 'Name': 'Update_Task'}})
|
|
The firmware update job and progress details from the OME.
|
|
|
|
|
|
error_info (on HTTP error, dict, {'error': {'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.', '@Message.ExtendedInfo': [{'MessageId': 'GEN1234', 'RelatedProperties': [], 'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'Severity': 'Critical', 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.'}]}})
|
|
Details of the HTTP Error.
|
|
|
|
|
|
|
|
|
|
|
|
Status
|
|
------
|
|
|
|
|
|
|
|
|
|
|
|
Authors
|
|
~~~~~~~
|
|
|
|
- Felix Stephen (@felixs88)
|
|
- Jagadeesh N V (@jagadeeshnv)
|
|
|