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 }}"
返回值
常用返回值已记录在此处,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 成功时返回其他信息。 返回:始终 | 
