dellemc.openmanage.idrac_firmware module – Firmware update from a repository on a network share (CIFS, NFS, HTTP, HTTPS, FTP)
Note
This module is part of the dellemc.openmanage collection (version 7.6.1).
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
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: dellemc.openmanage.idrac_firmware
.
New in dellemc.openmanage 2.1.0
Synopsis
Update the Firmware by connecting to a network share (CIFS, NFS, HTTP, HTTPS, FTP) 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 >= 1.2.503
python >= 3.9.6
Parameters
Parameter |
Comments |
---|---|
If apply_update is set to If apply_update is set to Choices:
|
|
The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for the validation. |
|
Catalog file name relative to the share_name. Default: |
|
iDRAC IP Address. |
|
iDRAC user password. |
|
iDRAC port. Default: |
|
iDRAC username. |
|
Specifies if certificate warnings are ignored when HTTPS share is used. If Choices:
|
|
Whether to wait for job completion or not. Choices:
|
|
The password for the proxy server. |
|
The Port for the proxy server. This is required when proxy_support is |
|
The IP address of the proxy server. This IP will not be validated. The download job will be created even for invalid proxy_server. Please check the results of the job for error details. This is required when proxy_support is |
|
Specifies if a proxy should be used. Proxy parameters are applicable on
Default Proxy can be set in the Lifecycle Controller attributes using dellemc.openmanage.idrac_attributes.
For iDRAC7 and iDRAC8 based servers, use proxy server with basic authentication. For iDRAC9 based servers, ensure that you use digest authentication for the proxy server, basic authentication is not supported. Choices:
|
|
The proxy type of the proxy server. This is required when proxy_support is Choices:
|
|
The user name for the proxy server. |
|
Provides the option to apply the update packages immediately or in the next reboot. If reboot is set to If reboot is set to Packages that do not require a reboot are applied immediately irrespective of I (reboot). Choices:
|
|
Local mount path of the network share with read-write permission for ansible user. This option is not applicable for HTTP, HTTPS, and FTP shares. |
|
Network share path of update repository. CIFS, NFS, HTTP, HTTPS and FTP share types are supported. |
|
Network share user password. This option is mandatory for CIFS Network Share. |
|
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. |
|
The socket level timeout in seconds. Default: |
|
If Configure Prior to collection version Choices:
|
Notes
Note
Run this module from a system that has direct access to Dell iDRAC.
Module will report success based on the iDRAC firmware update parent job status if there are no individual component jobs present.
For server with iDRAC firmware 5.00.00.00 and later, if the repository contains unsupported packages, then the module will return success with a proper message.
This module supports both IPv4 and IPv6 address for idrac_ip.
This module supports
check_mode
.
Examples
---
- name: Update firmware from repository on a NFS Share
dellemc.openmanage.idrac_firmware:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
ca_path: "/path/to/ca_cert.pem"
share_name: "192.168.0.0:/share"
reboot: True
job_wait: True
apply_update: True
catalog_file_name: "Catalog.xml"
- name: Update firmware from repository on a CIFS Share
dellemc.openmanage.idrac_firmware:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
ca_path: "/path/to/ca_cert.pem"
share_name: "full_cifs_path"
share_user: "share_user"
share_password: "share_password"
reboot: True
job_wait: True
apply_update: True
catalog_file_name: "Catalog.xml"
- name: Update firmware from repository on a HTTP
dellemc.openmanage.idrac_firmware:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
ca_path: "/path/to/ca_cert.pem"
share_name: "http://downloads.dell.com"
reboot: True
job_wait: True
apply_update: True
- name: Update firmware from repository on a HTTPS
dellemc.openmanage.idrac_firmware:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
ca_path: "/path/to/ca_cert.pem"
share_name: "https://downloads.dell.com"
reboot: True
job_wait: True
apply_update: True
- name: Update firmware from repository on a HTTPS via proxy
dellemc.openmanage.idrac_firmware:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
ca_path: "/path/to/ca_cert.pem"
share_name: "https://downloads.dell.com"
reboot: True
job_wait: True
apply_update: True
proxy_support: ParametersProxy
proxy_server: 192.168.1.10
proxy_type: HTTP
proxy_port: 80
proxy_uname: "proxy_user"
proxy_passwd: "proxy_pwd"
- name: Update firmware from repository on a FTP
dellemc.openmanage.idrac_firmware:
idrac_ip: "192.168.0.1"
idrac_user: "user_name"
idrac_password: "user_password"
ca_path: "/path/to/ca_cert.pem"
share_name: "ftp://ftp.mydomain.com"
reboot: True
job_wait: True
apply_update: True
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Overall firmware update status. Returned: always Sample: |
|
Firmware Update job and progress details from the iDRAC. Returned: success Sample: |
Authors
Rajeev Arakkal (@rajeevarakkal)
Felix Stephen (@felixs88)
Jagadeesh N V (@jagadeeshnv)