dellemc.openmanage.ome_firmware 模块 – 通过 OpenManage Enterprise 更新 PowerEdge 设备及其组件的固件

注意

此模块是 dellemc.openmanage 集合(版本 9.9.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install dellemc.openmanage。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:dellemc.openmanage.ome_firmware

dellemc.openmanage 2.0.0 中的新增功能

概要

  • 此模块通过 OpenManage Enterprise 更新 PowerEdge 设备及其所有组件的固件。

要求

执行此模块的主机需要以下要求。

  • python >= 3.9.6

参数

参数

注释

baseline_name

字符串

输入基准名称以更新所有设备或不合规设备列表的固件。

此选项与 dup_filedevice_group_names 互斥。

ca_path

路径

在 dellemc.openmanage 5.0.0 中添加

包含用于验证的 CA 证书的隐私增强邮件 (PEM) 文件。

components

列表 / 元素=字符串

要更新的组件列表。

如果未提供,则会考虑所有适用的组件。

此选项区分大小写。

这适用于 device_service_tagdevice_idbaseline_name

默认值: []

device_group_names

列表 / 元素=字符串

输入包含需要更新固件的设备的设备组的名称。

此选项与 device_iddevice_service_tag 互斥。

device_id

列表 / 元素=整数

目标设备的 ID 列表。

可以单独或一起使用 device_iddevice_service_tag

此选项与 device_group_namesdevices 互斥。

device_service_tag

列表 / 元素=字符串

目标设备的服务标签列表。

可以单独或一起使用 device_iddevice_service_tag

此选项与 device_group_namesdevices 互斥。

devices

列表 / 元素=字典

此选项允许选择每个设备上用于固件更新的组件。

此选项与 dup_filedevice_group_namesdevice_iddevice_service_tag 互斥。

components

列表 / 元素=字符串

要更新的目标组件。如果未指定,则会考虑所有适用的设备组件。

默认值: []

id

整数

要更新的目标设备的 ID。

此选项与 service_tag 互斥。

service_tag

字符串

要更新的目标设备的服务标签。

此选项与 id 互斥。

dup_file

路径

包含更新目标系统设备或单个设备组件所需的固件或驱动程序的 Dell 更新包 (DUP) 文件的路径。

这与 baseline_namecomponentsdevices 互斥。

hostname

字符串 / 必需

OpenManage Enterprise 或 OpenManage Enterprise Modular IP 地址或主机名。

password

字符串

OpenManage Enterprise 或 OpenManage Enterprise Modular 密码。

如果未提供密码,则使用环境变量 OME_PASSWORD

示例:export OME_PASSWORD=password

port

整数

OpenManage Enterprise 或 OpenManage Enterprise Modular HTTPS 端口。

默认值: 443

reboot_type

字符串

在 dellemc.openmanage 8.3.0 中添加

此选项提供了在固件更新后立即重新启动服务器的选择。

这适用于 scheduleRebootNow 时。

GracefulRebootForce 执行强制关机的正常重新启动。

GracefulReboot 执行不强制关机的正常重新启动。

PowerCycle 对设备执行硬重置的电源循环。

选项

  • "GracefulReboot"

  • "GracefulRebootForce" ←(默认)

  • "PowerCycle"

schedule

字符串

选择固件更新的计划。

如果选择 StageForNextReboot,则固件将在目标设备下次重新启动期间进行暂存和更新。

如果 RebootNow 将立即应用固件更新。

选项

  • "RebootNow" ← (默认)

  • "StageForNextReboot"

timeout

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别的超时时间,以秒为单位。

默认值: 30

username

字符串

OpenManage Enterprise 或 OpenManage Enterprise Modular 用户名。

如果未提供用户名,则使用环境变量 OME_USERNAME

示例:export OME_USERNAME=用户名

validate_certs

布尔值

在 dellemc.openmanage 5.0.0 中添加

如果为 false,则不会验证 SSL 证书。

仅在个人控制的站点(使用自签名证书)上配置 false

在集合版本 5.0.0 之前,validate_certs 默认为 false

选项

  • false

  • true ← (默认)

x_auth_token

字符串

在 dellemc.openmanage 9.3.0 中添加

身份验证令牌。

如果未提供 x_auth_token,则使用环境变量 OME_X_AUTH_TOKEN

示例:export OME_X_AUTH_TOKEN=x_auth_token

说明

注意

  • 从可以直接访问 Dell OpenManage Enterprise 的系统运行此模块。

  • 此模块支持 check_mode

示例

---
- 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"

- 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"

- 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"

- 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

- 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

- 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

- 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

- 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

- 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

- 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

- 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

- 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

返回值

通用返回值记录在这里,以下是此模块特有的字段

描述

error_info

字典

HTTP 错误的详细信息。

返回:在 HTTP 错误时

示例: {"error": {"@Message.ExtendedInfo": [{"Message": "由于发生错误,无法处理请求。", "MessageArgs": [], "MessageId": "GEN1234", "RelatedProperties": [], "Resolution": "重试操作。如果问题仍然存在,请联系您的系统管理员。", "Severity": "严重"}], "code": "Base.1.0.GeneralError", "message": "发生了一般性错误。有关更多信息,请参阅 ExtendedInfo。"}}

msg

字符串

整体固件更新状态。

返回:总是

示例: "已成功提交固件更新作业。"

update_status

字典

来自 OME 的固件更新作业和进度详细信息。

返回:成功时

示例: {"Builtin": false, "CreatedBy": "用户", "Editable": true, "EndTime": "None", "Id": 11117, "JobDescription": "dup 测试", "JobName": "固件更新任务", "JobStatus": {"Id": 1111, "Name": "新建"}, "JobType": {"Id": 5, "Internal": false, "Name": "Update_Task"}, "LastRun": "None", "LastRunStatus": {"Id": 1111, "Name": "未运行"}, "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": "设备"}}], "UpdatedBy": "None", "Visible": true}

作者

  • Felix Stephen (@felixs88)

  • Jagadeesh N V (@jagadeeshnv)

  • Abhishek Sinha (@ABHISHEK-SINHA10)