dellemc.openmanage.idrac_firmware 模块 – 从网络共享存储库 (CIFS、NFS、HTTP、HTTPS、FTP) 更新固件

注意

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

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

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

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

dellemc.openmanage 2.1.0 中的新增功能

概要

  • 通过连接到包含可用更新目录的网络共享 (CIFS、NFS、HTTP、HTTPS、FTP) 来更新固件。

  • 网络共享应包含有效的更新包 (DUP) 存储库和描述 DUP 的目录文件。

  • 存储库中包含的所有适用更新都将应用于系统。

  • 此功能仅适用于 iDRAC 企业版许可证。

要求

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

  • omsdk >= 1.2.503

  • python >= 3.9.6

参数

参数

注释

apply_update

布尔值

如果 apply_update 设置为 true,则应用软件包。

如果 apply_update 设置为 false,则不应用任何更新,并且会生成并返回软件包的目录报告。

选项

  • false

  • true ← (默认)

ca_path

路径

在 dellemc.openmanage 5.0.0 中添加

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

catalog_file_name

字符串

相对于 share_name 的目录文件名。

默认值: "Catalog.xml"

idrac_ip

字符串 / 必填

iDRAC IP 地址。

idrac_password

别名:idrac_pwd

字符串 / 必填

iDRAC 用户密码。

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

示例:export IDRAC_PASSWORD=password

idrac_port

整数

iDRAC 端口。

默认值: 443

idrac_user

字符串 / 必填

iDRAC 用户名。

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

示例:export IDRAC_USERNAME=username

ignore_cert_warning

布尔值

指定使用 HTTPS 共享时是否忽略证书警告。如果设置了 true 选项,则会忽略证书警告。

选项

  • false

  • true ← (默认)

job_wait

布尔值

是否等待作业完成。

选项

  • false

  • true ← (默认)

proxy_passwd

字符串

代理服务器的密码。

proxy_port

整数

代理服务器的端口。

proxy_supportParametersProxy 时,这是必需的。

proxy_server

字符串

代理服务器的 IP 地址。

此 IP 将不会被验证。即使对于无效的 proxy_server,也会创建下载作业。请检查作业的结果以获取错误详细信息。

proxy_supportParametersProxy 时,这是必需的。

proxy_support

字符串

指定是否应使用代理。

代理参数适用于 HTTPHTTPSFTP 共享类型的存储库。

ParametersProxy,为当前固件操作设置代理参数。

DefaultProxy,iDRAC 使用默认设置的代理值。

可以使用 dellemc.openmanage.idrac_attributes 在生命周期控制器属性中设置默认代理。

Off,将不使用代理。

对于基于 iDRAC8 的服务器,请使用具有基本身份验证的代理服务器。

对于基于 iDRAC9 的服务器,请确保您使用的是代理服务器的摘要身份验证,不支持基本身份验证。

选项

  • "ParametersProxy"

  • "DefaultProxy"

  • "Off" ← (默认)

proxy_type

字符串

代理服务器的代理类型。

proxy_supportParametersProxy 时,这是必需的。

注意:SOCKS4 代理不支持 IPv6 地址。

选项

  • "HTTP"

  • "SOCKS"

proxy_uname

字符串

代理服务器的用户名。

reboot

布尔值

提供立即应用更新包或在下次重新启动时应用更新包的选项。

如果 reboot 设置为 true,则立即应用软件包。

如果 reboot 设置为 false,则软件包将被暂存并在下次重新启动时应用。

不需要重新启动的软件包将立即应用,而不管 I (reboot) 如何。

选项

  • false ← (默认)

  • true

share_mnt

字符串

具有 ansible 用户读写权限的网络共享的本地挂载路径。

此选项不适用于 HTTP、HTTPS 和 FTP 共享。

share_name

字符串 / 必填

更新存储库的网络共享路径。支持 CIFS、NFS、HTTP、HTTPS 和 FTP 共享类型。

share_password

别名:share_pwd

字符串

