netapp.ontap.na_ontap_firmware_upgrade 模块 – NetApp ONTAP 固件升级,适用于 SP、机架、ACP 和磁盘。
注意
此模块是 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 服务器下载包。
下载磁盘鉴定、磁盘、机架或 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 错误网关错误中断 ZAPI 连接。 默认情况下,此模块会忽略此错误并假定下载正在进行,因为 ONTAP 没有提供检查状态的方法。 将此选项设置为 true 时,模块会将 502 报告为错误。 设置为 true 时,REST 不支持。 选项
|
|
启用或禁用新功能。 这可用于启用实验性功能或禁用破坏向后兼容性的新功能。 支持的键和值可能会随时更改,恕不另行通知。未知键将被忽略。 |
|
要升级的固件类型。选项包括 shelf、ACP、service-processor 和 disk。 对于机架固件升级,操作是异步的,因此不会返回下载过程中可能发生的任何错误。 如果提供 shelf_module_fw,则机架固件升级是幂等的。 如果提供 disk_fw,则磁盘固件升级是幂等的。 在检查模式下,SP、ACP、磁盘和机架固件升级不是幂等的。 此操作只会更新固件版本不是最新的机架/磁盘上的固件。 对于正常操作,请选择 storage 或 service-processor 之一。 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,升级将自动进行。 |
|
指定用户的密码。 |
|
下载软件包之前重新启动服务处理器。 仅当“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中忽略。 |
|
要更新到的机架模块固件。 如果 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。如果REST选项在ZAPI中不受支持,则可能会发出错误。 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 }}"
返回值
常用返回值已记录在此处,以下是此模块特有的字段
键 |
描述 |
---|---|
成功时返回其他信息。 返回:始终 |