dellemc.openmanage.ome_firmware – Firmware update of PowerEdge devices and its components through OpenManage Enterprise

Note

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

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

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

New in version 2.0.0: of dellemc.openmanage

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.5

Parameters

Parameter Choices/Defaults Comments
baseline_name
string
Enter the baseline name to update the firmware of all the devices or groups of devices against the available compliance report.
The firmware update can also be done by providing the baseline name and the path to the single DUP file. To update multiple baselines at once, provide the baseline names separated by commas.
baseline_names is mutually exclusive with device_group_names, device_id and device_service_tag.
device_group_names
list / elements=string
Enter the name of the group to update the firmware of all the devices within the group.
device_group_names is mutually exclusive with device_id and device_service_tag.
device_id
list / elements=integer
List of targeted device ids.
Either device_id or device_service_tag can be used individually or together.
device_id is mutually exclusive with device_group_names.
device_service_tag
list / elements=string
List of targeted device service tags.
Either device_id or device_service_tag can be used individually or together.
device_service_tag is mutually exclusive with device_group_names.
dup_file
string
Executable file to apply on the targets.
hostname
string / required
Target IP address or hostname.
password
string / required
Target user password.
port
integer
Default:
443
Target HTTPS port.
username
string / required
Target username.

Notes

Note

  • Run this module from a system that has direct access to DellEMC OpenManage Enterprise.

  • This module does not support check_mode.

Examples

---
- 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: Update firmware from a DUP file using a baseline names
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    baseline_name: "baseline_devices, baseline_groups"
    dup_file: "/path/BIOS_87V69_WN64_2.4.7.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 the HTTP Error.

Sample:
{'error': {'@Message.ExtendedInfo': [{'Message': 'Unable to process the request because an error occurred.', 'MessageArgs': [], 'MessageId': 'GEN1234', 'RelatedProperties': [], 'Resolution': 'Retry the operation. If the issue persists, contact your system administrator.', 'Severity': 'Critical'}], 'code': 'Base.1.0.GeneralError', 'message': 'A general error has occurred. See ExtendedInfo for more information.'}}
msg
string
always
Overall firmware update status.

Sample:
Successfully submitted the firmware update job.
update_status
dictionary
success
Firmware Update job and progress details from the OME.

Sample:
{'Builtin': False, 'CreatedBy': 'user', 'Editable': True, 'EndTime': 'None', 'Id': 11117, 'JobDescription': 'dup test', 'JobName': 'Firmware Update Task', 'JobStatus': {'Id': 1111, 'Name': 'New'}, 'JobType': {'Id': 5, 'Internal': False, 'Name': 'Update_Task'}, 'LastRun': 'None', 'LastRunStatus': {'Id': 1111, 'Name': 'NotRun'}, 'NextRun': 'None', 'Params': [{'JobId': 11111, 'Key': 'signVerify', 'Value': 'true'}, {'JobId': 11112, 'Key': 'stagingValue', 'Value': 'false'}, {'JobId': 11113, 'Key': 'complianceUpdate', 'Value': 'false'}, {'JobId': 11114, 'Key': 'operationName', 'Value': 'INSTALL_FIRMWARE'}], 'Schedule': 'startnow', 'StartTime': 'None', 'State': 'Enabled', 'Targets': [{'Data': 'DCIM:INSTALLED#701__NIC.Mezzanine.1A-1-1=1111111111111', 'Id': 11115, 'JobId': 11116, 'TargetType': {'Id': 1000, 'Name': 'DEVICE'}}], 'UpdatedBy': 'None', 'Visible': True}


Authors

  • Felix Stephen (@felixs88)