dellemc.openmanage.idrac_firmware (9.1.0) — module

Firmware update from a repository on a network share (CIFS, NFS, HTTP, HTTPS, FTP)

| "added in version" 2.1.0 of dellemc.openmanage"

Authors: Rajeev Arakkal (@rajeevarakkal), Felix Stephen (@felixs88), Jagadeesh N V (@jagadeeshnv)

Install collection

Install with ansible-galaxy collection install dellemc.openmanage:==9.1.0


Add to requirements.yml

  collections:
    - name: dellemc.openmanage
      version: 9.1.0

Description

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

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
---
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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

Inputs

    
reboot:
    default: false
    description:
    - Provides the option to apply the update packages immediately or in the next reboot.
    - If I(reboot) is set to C(true),  then the packages  are applied immediately.
    - If I(reboot) is set to C(false), then the packages are staged and applied in the
      next reboot.
    - Packages that do not require a reboot are applied immediately irrespective of I
      (reboot).
    type: bool

ca_path:
    description:
    - The Privacy Enhanced Mail (PEM) file that contains a CA certificate to be used for
      the validation.
    type: path
    version_added: 5.0.0
    version_added_collection: dellemc.openmanage

timeout:
    default: 30
    description: The socket level timeout in seconds.
    type: int
    version_added: 5.0.0
    version_added_collection: dellemc.openmanage

idrac_ip:
    description: iDRAC IP Address.
    required: true
    type: str

job_wait:
    default: true
    description: Whether to wait for job completion or not.
    type: bool

share_mnt:
    description:
    - 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.
    type: str

idrac_port:
    default: 443
    description: iDRAC port.
    type: int

idrac_user:
    description:
    - iDRAC username.
    - If the username is not provided, then the environment variable C(IDRAC_USERNAME)
      is used.
    - 'Example: export IDRAC_USERNAME=username'
    required: true
    type: str

proxy_port:
    description:
    - The Port for the proxy server.
    - This is required when I(proxy_support) is C(ParametersProxy).
    type: int

proxy_type:
    choices:
    - HTTP
    - SOCKS
    description:
    - The proxy type of the proxy server.
    - This is required when I(proxy_support) is C(ParametersProxy).
    - 'Note: SOCKS4 proxy does not support IPv6 address.'
    type: str

share_name:
    description: Network share path of update repository. CIFS, NFS, HTTP, HTTPS and FTP
      share types are supported.
    required: true
    type: str

share_user:
    description: 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.
    type: str

proxy_uname:
    description: The user name for the proxy server.
    type: str

apply_update:
    default: true
    description:
    - If I(apply_update) is set to C(true), then the packages are applied.
    - If I(apply_update) is set to C(false), no updates are applied, and a catalog report
      of packages is generated and returned.
    type: bool

proxy_passwd:
    description: The password for the proxy server.
    type: str

proxy_server:
    description:
    - The IP address of the proxy server.
    - This IP will not be validated. The download job will be created even for invalid
      I(proxy_server). Please check the results of the job for error details.
    - This is required when I(proxy_support) is C(ParametersProxy).
    type: str

proxy_support:
    choices:
    - ParametersProxy
    - DefaultProxy
    - 'Off'
    default: 'Off'
    description:
    - Specifies if a proxy should be used.
    - Proxy parameters are applicable on C(HTTP), C(HTTPS), and C(FTP) share type of repositories.
    - C(ParametersProxy), sets the proxy parameters for the current firmware operation.
    - C(DefaultProxy), iDRAC uses the proxy values set by default.
    - Default Proxy can be set in the Lifecycle Controller attributes using M(dellemc.openmanage.idrac_attributes).
    - C(Off), will not use the proxy.
    - For 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.
    type: str

idrac_password:
    aliases:
    - idrac_pwd
    description:
    - iDRAC user password.
    - If the password is not provided, then the environment variable C(IDRAC_PASSWORD)
      is used.
    - 'Example: export IDRAC_PASSWORD=password'
    required: true
    type: str

share_password:
    aliases:
    - share_pwd
    description: Network share user password. This option is mandatory for CIFS Network
      Share.
    type: str

validate_certs:
    default: true
    description:
    - If C(false), the SSL certificates will not be validated.
    - Configure C(false) only on personally controlled sites where self-signed certificates
      are used.
    - Prior to collection version C(5.0.0), the I(validate_certs) is C(false) by default.
    type: bool
    version_added: 5.0.0
    version_added_collection: dellemc.openmanage

catalog_file_name:
    default: Catalog.xml
    description: Catalog file name relative to the I(share_name).
    type: str

ignore_cert_warning:
    default: true
    description: Specifies if certificate warnings are ignored when HTTPS share is used.
      If C(true) option is set, then the certificate warnings are ignored.
    type: bool

Outputs

msg:
  description: Overall firmware update status.
  returned: always
  sample: Successfully updated the firmware.
  type: str
update_status:
  description: Firmware Update job and progress details from the iDRAC.
  returned: success
  sample:
    InstanceID: JID_XXXXXXXXXXXX
    JobStartTime: NA
    JobState: Completed
    Message: Job completed successfully.
    MessageId: REDXXX
    Name: Repository Update
    Status: Success
  type: dict