ibm.storage_virtualize.ibm_sv_manage_snapshot module – This module manages snapshots (PiT image of a volume) on IBM Storage Virtualize family systems
Note
This module is part of the ibm.storage_virtualize collection (version 2.7.4).
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 ibm.storage_virtualize.
To use it in a playbook, specify: ibm.storage_virtualize.ibm_sv_manage_snapshot.
New in ibm.storage_virtualize 1.9.0
Synopsis
- In this implementation, a snapshot is a mutually consistent image of the volumes in a volume group or a list of independent volume(s). 
- This Ansible module provides the interface to manage snapshots through ‘addsnapshot’, ‘chsnapshot’ and ‘rmsnapshot’ Storage Virtualize commands. 
Parameters
| Parameter | Comments | 
|---|---|
| The hostname or management IP of the Storage Virtualize system. | |
| Domain for the Storage Virtualize system. Valid when hostname is used for the parameter clustername. | |
| Specifies the addition of the volume snapshots although there are already legacy FlashCopy mappings using the volume as a source. Choices: 
 | |
| Path of debug log file. | |
| Specifies the name of a snapshot. | |
| Specifies the old name of a snapshot. Valid when state=present, to rename the existing snapshot. | |
| Specifies the name of the ownershipgroup. Valid when state=present, to update an existing snapshot. | |
| REST API password for the Storage Virtualize system. The parameters username and password are required if not using token to authenticate a user. | |
| Specifies the retention period in days. safeguarded and retentiondays are required together. Applies, when state=present to create a safeguarded snapshot. | |
| Specifies the retention period in minutes in range 1 - 1440. retentionminutes and retentiondays are mutually exclusive. Applies, when state=present to create a transient snapshot. | |
| Flag to create a safeguarded snapshot. safeguarded and retentiondays are required together. Supported in SV build 8.5.2.0 or later. Choices: 
 | |
| Specifies the name of child pool within which the snapshot is being created. | |
| Specifies the name of the volumes for which the snapshots are to be created. List of volume names can be specified with the delimiter colon. Valid when state=present, to create a snapshot. | |
| Specifies the name of the source volume group for which the snapshot is being created. src_volumegroup_name and src_volume_names are mutually exclusive for creating snapshot. Required one of src_volumegroup_name or src_volume_names for creation of snapshot. | |
| Creates, updates ( Choices: 
 | |
| The authentication token to verify a user on the Storage Virtualize system. To generate a token, use the ibm.storage_virtualize.ibm_svc_auth module. | |
| REST API username for the Storage Virtualize system. The parameters username and password are required if not using token to authenticate a user. | |
| Validates certification. Choices: 
 | 
Notes
Note
- This module supports - check_mode.
- This module automates the new Snapshot function, implemented by Storage Virtualize, which is using a simplified management model. Any user requiring the flexibility available with legacy FlashCopy can continue to use the existing module ibm.storage_virtualize.ibm_svc_manage_flashcopy. 
- Snapshots created by this Ansible module are not directly accessible from the hosts. To create a new group of host accessible volumes from a snapshot, use ibm.storage_virtualize.ibm_svc_manage_volumegroup module. 
- In case of restoring local snapshots present before establishing high availability (HA), HA sync will be stopped till the snapshots gets restored. 
Examples
- name: Create volumegroup snapshot
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: ansible_1
   src_volumegroup_name: volumegroup1
   snapshot_pool: Pool0Childpool0
   state: present
- name: Create volumes snapshot
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: ansible_2
   src_volume_names: vdisk0:vdisk1
   snapshot_pool: Pool0Childpool0
   state: present
- name: Create safeguarded snapshot
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: ansible_2
   src_volume_names: vdisk0:vdisk1
   safeguarded: true
   retentiondays: 1
   snapshot_pool: Pool0Childpool0
   state: present
- name: Update snapshot ansible_2
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: ansible_new
   old_name: ansible_2
   ownershipgroup: ownershipgroup0
   state: present
- name: Restore all volumes of a volumegroup from a snapshot
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: snapshot0
   src_volumegroup_name: volumegroup1
   state: restore
- name: Restore subset of volumes of a volumegroup from snapshot
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: snapshot0
   src_volumegroup_name: volumegroup1
   src_volume_names: vdisk0:vdisk1
   state: restore
- name: Create transient snapshot
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: snapshot0
   src_volume_names: vdisk0:vdisk1
   safeguarded: true
   retentionminutes: 5
   snapshot_pool: Pool0Childpool0
   state: present
- name: Delete volumegroup snapshot
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: ansible_1
   src_volumegroup_name: volumegroup1
   state: absent
- name: Delete volume snapshot
  ibm.storage_virtualize.ibm_sv_manage_snapshot:
   clustername: '{{ clustername }}'
   username: '{{ username }}'
   password: '{{ password }}'
   name: ansible_new
   state: absent
