Note
This plugin is part of the netapp.ontap collection (version 21.12.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
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
relationship_state=active
and the current mirror state of the snapmirror relationship is broken-offrelationship_state=active
, the current snapmirror relationship status is quiesced and mirror state is snapmirroredrelationship_type=restore
and all other operations will not be performed during this taskThe below requirements are needed on the host that executes this module.
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 |
| 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. | ||
create_destination dictionary added in 21.1.0 of netapp.ontap | Requires ONTAP 9.7 or later. Creates the destination volume if enabled and destination_volume is present or destination_path includes a volume name. Creates and peers the destination vserver for SVM DR. | |||
enabled boolean |
| Whether to create the destination volume or vserver. This is automatically enabled if any other suboption is present. | ||
storage_service dictionary | storage service associated with the destination endpoint. | |||
enabled boolean |
| whether to create the destination endpoint using storage service. | ||
enforce_performance boolean |
| whether to enforce storage service performance on the destination endpoint. | ||
name string |
| the performance service level (PSL) for this volume endpoint. | ||
tiering dictionary | Cloud tiering policy. | |||
policy string |
| Cloud tiering policy. | ||
supported boolean |
| enable provisioning of the destination endpoint volumes on FabricPool aggregates. only supported for FlexVol volume, FlexGroup volume, and Consistency Group endpoints. | ||
destination_cluster string added in 21.1.0 of netapp.ontap | Requires ONTAP 9.7 or higher. Required to create the destination vserver for SVM DR or the destination volume. Deprecated as of 21.2.0, use destination_endpoint and cluster. | |||
destination_endpoint dictionary added in 21.2.0 of netapp.ontap | destination endpoint of a SnapMirror relationship. | |||
cluster string | Requires ONTAP 9.7 or higher. Required to create the destination vserver for SVM DR or the destination volume. | |||
consistency_group_volumes list / elements=string | Requires ONTAP 9.8 or higher. Mandatory property for a Consistency Group endpoint. Specifies the list of FlexVol volumes for a Consistency Group. | |||
ipspace string | Requires ONTAP 9.8 or higher. Optional property to specify the IPSpace of the SVM. | |||
path string / required | The destination endpoint for the relationship. format is <vserver:volume>, <vserver:>, <vserver:/cg/cg_name> | |||
svm string | The name of the SVM. Not sure when this is needed. | |||
destination_path string | Specifies the destination endpoint of the SnapMirror relationship. Deprecated as of 21.2.0, use destination_endpoint and path. | |||
destination_volume string | Specifies the name of the destination volume for the SnapMirror. Deprecated as of 21.2.0, use source_endpoint and path. | |||
destination_vserver string | Name of the destination vserver for the SnapMirror. Deprecated as of 21.2.0, use destination_endpoint and path, or svm. | |||
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. | ||
identity_preserve boolean added in 2.9.0 of netapp.ontap |
| 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 |
| 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 |
| 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 |
| Specifies whether to break SnapMirror relation or establish a SnapMirror relationship. state must be present to use this option. | ||
relationship_type string |
| 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. With REST, only 'extended_data_protection' is supported. ('restore' is TBD) | ||
schedule string | Specify the name of the current schedule, which is used to update the SnapMirror relationship. Optional for create, modifiable. | |||
source_cluster string added in 21.1.0 of netapp.ontap | Requires ONTAP 9.7 or higher. Required to create the peering relationship between source and destination SVMs. Deprecated as of 21.2.0, use source_endpoint and cluster. | |||
source_endpoint dictionary added in 21.2.0 of netapp.ontap | source endpoint of a SnapMirror relationship. | |||
cluster string | Requires ONTAP 9.7 or higher. Required to create the peering relationship between source and destination SVMs. | |||
consistency_group_volumes list / elements=string | Requires ONTAP 9.8 or higher. Mandatory property for a Consistency Group endpoint. Specifies the list of FlexVol volumes for a Consistency Group. | |||
ipspace string | Requires ONTAP 9.8 or higher. Optional property to specify the IPSpace of the SVM. | |||
path string / required | The source endpoint for the relationship. If the source is an ONTAP volume (FlexVol or FlexGroup), format should be <vserver:volume> For SVM DR, format should be <vserver:> For a consistency group, format should be <vserver:/cg/cg_name> If the source is an ElementSW volume, format should be <Element_SVIP:/lun/Element_VOLUME_ID> If the source is an ElementSW volume, the volume should have SnapMirror enabled. | |||
svm string | The name of the SVM. Not sure when this is needed. | |||
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 <[vserver:][volume]> or <[[cluster:]//vserver/]volume> If the source is an ElementSW volume, format should be <[Element_SVIP]:/lun/[Element_VOLUME_ID]> If the source is an ElementSW volume, the volume should have SnapMirror enabled. Deprecated as of 21.2.0, use source_endpoint and path. | |||
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. Deprecated as of 21.2.0, use source_endpoint and path. | |||
source_vserver string | Name of the source vserver for the SnapMirror. Deprecated as of 21.2.0, use source_endpoint and path, or svm. | |||
state string |
| Whether the specified relationship should exist or not. | ||
update boolean added in 20.2.0 of netapp.ontap |
| 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 |
| 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. |
Note
# 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 initialized - 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 }}" - name: Create Snapmirror relationship (create destination volume) tags: create na_ontap_snapmirror: state: present source_endpoint: cluster: "{{ _source_cluster }}" path: "{{ source_vserver + ':' + source_volume }}" destination_endpoint: cluster: "{{ _destination_cluster }}" path: "{{ destination_vserver_VOLDP + ':' + destination_volume }}" create_destination: enabled: true hostname: "{{ destination_hostname }}" username: "{{ username }}" password: "{{ password }}" https: true validate_certs: false - name: Create SnapMirror relationship - SVM DR (creating and peering destination svm) tags: create_svmdr na_ontap_snapmirror: state: present source_endpoint: cluster: "{{ _source_cluster }}" path: "{{ source_vserver + ':' }}" destination_endpoint: cluster: "{{ _destination_cluster }}" path: "{{ destination_vserver_SVMDR + ':' }}" create_destination: enabled: true hostname: "{{ destination_hostname }}" username: "{{ username }}" password: "{{ password }}" https: true validate_certs: false
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/netapp/ontap/na_ontap_snapmirror_module.html