netapp.ontap.na_ontap_cluster – NetApp ONTAP cluster - create a cluster and add/remove nodes.
Note
This plugin is part of the netapp.ontap collection (version 20.12.0).
To install it use: ansible-galaxy collection install netapp.ontap.
To use it in a playbook, specify: netapp.ontap.na_ontap_cluster.
New in version 2.6.0: of netapp.ontap
Synopsis
- Create ONTAP cluster.
 - Add or remove cluster nodes using cluster_ip_address.
 - Adding a node requires ONTAP 9.3 or better.
 - Removing a node requires ONTAP 9.4 or better.
 
Requirements
The below requirements are needed on the host that executes this module.
- A physical or virtual clustered Data ONTAP system. The modules support Data ONTAP 9.1 and onward.
 - REST support requires ONTAP 9.6 or later.
 - Ansible 2.6
 - Ansible 2.9 or later is strongly recommended as it enables the new collection delivery system.
 - Python2 netapp-lib (2017.10.30) or later. Install using ‘pip install netapp-lib’
 - Python3 netapp-lib (2018.11.13) or later. Install using ‘pip install netapp-lib’
 - netapp-lib 2020.3.12 is strongly recommended as it provides better error reporting for connection issues.
 - To enable http on the cluster you must run the following commands ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
|   cert_filepath    string    added in 20.6.0 of netapp.ontap    |    path to SSL client cert file (.pem).  not supported with python 2.6.   |  |
|   cluster_contact    string    added in 19.11.0 of netapp.ontap    |    Cluster contact, only relevant if performing a modify action.   |  |
|   cluster_ip_address    string    |    intra cluster IP address of the node to be added or removed.   |  |
|   cluster_location    string    added in 19.11.0 of netapp.ontap    |    Cluster location, only relevant if performing a modify action.   |  |
|   cluster_name    string    |    The name of the cluster to manage.   |  |
|   feature_flags    dictionary    added in 20.5.0 of netapp.ontap    |    Enable or disable a new feature.  This can be used to enable an experimental feature or disable a new feature that breaks backward compatibility.  Supported keys and values are subject to change without notice. Unknown keys are ignored.   |  |
|   hostname    string / required    |    The hostname or IP address of the ONTAP instance.   |  |
|   http_port    integer    |    Override the default port (80 or 443) with this port   |  |
|   https    boolean    |   
  |    Enable and disable https.  Ignored when using REST as only https is supported.  Ignored when using SSL certificate authentication as it requires SSL.   |  
|   key_filepath    string    added in 20.6.0 of netapp.ontap    |    path to SSL client key file.   |  |
|   node_name    string    added in 20.9.0 of netapp.ontap    |    Name of the node to be added or removed from the cluster.  Be aware that when adding a node, '-' are converted to '_' by the ONTAP backend.  When creating a cluster,   node_name is ignored.When adding a node using   cluster_ip_address, node_name is optional.When used to remove a node,   cluster_ip_address and node_name are mutually exclusive. |  |
|   ontapi    integer    |    The ontap api version to use   |  |
|   password    string    |    Password for the specified user.  aliases: pass  |  |
|   single_node_cluster    boolean    added in 19.11.0 of netapp.ontap    |   
  |    Whether the cluster is a single node cluster. Ignored for 9.3 or older versions.  If present, it was observed that 'Cluster' interfaces were deleted, whatever the value.   |  
|   state    string    |   
  |    Whether the specified cluster should exist (deleting a cluster is not supported).  Whether the node identified by its cluster_ip_address should be in the cluster or not.   |  
|   use_rest    string    |   Default: "auto"   |    REST API if supported by the target system for all the resources and attributes the module requires. Otherwise will revert to ZAPI.  always -- will always use the REST API  never -- will always use the ZAPI  auto -- will try to use the REST Api   |  
|   username    string    |    This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required.  For more information, please read the documentation https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/.  Two authentication methods are supported  1. basic authentication, using username and password,  2. SSL certificate authentication, using a ssl client cert file, and optionally a private key file.  To use a certificate, the certificate must have been installed in the ONTAP cluster, and cert authentication must have been enabled.  aliases: user  |  |
|   validate_certs    boolean    |   
  |    If set to   no, the SSL certificates will not be validated.This should only set to   False used on personally controlled sites using self-signed certificates. |  
Notes
Note
- The modules prefixed with na\_ontap are built to support the ONTAP storage platform.
 
Examples
- name: Create cluster
  na_ontap_cluster:
    state: present
    cluster_name: new_cluster
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Add node to cluster (Join cluster)
  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)
  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
  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
  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
  na_ontap_cluster:
    state: absent
    node_name: node002
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: modify cluster
  na_ontap_cluster:
    state: present
    cluster_contact: testing
    cluster_location: testing
    cluster_name: "{{ netapp_cluster}}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
  Authors
- NetApp Ansible Team (@carchi8py) <ng-ansibleteam@netapp.com>
 
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/netapp/ontap/na_ontap_cluster_module.html