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。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定: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网络共享是必需的。

timeout

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别超时(秒)。

默认值: 30

validate_certs

布尔值

在 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)