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

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

OpenManage Enterprise or OpenManage Enterprise Modular IP address or hostname.

password

string / required

OpenManage Enterprise or OpenManage Enterprise Modular password.

port

integer

OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port.

Default: 443

username

string / required

OpenManage Enterprise or OpenManage Enterprise Modular 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

Description

error_info

dictionary

Details of the HTTP Error.

Returned: on 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

Overall firmware update status.

Returned: always

Sample: “Successfully submitted the firmware update job.”

update_status

dictionary

Firmware Update job and progress details from the OME.

Returned: success

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)