网络共享用户密码。此选项对于 CIFS 网络共享是必需的。

share_user

字符串

网络共享用户格式为 ‘user@domain’ 或 ‘domain\\user’(如果用户属于域),否则为 ‘user’。此选项对于 CIFS 网络共享是必需的。

超时时间

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别超时时间(秒)。

默认值: 30

验证证书

布尔值

在 dellemc.openmanage 5.0.0 中添加

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

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

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

选项

  • false

  • true ← (默认)

备注

注意

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

  • 如果不存在单个组件作业,则模块将根据 iDRAC 固件更新父作业状态报告成功。

  • 对于 iDRAC 固件版本 5.00.00.00 及更高版本的服务器,如果存储库包含不受支持的软件包,则模块将返回成功消息。

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

  • 此模块支持 check_mode

示例

---
- name: Update firmware from repository on a NFS Share
  dellemc.openmanage.idrac_firmware:
       idrac_ip: "192.168.0.1"
       idrac_user: "user_name"
       idrac_password: "user_password"
       ca_path: "/path/to/ca_cert.pem"
       share_name: "192.168.0.0:/share"
       reboot: true
       job_wait: true
       apply_update: true
       catalog_file_name: "Catalog.xml"

- name: Update firmware from repository on a CIFS Share
  dellemc.openmanage.idrac_firmware:
       idrac_ip: "192.168.0.1"
       idrac_user: "user_name"
       idrac_password: "user_password"
       ca_path: "/path/to/ca_cert.pem"
       share_name: "full_cifs_path"
       share_user: "share_user"
       share_password: "share_password"
       reboot: true
       job_wait: true
       apply_update: true
       catalog_file_name: "Catalog.xml"

- name: Update firmware from repository on a HTTP
  dellemc.openmanage.idrac_firmware:
       idrac_ip: "192.168.0.1"
       idrac_user: "user_name"
       idrac_password: "user_password"
       ca_path: "/path/to/ca_cert.pem"
       share_name: "http://downloads.dell.com"
       reboot: true
       job_wait: true
       apply_update: true

- name: Update firmware from repository on a HTTPS
  dellemc.openmanage.idrac_firmware:
       idrac_ip: "192.168.0.1"
       idrac_user: "user_name"
       idrac_password: "user_password"
       ca_path: "/path/to/ca_cert.pem"
       share_name: "https://downloads.dell.com"
       reboot: true
       job_wait: true
       apply_update: true

- name: Update firmware from repository on a HTTPS via proxy
  dellemc.openmanage.idrac_firmware:
       idrac_ip: "192.168.0.1"
       idrac_user: "user_name"
       idrac_password: "user_password"
       ca_path: "/path/to/ca_cert.pem"
       share_name: "https://downloads.dell.com"
       reboot: true
       job_wait: true
       apply_update: true
       proxy_support: ParametersProxy
       proxy_server: 192.168.1.10
       proxy_type: HTTP
       proxy_port: 80
       proxy_uname: "proxy_user"
       proxy_passwd: "proxy_pwd"

- name: Update firmware from repository on a FTP
  dellemc.openmanage.idrac_firmware:
       idrac_ip: "192.168.0.1"
       idrac_user: "user_name"
       idrac_password: "user_password"
       ca_path: "/path/to/ca_cert.pem"
       share_name: "ftp://ftp.mydomain.com"
       reboot: true
       job_wait: true
       apply_update: true

返回值

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

描述

msg

字符串

整体固件更新状态。

返回: 始终

示例: "Successfully updated the firmware."

update_status

字典

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

返回: 成功

示例: {"InstanceID": "JID_XXXXXXXXXXXX", "JobStartTime": "NA", "JobState": "Completed", "Message": "Job completed successfully.", "MessageId": "REDXXX", "Name": "Repository Update", "Status": "Success"}

作者

  • Rajeev Arakkal (@rajeevarakkal)

  • Felix Stephen (@felixs88)

  • Jagadeesh N V (@jagadeeshnv)