netapp.ontap.na_ontap_snapmirror – NetApp ONTAP or ElementSW Manage SnapMirror

From Get docs
Ansible/docs/2.10/collections/netapp/ontap/na ontap snapmirror module


netapp.ontap.na_ontap_snapmirror – NetApp ONTAP or ElementSW Manage SnapMirror

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_snapmirror.


New in version 2.7.0: of netapp.ontap


Synopsis

  • Create/Delete/Update/Initialize/Break/Resync/Resume SnapMirror volume/vserver relationships for ONTAP/ONTAP
  • Create/Delete/Update/Initialize SnapMirror volume relationship between ElementSW and ONTAP
  • Modify schedule for a SnapMirror relationship for ONTAP/ONTAP and ElementSW/ONTAP
  • Pre-requisite for ElementSW to ONTAP relationship or vice-versa is an established SnapMirror endpoint for ONTAP cluster with ElementSW UI
  • Pre-requisite for ElementSW to ONTAP relationship or vice-versa is to have SnapMirror enabled in the ElementSW volume
  • For creating a SnapMirror ElementSW/ONTAP relationship, an existing ONTAP/ElementSW relationship should be present
  • Performs resync if the relationship_state=active and the current mirror state of the snapmirror relationship is broken-off
  • Performs resume if the relationship_state=active, the current snapmirror relationship status is quiesced and mirror state is snapmirrored
  • Performs restore if the relationship_type=restore and all other operations will not be performed during this task

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.

connection_type

string

added in 2.9.0 of netapp.ontap

  • ontap_ontap

  • elementsw_ontap
  • ontap_elementsw

Type of SnapMirror relationship.

Pre-requisite for either elementsw_ontap or ontap_elementsw the ElementSW volume should have enableSnapmirror option set to true.

For using ontap_elementsw, elementsw_ontap snapmirror relationship should exist.

destination_path

string

Specifies the destination endpoint of the SnapMirror relationship.

destination_volume

string

Specifies the name of the destination volume for the SnapMirror.

destination_vserver

string

Name of the destination vserver for the SnapMirror.

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

  • no

  • yes

Enable and disable https.

Ignored when using REST as only https is supported.

Ignored when using SSL certificate authentication as it requires SSL.

identity_preserve

boolean

added in 2.9.0 of netapp.ontap

  • no
  • yes

Specifies whether or not the identity of the source Vserver is replicated to the destination Vserver.

If this parameter is set to true, the source Vserver's configuration will additionally be replicated to the destination.

If the parameter is set to false, then only the source Vserver's volumes and RBAC configuration are replicated to the destination.

initialize

boolean

added in 19.11.0 of netapp.ontap

  • no
  • yes

Specifies whether to initialize SnapMirror relation.

Default is True, it can be explicitly set to False to avoid initializing SnapMirror relation.

key_filepath

string

added in 20.6.0 of netapp.ontap

path to SSL client key file.

max_transfer_rate

integer

added in 2.9.0 of netapp.ontap

Specifies the upper bound, in kilobytes per second, at which data is transferred.

Default is unlimited, it can be explicitly set to 0 as unlimited.

ontapi

integer

The ontap api version to use

password

string

Password for the specified user.


aliases: pass

policy

string

added in 2.8.0 of netapp.ontap

Specify the name of the SnapMirror policy that applies to this relationship.

relationship_info_only

boolean

added in 20.4.0 of netapp.ontap

  • no

  • yes

If relationship-info-only is set to true then only relationship information is removed.

relationship_state

string

added in 20.2.0 of netapp.ontap

  • active

  • broken

Specifies whether to break SnapMirror relation or establish a SnapMirror relationship.

state must be present to use this option.

relationship_type

string

  • data_protection
  • load_sharing
  • vault
  • restore
  • transition_data_protection
  • extended_data_protection

Specify the type of SnapMirror relationship.

for 'restore' unless 'source_snapshot' is specified the most recent Snapshot copy on the source volume is restored.

restore SnapMirror is not idempotent.

schedule

string

Specify the name of the current schedule, which is used to update the SnapMirror relationship.

Optional for create, modifiable.

source_hostname

string

Source hostname or management IP address for ONTAP or ElementSW cluster.

Required for SnapMirror delete

source_password

string

Source password for ONTAP or ElementSW cluster.

Optional if this is same as destination password.

source_path

string

Specifies the source endpoint of the SnapMirror relationship.

If the source is an ONTAP volume, format should be or

If the source is an ElementSW volume, format should be

