jagadeeshnv.test.redfish_firmware (0.2.0) — module

To perform a component firmware update using the image file available on the local or remote system.

| "added in version" 2.9 of jagadeeshnv.test"

Authors: Felix Stephen (@felixs88)

preview | supported by community

Install collection

Install with ansible-galaxy collection install jagadeeshnv.test:==0.2.0


Add to requirements.yml

  collections:
    - name: jagadeeshnv.test
      version: 0.2.0

Description

This module allows the firmware update of only one component at a time. If the module is run for more than one component, an error message is returned.

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: Update the firmware from a single executable file available in a HTTP protocol.
  dellemc.openmanage.redfish_firmware:
    baseuri: "192.168.0.1"
    username: "user_name"
    password: "user_password"
    image_uri: "http://192.168.0.2/firmware_repo/component.exe"
    transfer_protocol: "HTTP"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Update the firmware from a single executable file available in a local path.
  dellemc.openmanage.redfish_firmware:
    baseuri: "192.168.0.1"
    username: "user_name"
    password: "user_password"
    image_uri: "/home/firmware_repo/component.exe"

Inputs

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

password:
    description: Password of the target out-of-band controller.
    required: true
    type: str

username:
    description: Username of the target out-of-band controller.
    required: true
    type: str

image_uri:
    description:
    - Firmware Image location URI or local path.
    - For example- U(http://<web_address>/components.exe) or /home/firmware_repo/component.exe
    required: true
    type: str

transfer_protocol:
    choices:
    - CIFS
    - FTP
    - HTTP
    - HTTPS
    - NSF
    - OEM
    - SCP
    - SFTP
    - TFTP
    default: HTTP
    description: Protocol used to transfer the firmware image file. Applicable for URI
      based update.
    type: str

Outputs

error_info:
  description: Details of http error.
  returned: on http error
  sample:
    error:
      '@Message.ExtendedInfo':
      - Message: Unable to complete the operation because the JSON data format entered
          is invalid.
        Resolution: 'Do the following and the retry the operation: 1) Enter the correct
          JSON data format and retry the operation. 2) Make sure that no syntax error
          is present in JSON data format. 3) Make sure that a duplicate key is not
          present in JSON data format.'
        Severity: Critical
      - Message: The request body submitted was malformed JSON and could not be parsed
          by the receiving service.
        Resolution: Ensure that the request body is valid JSON and resubmit the request.
        Severity: Critical
      code: Base.1.2.GeneralError
      message: A general error has occurred. See ExtendedInfo for more information.
  type: dict
msg:
  description: Overall status of the firmware update task.
  returned: always
  sample: Successfully submitted the firmware update task.
  type: str
task:
  description: Returns ID and URI of the created task.
  returned: success
  sample:
    id: JID_XXXXXXXXXXXX
    uri: /redfish/v1/TaskService/Tasks/JID_XXXXXXXXXXXX
  type: dict