dellemc.openmanage.redfish_firmware_rollback 模块 – 使用组件名称执行组件固件回滚

注意

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

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

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

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

dellemc.openmanage 8.2.0 中的新增功能

概要

  • 此模块允许回滚不同服务器组件的固件。

  • 根据组件的不同,固件更新会在自动或手动重启后应用。

要求

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

  • python >= 3.9.6

参数

参数

注释

baseuri

字符串 / 必需

目标带外控制器的 IP 地址。例如:<ipaddress>:<port>。

ca_path

路径

在 dellemc.openmanage 5.0.0 中添加

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

名称

字符串 / 必需

要匹配的组件的名称或正则表达式,区分大小写。

密码

字符串

目标带外控制器的密码。

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

示例:export IDRAC_PASSWORD=password

重启

布尔值

重启服务器以应用固件的先前版本。

true 重启服务器以将固件回滚到可用版本。

false 安排固件回滚,直到下次重启。

重启false 时,某些组件会立即更新,服务器可能会重启。因此,模块必须等到服务器可访问。

选择

  • false

  • true ← (默认)

reboot_timeout

整数

等待时间(以秒为单位)。模块等待此持续时间,直到服务器重启。

默认值: 900

超时

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别超时(以秒为单位)。

默认值: 30

用户名

字符串

目标带外控制器的用户名。

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

示例:export IDRAC_USERNAME=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,则使用环境变量 IDRAC_X_AUTH_TOKEN

示例:export IDRAC_X_AUTH_TOKEN=x_auth_token

注释

注意

  • 从可以直接访问 Redfish API 的系统运行此模块。

  • 对于不需要重启的组件,固件回滚会继续进行,而不管重启true 还是 false

  • 此模块支持 IPv4 和 IPv6 地址。

  • 此模块支持 check_mode

示例

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

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

- 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).*"

- 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: ".*"

返回值

常见的返回值记录在 此处,以下是此模块特有的字段

描述

error_info

字典

HTTP 错误的详细信息。

返回:当发生 http 错误时

示例: {"error": {"@Message.ExtendedInfo": [{"Message": "为更新操作提供的InstanceID值无效", "MessageArgs": [], "[email protected]": 0, "MessageId": "IDRAC.2.8.SUP024", "RelatedProperties": [], "[email protected]": 0, "Resolution": "枚举清单,复制InstanceID值,并为更新操作提供该值。", "Severity": "Warning"}], "code": "Base.1.12.GeneralError", "message": "发生了一般错误。有关更多信息,请参阅ExtendedInfo"}}

msg

字符串

整体固件回滚状态。

返回: 总是

示例: "已成功完成固件回滚作业。"

status

列表 / 元素=字符串

来自iDRAC的固件回滚作业和进度详情。

返回: 成功

示例: [{"ActualRunningStartTime": "2023-08-04T12:26:55", "ActualRunningStopTime": "2023-08-04T12:32:35", "CompletionTime": "2023-08-04T12:32:35", "Description": "作业实例", "EndTime": "TIME_NA", "Id": "JID_911698303631", "JobState": "已完成", "JobType": "固件更新", "Message": "作业已成功完成。", "MessageArgs": [], "MessageId": "PR19", "Name": "固件回滚:固件", "PercentComplete": 100, "StartTime": "2023-08-04T12:23:50", "TargetSettingsURI": null}]

作者

  • Felix Stephen (@felixs88)