dellemc.openmanage.redfish_firmware_rollback (9.1.0) — module

To perform a component firmware rollback using component name

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

Authors: Felix Stephen (@felixs88)

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

This module allows to rollback the firmware of different server components.

Depending on the component, the firmware update is applied after an automatic or manual reboot.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
---
- name: Rollback a BIOS component firmware
  dellemc.openmanage.redfish_firmware_rollback:
    baseuri: "192.168.0.1"
    username: "user_name"
    password: "user_password"
    ca_path: "/path/to/ca_cert.pem"
    name: "BIOS"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Rollback all NIC cards with a name starting from 'Broadcom Gigabit'.
  dellemc.openmanage.redfish_firmware_rollback:
    baseuri: "192.168.0.1:443"
    username: "user_name"
    password: "user_password"
    ca_path: "/path/to/ca_cert.pem"
    name: "Broadcom Gigabit Ethernet.*"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Rollback all the component firmware except BIOS component.
  dellemc.openmanage.redfish_firmware_rollback:
    baseuri: "192.168.0.1:443"
    username: "user_name"
    password: "user_password"
    ca_path: "/path/to/ca_cert.pem"
    name: "(?!BIOS).*"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Rollback all the available firmware component.
  dellemc.openmanage.redfish_firmware_rollback:
    baseuri: "192.168.0.1:443"
    username: "user_name"
    password: "user_password"
    ca_path: "/path/to/ca_cert.pem"
    name: ".*"

Inputs

    
name:
    description: The name or regular expression of the component to match and is case-sensitive.
    required: true
    type: str

reboot:
    default: true
    description:
    - Reboot the server to apply the previous version of the firmware.
    - C(true) reboots the server to rollback the firmware to the available version.
    - C(false) schedules the rollback of firmware until the next restart.
    - When I(reboot) is C(false), some components update immediately, and the server may
      reboot. So, the module must wait till the server is accessible.
    type: bool

baseuri:
    description: IP address of the target out-of-band controller. For example- <ipaddress>:<port>.
    required: true
    type: str

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

password:
    description:
    - Password of the target out-of-band controller.
    - If the password is not provided, then the environment variable C(IDRAC_PASSWORD)
      is used.
    - 'Example: export IDRAC_PASSWORD=password'
    required: true
    type: str

username:
    description:
    - Username of the target out-of-band controller.
    - If the username is not provided, then the environment variable C(IDRAC_USERNAME)
      is used.
    - 'Example: export IDRAC_USERNAME=username'
    required: true
    type: str

reboot_timeout:
    default: 900
    description: Wait time in seconds. The module waits for this duration till the server
      reboots.
    type: int

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

Outputs

error_info:
  description: Details of the HTTP error.
  returned: on http error
  sample:
    error:
      '@Message.ExtendedInfo':
      - Message: InstanceID value provided for the update operation is invalid
        MessageArgs: []
        MessageArgs@odata.count: 0
        MessageId: IDRAC.2.8.SUP024
        RelatedProperties: []
        RelatedProperties@odata.count: 0
        Resolution: Enumerate inventory, copy the InstanceID value and provide that
          value for the update operation.
        Severity: Warning
      code: Base.1.12.GeneralError
      message: A general error has occurred. See ExtendedInfo for more information
  type: dict
msg:
  description: Overall firmware rollback status.
  returned: always
  sample: Successfully completed the job for firmware rollback.
  type: str
status:
  description: Firmware rollback job and progress details from the iDRAC.
  returned: success
  sample:
  - ActualRunningStartTime: '2023-08-04T12:26:55'
    ActualRunningStopTime: '2023-08-04T12:32:35'
    CompletionTime: '2023-08-04T12:32:35'
    Description: Job Instance
    EndTime: TIME_NA
    Id: JID_911698303631
    JobState: Completed
    JobType: FirmwareUpdate
    Message: Job completed successfully.
    MessageArgs: []
    MessageId: PR19
    Name: 'Firmware Rollback: Firmware'
    PercentComplete: 100
    StartTime: '2023-08-04T12:23:50'
    TargetSettingsURI: null
  type: list