If the source is an ElementSW volume, the volume should have SnapMirror enabled.

source_snapshot

string

added in 20.6.0 of netapp.ontap

Specifies the Snapshot from the source to be restored.

source_username

string

Source username for ONTAP or ElementSW cluster.

Optional if this is same as destination username.

source_volume

string

Specifies the name of the source volume for the SnapMirror.

source_vserver

string

Name of the source vserver for the SnapMirror.

state

string

  • present

  • absent

Whether the specified relationship should exist or not.

update

boolean

added in 20.2.0 of netapp.ontap

  • no
  • yes

Specifies whether to update the destination endpoint of the SnapMirror relationship only if the relationship is already present and active.

Default is True.

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

  • no
  • yes

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

# creates and initializes the snapmirror
- name: Create ONTAP/ONTAP SnapMirror
  na_ontap_snapmirror:
    state: present
    source_volume: test_src
    destination_volume: test_dest
    source_vserver: ansible_src
    destination_vserver: ansible_dest
    schedule: hourly
    policy: MirrorAllSnapshots
    max_transfer_rate: 1000
    initialize: False
    hostname: "{{ destination_cluster_hostname }}"
    username: "{{ destination_cluster_username }}"
    password: "{{ destination_cluster_password }}"

# creates and initializes the snapmirror between vservers
- name: Create ONTAP/ONTAP vserver SnapMirror
  na_ontap_snapmirror:
    state: present
    source_vserver: ansible_src
    destination_vserver: ansible_dest
    identity_preserve: true
    hostname: "{{ destination_cluster_hostname }}"
    username: "{{ destination_cluster_username }}"
    password: "{{ destination_cluster_password }}"

# existing snapmirror relation with status 'snapmirrored' will be initiailzed
- name: Inititalize ONTAP/ONTAP SnapMirror
  na_ontap_snapmirror:
    state: present
    source_path: 'ansible:test'
    destination_path: 'ansible:dest'
    relationship_state: active
    hostname: "{{ destination_cluster_hostname }}"
    username: "{{ destination_cluster_username }}"
    password: "{{ destination_cluster_password }}"

- name: Delete SnapMirror
  na_ontap_snapmirror:
    state: absent
    destination_path: <path>
    relationship_info_only: True
    source_hostname: "{{ source_hostname }}"
    hostname: "{{ destination_cluster_hostname }}"
    username: "{{ destination_cluster_username }}"
    password: "{{ destination_cluster_password }}"

- name: Break Snapmirror
  na_ontap_snapmirror:
    state: present
    relationship_state: broken
    destination_path: <path>
    source_hostname: "{{ source_hostname }}"
    hostname: "{{ destination_cluster_hostname }}"
    username: "{{ destination_cluster_username }}"
    password: "{{ destination_cluster_password }}"

- name: Restore Snapmirror volume using location (Idempotency)
  na_ontap_snapmirror:
    state: present
    source_path: <path>
    destination_path: <path>
    relationship_type: restore
    source_snapshot: "{{ snapshot }}"
    hostname: "{{ destination_cluster_hostname }}"
    username: "{{ destination_cluster_username }}"
    password: "{{ destination_cluster_password }}"

- name: Set schedule to NULL
  na_ontap_snapmirror:
    state: present
    destination_path: <path>
    schedule: ""
    hostname: "{{ destination_cluster_hostname }}"
    username: "{{ destination_cluster_username }}"
    password: "{{ destination_cluster_password }}"

- name: Create SnapMirror from ElementSW to ONTAP
  na_ontap_snapmirror:
    state: present
    connection_type: elementsw_ontap
    source_path: '10.10.10.10:/lun/300'
    destination_path: 'ansible_test:ansible_dest_vol'
    schedule: hourly
    policy: MirrorLatest
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    source_hostname: " {{ Element_cluster_mvip }}"
    source_username: "{{ Element_cluster_username }}"
    source_password: "{{ Element_cluster_password }}"

- name: Create SnapMirror from ONTAP to ElementSW
  na_ontap_snapmirror:
    state: present
    connection_type: ontap_elementsw
    destination_path: '10.10.10.10:/lun/300'
    source_path: 'ansible_test:ansible_dest_vol'
    policy: MirrorLatest
    hostname: "{{ Element_cluster_mvip }}"
    username: "{{ Element_cluster_username }}"
    password: "{{ Element_cluster_password }}"
    source_hostname: " {{ netapp_hostname }}"
    source_username: "{{ netapp_username }}"
    source_password: "{{ netapp_password }}"

Authors

© 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_snapmirror_module.html