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 Enterprise 许可证中可用。

要求

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

  • 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 在 Lifecycle Controller 属性中设置默认代理。

Off,将不使用代理。

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

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

选项

  • "ParametersProxy"

  • "DefaultProxy"

  • "Off" ←(默认)

proxy_type

字符串

代理服务器的代理类型。

proxy_supportParametersProxy 时,这是必需的。

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

选项

  • "HTTP"

  • "SOCKS"

proxy_uname

字符串

代理服务器的用户名。

reboot

布尔值

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

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

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

不需要重新启动的软件包会立即应用,而不考虑 I(重新启动)。

选项

  • 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

字符串

整体固件更新状态。

返回值: always

示例: "Successfully updated the firmware."

update_status

字典

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

返回值: success

示例: {"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)