community.general.idrac_firmware – Firmware update from a repository on a network share (CIFS, NFS).

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.idrac_firmware.

Synopsis

  • Update the Firmware by connecting to a network share (either CIFS or NFS) that contains a catalog of available updates.

  • Network share should contain a valid repository of Update Packages (DUPs) and a catalog file describing the DUPs.

  • All applicable updates contained in the repository are applied to the system.

  • This feature is available only with iDRAC Enterprise License.

Requirements

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

  • omsdk

  • python >= 2.7.5

Parameters

Parameter Choices/Defaults Comments
catalog_file_name
string
Default:
"Catalog.xml"
Catalog file name relative to the share_name.
idrac_ip
string / required
iDRAC IP Address.
idrac_password
string / required
iDRAC user password.

aliases: idrac_pwd
idrac_port
integer
Default:
443
iDRAC port.
idrac_user
string / required
iDRAC username.
job_wait
boolean
    Choices:
  • no
  • yes ←
Whether to wait for job completion or not.
reboot
boolean
    Choices:
  • no ←
  • yes
Whether to reboots after applying the updates or not.
share_mnt
string / required
Local mount path of the network share with read-write permission for ansible user. This option is mandatory for Network Share.
share_name
string / required
CIFS or NFS Network share.
share_password
string
Network share user password. This option is mandatory for CIFS Network Share.

aliases: share_pwd
share_user
string
Network share user in the format 'user@domain' or 'domain\\user' if user is part of a domain else 'user'. This option is mandatory for CIFS Network Share.

Examples

---
- name: Update firmware from repository on a Network Share
  community.general.idrac_firmware:
       idrac_ip: "192.168.0.1"
       idrac_user: "user_name"
       idrac_password: "user_password"
       share_name: "192.168.0.0:/share"
       share_user: "share_user_name"
       share_password: "share_user_pwd"
       share_mnt: "/mnt/share"
       reboot: True
       job_wait: True
       catalog_file_name: "Catalog.xml"

Return Values

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

Key Returned Description
msg
string
always
Over all firmware update status.

Sample:
Successfully updated the firmware.
update_status
dictionary
success
Firmware Update job and progress details from the iDRAC.

Sample:
{'InstanceID': 'JID_XXXXXXXXXXXX', 'JobStartTime': 'NA', 'JobState': 'Completed', 'Message': 'Job completed successfully.', 'MessageId': 'REDXXX', 'Name': 'Repository Update', 'Status': 'Success'}


Authors

  • Rajeev Arakkal (@rajeevarakkal)