dellemc.openmanage.ome_firmware (9.1.0) — module

Update firmware on PowerEdge devices and its components through OpenManage Enterprise

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

Authors: Felix Stephen (@felixs88), Jagadeesh N V (@jagadeeshnv), Abhishek Sinha (@ABHISHEK-SINHA10)

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 updates the firmware of PowerEdge devices and all its components through OpenManage Enterprise.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
---
- name: Update firmware from DUP file using device ids
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    device_id:
      - 11111
      - 22222
    dup_file: "/path/Chassis-System-Management_Firmware_6N9WN_WN64_1.00.01_A00.EXE"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
    ca_path: "/path/to/ca_cert.pem"
    device_service_tag:
      - KLBR111
      - KLBR222
    dup_file: "/path/Network_Firmware_NTRW0_WN64_14.07.07_A00-00_01.EXE"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"
    ca_path: "/path/to/ca_cert.pem"
    device_group_names:
      - servers
    dup_file: "/path/BIOS_87V69_WN64_2.4.7.EXE"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update firmware using baseline name
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Stage firmware for the next reboot using baseline name
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
    schedule: StageForNextReboot
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: "Update firmware using baseline name and components."
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
    components:
      - BIOS
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update firmware of device components from a DUP file using a device ids in a baseline
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
    device_id:
      - 11111
      - 22222
    components:
      - iDRAC with Lifecycle Controller
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update firmware of device components from a baseline using a device service tags under a baseline
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
    device_service_tag:
      - KLBR111
      - KLBR222
    components:
      - IOM-SAS
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update firmware using baseline name with a device id and required components
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
    devices:
      - id: 12345
        components:
          - Lifecycle Controller
      - id: 12346
        components:
          - Enterprise UEFI Diagnostics
          - BIOS
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: "Update firmware using baseline name with a device service tag and required components."
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
    devices:
      - service_tag: ABCDE12
        components:
          - PERC H740P Adapter
          - BIOS
      - service_tag: GHIJK34
        components:
          - OS Drivers Pack
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: "Update firmware using baseline name with a device service tag or device id and required components."
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
    devices:
      - service_tag: ABCDE12
        components:
          - BOSS-S1 Adapter
          - PowerEdge Server BIOS
      - id: 12345
        components:
          - iDRAC with Lifecycle Controller
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: "Update firmware using baseline name and components and perform Powercycle."
  dellemc.openmanage.ome_firmware:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    baseline_name: baseline_devices
    components:
      - BIOS
    reboot_type: PowerCycle

Inputs

    
port:
    default: 443
    description: OpenManage Enterprise or OpenManage Enterprise Modular HTTPS port.
    type: int

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

devices:
    description:
    - This option allows to select components on each device for firmware update.
    - This option is mutually exclusive with I(dup_file), I(device_group_names), I(device_id),
      and I(device_service_tag).
    elements: dict
    suboptions:
      components:
        default: []
        description: The target components to be updated. If not specified, all applicable
          device components are considered.
        elements: str
        type: list
      id:
        description:
        - The id of the target device to be updated.
        - This option is mutually exclusive with I(service_tag).
        type: int
      service_tag:
        description:
        - The service tag of the target device to be updated.
        - This option is mutually exclusive with I(id).
        type: str
    type: list

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

dup_file:
    description:
    - The path of the Dell Update Package (DUP) file that contains the firmware or drivers
      required to update the target system device or individual device components.
    - This is mutually exclusive with I(baseline_name), I(components), and I(devices).
    type: path

hostname:
    description: OpenManage Enterprise or OpenManage Enterprise Modular IP address or
      hostname.
    required: true
    type: str

password:
    description:
    - OpenManage Enterprise or OpenManage Enterprise Modular password.
    - If the password is not provided, then the environment variable C(OME_PASSWORD) is
      used.
    - 'Example: export OME_PASSWORD=password'
    required: true
    type: str

schedule:
    choices:
    - RebootNow
    - StageForNextReboot
    default: RebootNow
    description:
    - Select the schedule for the firmware update.
    - if C(StageForNextReboot) is chosen, the firmware will be staged and updated during
      the next reboot of the target device.
    - if C(RebootNow) will apply the firmware updates immediately.
    type: str

username:
    description:
    - OpenManage Enterprise or OpenManage Enterprise Modular username.
    - If the username is not provided, then the environment variable C(OME_USERNAME) is
      used.
    - 'Example: export OME_USERNAME=username'
    required: true
    type: str

device_id:
    description:
    - List of ids of the targeted device.
    - Either I(device_id) or I(device_service_tag) can be used individually or together.
    - This option is mutually exclusive with I(device_group_names) and I(devices).
    elements: int
    type: list

components:
    default: []
    description:
    - List of components to be updated.
    - If not provided, all components applicable are considered.
    - This option is case sensitive.
    - This is applicable to I(device_service_tag), I(device_id), and I(baseline_name).
    elements: str
    type: list

reboot_type:
    choices:
    - GracefulReboot
    - GracefulRebootForce
    - PowerCycle
    default: GracefulRebootForce
    description:
    - This option provides the choices to reboot the server immediately after the firmware
      update.
    - This is applicable when I(schedule) is C(RebootNow).
    - C(GracefulRebootForce) performs a graceful reboot with forced shutdown.
    - C(GracefulReboot) performs a graceful reboot without forced shutdown.
    - C(PowerCycle) performs a power cycle for a hard reset on the device.
    type: str
    version_added: 8.3.0
    version_added_collection: dellemc.openmanage

baseline_name:
    description:
    - Enter the baseline name to update the firmware of all devices or list of devices
      that are not complaint.
    - This option is mutually exclusive with I(dup_file) and I(device_group_names).
    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

device_group_names:
    description:
    - Enter the name of the device group that contains the devices on which firmware needs
      to be updated.
    - This option is mutually exclusive with I(device_id) and I(device_service_tag).
    elements: str
    type: list

device_service_tag:
    description:
    - List of service tags of the targeted devices.
    - Either I(device_id) or I(device_service_tag) can be used individually or together.
    - This option is mutually exclusive with I(device_group_names) and I(devices).
    elements: str
    type: list

Outputs

error_info:
  description: 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.
  type: dict
msg:
  description: Overall firmware update status.
  returned: always
  sample: Successfully submitted the firmware update job.
  type: str
update_status:
  description: The 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=1234567654321
      Id: 11115
      JobId: 11116
      TargetType:
        Id: 1000
        Name: DEVICE
    UpdatedBy: None
    Visible: true
  type: dict