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 或更高版本。

参数

参数

注释

cert_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端证书文件 (.pem) 的路径。

不支持 python 2.6。

clear_logs

布尔值

更新后清除设备上的日志。默认值为 true。

如果 force_disruptive_update 为 False,则不使用。

设置为 false 时,不支持 REST。

选项

  • false

  • true ← (默认)

disk_fw

字符串

要更新到的磁盘固件。

如果 force_disruptive_update 为 False,则不使用(ONTAP 将自动选择固件)

不支持 REST。

fail_on_502_error

布尔值

在 netapp.ontap 20.6.0 中添加

如果 Web 服务器速度慢且集群中有许多节点,则固件下载可能需要一些时间。

即使下载仍在进行,ONTAP 也会在 5 分钟后以 502 Bad Gateway 错误中断 ZAPI 连接。

默认情况下,此模块会忽略此错误,并假设下载正在进行,因为 ONTAP 没有提供检查状态的方法。

将此选项设置为 true 时,该模块会将 502 报告为错误。

设置为 true 时,不支持 REST。

选项

  • false ← (默认)

  • true

feature_flags

字典

在 netapp.ontap 20.5.0 中添加

启用或禁用新功能。

这可以用于启用实验性功能或禁用破坏向后兼容性的新功能。

支持的键和值可能会随时更改,恕不另行通知。未知的键将被忽略。

firmware_type

字符串

要升级的固件类型。选项包括 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,storage 下载任何固件,包括服务处理器固件。

使用 REST,service-processor 解锁 SP 重新启动选项。

选项

  • "storage" ← (默认)

  • "service-processor"

  • "shelf"

  • "acp"

  • "disk"

force_disruptive_update

布尔值

在 netapp.ontap 20.5.0 中添加

如果设置为 False,并且提供了 URL,则升级是非破坏性的。如果未提供 URL,则不会执行任何操作。

除非 NetApp 技术支持人员指示,否则不要将其设置为 True

即使资源尚未准备好进行更新,它也会强制更新,并且可能会造成破坏。

设置为 true 时,不支持 REST。

选项

  • false ← (默认)

  • true

force_ontap_version

字符串

在 netapp.ontap 21.23.0 中添加

使用 REST 时覆盖集群 ONTAP 版本。

如果版本与目标集群不匹配,则行为未定义。

当因权限问题无法读取集群版本时,这是一种变通方法。请参阅https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues

格式应为 9.10 或 9.10.1,其中每个元素都是整数。

use_rest 设置为 auto 时,这可能会根据版本和平台功能强制切换到基于 ZAPI 的模式。

使用 ZAPI 时忽略。

主机名

字符串 / 必填

ONTAP 实例的主机名或 IP 地址。

http_port

整数

使用此端口覆盖默认端口(80 或 443)

https

布尔值

启用和禁用 https。

使用 REST 时忽略,因为仅支持 https。

使用 SSL 证书身份验证时忽略,因为它需要 SSL。

选项

  • false ← (默认)

  • true

install_baseline_image

布尔值

如果此参数设置为 true,则安装 ONTAP 打包的版本。否则,必须使用 package 来指定要安装的软件包。

如果 force_disruptive_update 为 False,则不使用(ONTAP 将自动选择固件)

设置为 true 时,不支持 REST。

选项

  • false ← (默认)

  • true

key_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端密钥文件的路径。

node

字符串

设备所在的节点。

如果存在 package_url 且 force_disruptive_update 为 False,则不需要。

如果未提供此选项,固件将下载到集群中的所有节点上,

并且资源将在后台更新到所有节点上,除了服务处理器。

对于服务处理器,升级将在每个节点重启时自动进行。

ontapi

整数

要使用的 ontap API 版本

package

字符串

包含要安装的固件的软件包文件的名称。当 -baseline 为 true 时,不需要。

如果 force_disruptive_update 为 False,则不使用。

不支持 REST。

package_url

字符串

在 netapp.ontap 20.5.0 中添加

包含要下载的固件的软件包文件的 URL。

一旦软件包文件下载到节点,固件更新将自动在后台进行。

对于 SP,升级将在节点重启时自动进行。

对于 SP,如果启用了 autoupdate(这是建议的设置),则升级将自动进行。

password

别名:pass

字符串

指定用户的密码。

reboot_sp

布尔值

在 netapp.ontap 20.7.0 中添加

在下载软件包之前重启服务处理器。

仅当“firmware_type”为“service-processor”时可用。

如果 ‘firmware_type’ 为 ‘service-processor’ 时未设置,则默认为 True。

显式将其设置为 true 以避免警告,设置为 false 以不重启 SP。

强烈建议在下载前重启 SP。

选项

  • false

  • true

reboot_sp_after_download

布尔值

在 netapp.ontap 21.15.0 中添加

下载软件包后重启服务处理器。

仅当“firmware_type”为“service-processor”时可用。

选项

  • false

  • true

rename_package

字符串

在 netapp.ontap 20.7.0 中添加

重命名软件包。

仅当“firmware_type”为“service-processor”时可用。

不支持 REST。

replace_package

布尔值

在 netapp.ontap 20.7.0 中添加

替换本地软件包。

仅当“firmware_type”为“service-processor”时可用。

设置为 false 时,不支持 REST。

选项

  • false

  • true

server_password

字符串

在 netapp.ontap 21.15.0 中添加

用于向固件软件包服务器进行身份验证的密码。

使用 ZAPI 时忽略。

server_username

字符串

在 netapp.ontap 21.15.0 中添加

用于向固件软件包服务器进行身份验证的用户名。

使用 ZAPI 时忽略。

shelf_module_fw

字符串

要更新到的 Shelf 模块固件。

如果 force_disruptive_update 为 False,则不使用(ONTAP 将自动选择固件)

不支持 REST。

state

字符串

是否应该升级指定的 ONTAP 固件。

默认值: "present"

update_type

字符串

要执行的固件更新类型。选项包括 serial_full、serial_differential、network_full。

如果 force_disruptive_update 为 False,则不使用(ONTAP 将自动选择固件)

不支持 REST。

use_rest

字符串

是否使用 REST 或 ZAPI。

always – 如果模块支持 REST,将始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。

never – 如果模块支持 ZAPI,将始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,可能会发出错误。

auto – 如果模块支持 REST 且支持模块选项,将尝试使用 REST API。否则会回退到 ZAPI。

默认值: "auto"

username

别名:user

字符串

这可以是集群范围或 SVM 范围的帐户,具体取决于需要集群级别还是 SVM 级别的 API。

有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/

支持两种身份验证方法

  1. 基本身份验证,使用用户名和密码,

  2. SSL 证书身份验证,使用 SSL 客户端证书文件,以及可选的私钥文件。

要使用证书,必须已在 ONTAP 集群中安装该证书,并且必须已启用证书身份验证。

validate_certs

布尔值

如果设置为 no,则不会验证 SSL 证书。

只有在使用自签名证书的个人控制站点上才应将其设置为 False

选项

  • false

  • true ← (默认)

注意

注意

  • 以 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,以下是此模块独有的字段

描述

msg

字符串

成功时返回其他信息。

返回: 始终

作者

  • NetApp Ansible 团队 (@carchi8py)