netapp.ontap.na_ontap_firmware_upgrade 模块 – 用于 SP、shelf、ACP 和磁盘的 NetApp ONTAP 固件升级。
注意
此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install netapp.ontap
。您需要进一步的要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定: netapp.ontap.na_ontap_firmware_upgrade
。
netapp.ontap 2.9.0 中的新功能
概要
更新 ONTAP 服务处理器固件
建议的步骤是 1. 从 NetApp 支持站点下载固件包 2. 将包复制到 Web 服务器 3. 使用此模块从 Web 服务器下载包
下载磁盘资格、磁盘、shelf 或 ACP 固件包后,ONTAP 将自动在后台更新相关资源。
完成可能需要一些时间。
对于服务处理器,更新需要重新启动节点才能生效。
要求
执行此模块的主机需要以下要求。
Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。
Python3 - 建议使用 3.9 或更高版本。
使用 ZAPI 时,建议使用 netapp-lib 2018.11.13 或更高版本(使用“pip install netapp-lib”安装),强烈建议使用 netapp-lib 2020.3.12,因为它为连接问题提供了更好的错误报告。
物理或虚拟集群 Data ONTAP 系统,该模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。
参数
参数 |
注释 |
---|---|
SSL 客户端证书文件 (.pem) 的路径。 不支持 python 2.6。 |
|
更新后清除设备上的日志。默认值为 true。 如果 force_disruptive_update 为 False,则不使用。 设置为 false 时,不支持 REST。 选项
|
|
要更新到的磁盘固件。 如果 force_disruptive_update 为 False,则不使用(ONTAP 将自动选择固件) 不支持 REST。 |
|
如果 Web 服务器速度慢且集群中有许多节点,则固件下载可能需要一些时间。 即使下载仍在进行,ONTAP 也会在 5 分钟后以 502 Bad Gateway 错误中断 ZAPI 连接。 默认情况下,此模块会忽略此错误,并假设下载正在进行,因为 ONTAP 没有提供检查状态的方法。 将此选项设置为 true 时,该模块会将 502 报告为错误。 设置为 true 时,不支持 REST。 选项
|
|
启用或禁用新功能。 这可以用于启用实验性功能或禁用破坏向后兼容性的新功能。 支持的键和值可能会随时更改,恕不另行通知。未知的键将被忽略。 |
|
要升级的固件类型。选项包括 shelf、ACP、service-processor 和 disk。 对于 shelf 固件升级,该操作是异步的,因此不会返回下载过程中可能发生的错误。 如果提供了 shelf_module_fw,则 Shelf 固件升级是幂等的。 如果提供了 disk_fw,则磁盘固件升级是幂等的。 在检查模式下,SP、ACP、disk 和 shelf 固件升级不是幂等的。 此操作只会更新不具有最新固件版本的 shelf/disk 上的固件。 对于正常操作,请选择存储或服务处理器之一。 类型 storage 包括 acp、shelf 和 disk,ONTAP 将自动确定要执行的操作。 使用 REST,该模块不会验证包是否与固件类型匹配。ONTAP 会自动确定类型。 使用 REST, 使用 REST, 选项
|
|
如果设置为 除非 NetApp 技术支持人员指示,否则不要将其设置为 即使资源尚未准备好进行更新,它也会强制更新,并且可能会造成破坏。 设置为 true 时,不支持 REST。 选项
|
|
使用 REST 时覆盖集群 ONTAP 版本。 如果版本与目标集群不匹配,则行为未定义。 当因权限问题无法读取集群版本时,这是一种变通方法。请参阅https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues。 格式应为 9.10 或 9.10.1,其中每个元素都是整数。 当 使用 ZAPI 时忽略。 |
|
ONTAP 实例的主机名或 IP 地址。 |
|
使用此端口覆盖默认端口(80 或 443) |
|
启用和禁用 https。 使用 REST 时忽略,因为仅支持 https。 使用 SSL 证书身份验证时忽略,因为它需要 SSL。 选项
|
|
如果此参数设置为 true,则安装 ONTAP 打包的版本。否则,必须使用 package 来指定要安装的软件包。 如果 force_disruptive_update 为 False,则不使用(ONTAP 将自动选择固件) 设置为 true 时,不支持 REST。 选项
|
|
SSL 客户端密钥文件的路径。 |
|
设备所在的节点。 如果存在 package_url 且 force_disruptive_update 为 False,则不需要。 如果未提供此选项,固件将下载到集群中的所有节点上, 并且资源将在后台更新到所有节点上,除了服务处理器。 对于服务处理器,升级将在每个节点重启时自动进行。 |
|
要使用的 ontap API 版本 |
|
包含要安装的固件的软件包文件的名称。当 -baseline 为 true 时,不需要。 如果 force_disruptive_update 为 False,则不使用。 不支持 REST。 |
|
包含要下载的固件的软件包文件的 URL。 一旦软件包文件下载到节点,固件更新将自动在后台进行。 对于 SP,升级将在节点重启时自动进行。 对于 SP,如果启用了 autoupdate(这是建议的设置),则升级将自动进行。 |
|
指定用户的密码。 |
|
在下载软件包之前重启服务处理器。 仅当“firmware_type”为“service-processor”时可用。 如果 ‘firmware_type’ 为 ‘service-processor’ 时未设置,则默认为 True。 显式将其设置为 true 以避免警告,设置为 false 以不重启 SP。 强烈建议在下载前重启 SP。 选项
|
|
下载软件包后重启服务处理器。 仅当“firmware_type”为“service-processor”时可用。 选项
|
|
重命名软件包。 仅当“firmware_type”为“service-processor”时可用。 不支持 REST。 |
|
替换本地软件包。 仅当“firmware_type”为“service-processor”时可用。 设置为 false 时,不支持 REST。 选项
|
|
用于向固件软件包服务器进行身份验证的密码。 使用 ZAPI 时忽略。 |
|
用于向固件软件包服务器进行身份验证的用户名。 使用 ZAPI 时忽略。 |
|
要更新到的 Shelf 模块固件。 如果 force_disruptive_update 为 False,则不使用(ONTAP 将自动选择固件) 不支持 REST。 |
|
是否应该升级指定的 ONTAP 固件。 默认值: |
|
要执行的固件更新类型。选项包括 serial_full、serial_differential、network_full。 如果 force_disruptive_update 为 False,则不使用(ONTAP 将自动选择固件) 不支持 REST。 |
|
是否使用 REST 或 ZAPI。 always – 如果模块支持 REST,将始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。 never – 如果模块支持 ZAPI,将始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,可能会发出错误。 auto – 如果模块支持 REST 且支持模块选项,将尝试使用 REST API。否则会回退到 ZAPI。 默认值: |
|
这可以是集群范围或 SVM 范围的帐户,具体取决于需要集群级别还是 SVM 级别的 API。 有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/。 支持两种身份验证方法
要使用证书,必须已在 ONTAP 集群中安装该证书,并且必须已启用证书身份验证。 |
|
如果设置为 只有在使用自签名证书的个人控制站点上才应将其设置为 选项
|
注意
注意
以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。
默认情况下启用并推荐 https。要在集群上启用 http,必须运行以下命令 ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’
示例
- name: firmware upgrade
netapp.ontap.na_ontap_firmware_upgrade:
state: present
package_url: "{{ web_link }}"
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
- name: firmware upgrade, confirm successful download
netapp.ontap.na_ontap_firmware_upgrade:
state: present
package_url: "{{ web_link }}"
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
fail_on_502_error: true
- name: SP firmware upgrade
netapp.ontap.na_ontap_firmware_upgrade:
state: present
node: vsim1
package: "{{ file name }}"
package_url: "{{ web_link }}"
clear_logs: True
install_baseline_image: False
update_type: serial_full
force_disruptive_update: False
firmware_type: service-processor
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
- name: SP firmware download replace package
tags:
- sp_download
netapp.ontap.na_ontap_firmware_upgrade:
state: present
node: vsim1
package_url: "{{ web_link }}"
firmware_type: service-processor
replace_package: true
reboot_sp: true
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: false
- name: SP firmware download rename package
tags:
- sp_download
netapp.ontap.na_ontap_firmware_upgrade:
state: present
node: vsim1
package_url: "{{ web_link }}"
firmware_type: service-processor
rename_package: SP_FW.zip
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: false
- name: ACP firmware download and upgrade
netapp.ontap.na_ontap_firmware_upgrade:
state: present
node: vsim1
firmware_type: acp
package_url: "{{ web_link }}"
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
- name: shelf firmware upgrade
netapp.ontap.na_ontap_firmware_upgrade:
state: present
firmware_type: shelf
package_url: "{{ web_link }}"
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
- name: disk firmware upgrade
netapp.ontap.na_ontap_firmware_upgrade:
state: present
firmware_type: disk
package_url: "{{ web_link }}"
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
- name: any firmware upgrade (REST)
netapp.ontap.na_ontap_firmware_upgrade:
state: present
package_url: "{{ web_link }}"
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
- name: SP firmware upgrade with reboots (REST)
netapp.ontap.na_ontap_firmware_upgrade:
state: present
package_url: "{{ web_link }}"
firmware_type: service-processor
reboot_sp_: true
reboot_sp_after_download: true
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
返回值
通用返回值记录在此处here,以下是此模块独有的字段
键 |
描述 |
---|---|
成功时返回其他信息。 返回: 始终 |