netapp.ontap.na_ontap_cluster 模块 – 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_cluster

netapp.ontap 2.6.0 中的新增功能

概要

  • 创建 ONTAP 集群。

  • 使用 cluster_ip_address 添加或删除集群节点。

  • 添加节点需要 ONTAP 9.3 或更高版本。

  • 删除节点需要 ONTAP 9.4 或更高版本。

要求

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

  • 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。

certificate

字典

在 netapp.ontap 22.9.0 中添加

集群和节点管理接口用于 TLS 连接请求的证书。

仅支持 REST,需要 ONTAP 9.10 或更高版本。

uuid

字符串

证书 UUID。

cluster_contact

字符串

在 netapp.ontap 19.11.0 中添加

集群联系方式,仅在执行修改操作时相关。

cluster_ip_address

字符串

要添加或删除的节点的集群内部 IP 地址。

cluster_location

字符串

在 netapp.ontap 19.11.0 中添加

集群位置,仅在执行修改操作时相关。

cluster_name

字符串

要管理的集群的名称。

feature_flags

字典

在 netapp.ontap 20.5.0 中添加

启用或禁用新功能。

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

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

force

布尔值

在 netapp.ontap 21.13.0 中添加

强制删除已关闭且无法联机的节点,以删除其共享资源。

选项

  • 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 设置为自动时,这可能会基于版本和平台功能强制切换到 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 客户端密钥文件的路径。

node_name

字符串

在 netapp.ontap 20.9.0 中添加

要从集群添加或删除的节点的名称。

请注意,添加节点时,ONTAP 后端会将 ‘-’ 转换为 ‘_’。

创建集群时,将忽略 node_name

使用 cluster_ip_address 添加节点时,node_name 是可选的。

当用于删除节点时,cluster_ip_addressnode_name 是互斥的。

ontapi

整数

要使用的 ontap api 版本

password

别名:pass

字符串

指定用户的密码。

single_node_cluster

布尔值

在 netapp.ontap 19.11.0 中添加

集群是否为单节点集群。对于 9.3 或更旧版本,将被忽略。

如果存在,观察到 ‘Cluster’ 接口被删除,无论 ZAPI 的值如何。

选项

  • false

  • true

state

字符串

指定的集群是否应该存在(不支持删除集群)。

由其 cluster_ip_address 标识的节点是否应该在集群中。

选项

  • "present" ← (默认)

  • "absent"

time_out

整数

在 netapp.ontap 21.1.0 中添加

等待集群创建的时间(以秒为单位)。

如果在定义的时间内未完成任务,则会出错。

如果为 0,则请求是异步的。

默认设置为 3 分钟。

默认值: 180

时区

字典

在 netapp.ontap 21.24.0 中添加

集群的时区。仅 REST 支持。

名称

字符串

时区名称必须是

一个地理区域,通常表示为区域/位置

格林威治标准时间 (GMT) 或与 GMT 的小时差

一个有效的别名;即,标准定义的用于指代地理区域或 GMT 的术语

一个系统特定的或其他与地理区域或 GMT 无关的术语

可以在此处找到受支持的别名的完整列表:https://library.netapp.com/ecmdocs/ECMP1155590/html/GUID-D3B8A525-67A2-4BEE-99DB-EF52D6744B5F.html

仅 REST 支持

use_rest

字符串

是否使用 REST 或 ZAPI。

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

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

auto – 如果模块支持 REST 且支持模块选项,将尝试使用 REST API。否则,恢复为 ZAPI。

默认值: "auto"

用户名

别名: 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 ← (默认)

备注

注意

  • 支持 REST 和 ZAPI

  • 带有 na_ontap 前缀的模块旨在支持 ONTAP 存储平台。

  • 默认启用 https,并且建议使用。要在集群上启用 http,您必须运行以下命令 ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

示例

- name: Create cluster
  netapp.ontap.na_ontap_cluster:
    state: present
    cluster_name: new_cluster
    time_out: 0
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Add node to cluster (Join cluster)
  netapp.ontap.na_ontap_cluster:
    state: present
    cluster_ip_address: 10.10.10.10
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Add node to cluster (Join cluster)
  netapp.ontap.na_ontap_cluster:
    state: present
    cluster_ip_address: 10.10.10.10
    node_name: my_preferred_node_name
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Create a 2 node cluster in one call
  netapp.ontap.na_ontap_cluster:
    state: present
    cluster_name: new_cluster
    cluster_ip_address: 10.10.10.10
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Remove node from cluster
  netapp.ontap.na_ontap_cluster:
    state: absent
    cluster_ip_address: 10.10.10.10
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Remove node from cluster
  netapp.ontap.na_ontap_cluster:
    state: absent
    node_name: node002
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: modify cluster
  netapp.ontap.na_ontap_cluster:
    state: present
    cluster_contact: testing
    cluster_location: testing
    cluster_name: "{{ netapp_cluster}}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: updating the cluster-wide web services configuration
  netapp.ontap.na_ontap_cluster:
    state: present
    cluster_contact: testing
    cluster_location: testing
    certificate:
      uuid: 7f2f332c-933e-11ee-ab1c-005056b397ff
    cluster_name: "{{ netapp_cluster}}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

作者

  • NetApp Ansible 团队 (@carchi8py)