netapp.ontap.na_ontap_wait_for_condition 模块 – NetApp ONTAP wait_for_condition。循环执行获取状态请求,直到满足条件。

注意

此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。

如果您使用的是 ansible 软件包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install netapp.ontap。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:netapp.ontap.na_ontap_wait_for_condition

netapp.ontap 20.8.0 中的新增功能

概要

  • 循环执行 ONTAP 获取状态请求,直到满足条件。

  • 如果在等待条件时超过了 timeout,则报告超时错误。

要求

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

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

参数

参数

注释

attributes

字典

条件的自定义属性字典。

sp_upgradesp_version 需要 node

sp_version 需要 expected_version

snapmirror_relationship 需要 destination_pathexpected_stateexpected_transfer_state 来匹配条件。

cert_filepath

字符串

netapp.ontap 20.6.0 中添加

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

不支持 python 2.6。

conditions

列表 / 元素=字符串 / 必需

一个或多个要匹配的条件

state 和/或 transfer_state 用于 snapmirror_relationship

is_in_progress 用于 sp_upgrade

firmware_version 用于 sp_version

feature_flags

字典

netapp.ontap 20.5.0 中添加

启用或禁用新功能。

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

支持的键和值可能会在未经通知的情况下更改。未知键将被忽略。

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 中忽略。

hostname

字符串 / 必需

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

http_port

整数

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

https

布尔值

启用和禁用 https。

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

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

选项

  • false ← (默认)

  • true

key_filepath

字符串

netapp.ontap 20.6.0 中添加

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

name

字符串 / 必需

要检查的事件的名称。

snapmirror_relationship 在 21.22.0 中添加。

选项

  • "snapmirror_relationship"

  • "sp_upgrade"

  • "sp_version"

ontapi

整数

要使用的 ontap api 版本

password

别名:pass

字符串

指定用户的密码。

polling_interval

整数

检查条件的频率(秒)。

默认值: 5

state

字符串

条件是否存在。

如果 present,则当观察到任何条件时,模块退出。

如果 absent,则当没有观察到任何条件时,模块成功退出。

选项

  • "present" ← (默认)

  • "absent"

timeout

整数

等待条件的时间(秒)。

默认值: 180

use_rest

字符串

是否使用 REST 或 ZAPI。

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

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

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: wait for sp_upgrade in progress
  netapp.ontap.na_ontap_wait_for_condition:
    hostname: "{{ ontap_admin_ip }}"
    username: "{{ ontap_admin_username }}"
    password: "{{ ontap_admin_password }}"
    https: true
    validate_certs: no
    name: sp_upgrade
    conditions: is_in_progress
    attributes:
      node: "{{ node }}"
    polling_interval: 30
    timeout: 1800

- name: wait for sp_upgrade not in progress
  netapp.ontap.na_ontap_wait_for_condition:
    hostname: "{{ ontap_admin_ip }}"
    username: "{{ ontap_admin_username }}"
    password: "{{ ontap_admin_password }}"
    https: true
    validate_certs: no
    name: sp_upgrade
    conditions: is_in_progress
    state: absent
    attributes:
      node: "{{ ontap_admin_ip }}"
    polling_interval: 30
    timeout: 1800

- name: wait for sp_version to match 3.9
  netapp.ontap.na_ontap_wait_for_condition:
    hostname: "{{ ontap_admin_ip }}"
    username: "{{ ontap_admin_username }}"
    password: "{{ ontap_admin_password }}"
    https: true
    validate_certs: no
    name: sp_version
    conditions: firmware_version
    state: present
    attributes:
      node: "{{ ontap_admin_ip }}"
      expected_version: 3.9
    polling_interval: 30
    timeout: 1800

返回值

公共返回值已在此处记录,以下是此模块特有的字段

描述

last_state

字符串

事件的最后观察到的状态

返回:始终

状态

字符串

等待完成期间观察到的状态的汇总列表

针对成功或超时错误报告

返回:始终

作者

  • NetApp Ansible团队 (@carchi8py)