dellemc.powerflex.snapshot module – Manage Snapshots on Dell PowerFlex
Note
This module is part of the dellemc.powerflex collection (version 1.6.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 dellemc.powerflex
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: dellemc.powerflex.snapshot
.
New in dellemc.powerflex 1.0.0
Synopsis
Managing snapshots on PowerFlex Storage System includes creating, getting details, mapping/unmapping to/from SDC, modifying the attributes and deleting snapshot.
Requirements
The below requirements are needed on the host that executes this module.
A Dell PowerFlex storage system version 3.5 or later.
Ansible-core 2.12 or later.
PyPowerFlex 1.6.0.
Python 3.9, 3.10 or 3.11.
Parameters
Parameter |
Comments |
---|---|
Specifies whether to allow multiple mappings or not. Choices:
|
|
The unit of the volume size. It defaults to Choices:
|
|
The retention value for the Snapshot. If the desired_retention is not mentioned during creation, snapshot will be created with unlimited retention. Maximum supported desired retention is 31 days. |
|
IP or FQDN of the PowerFlex host. |
|
The password of the PowerFlex host. |
|
Port number through which communication happens with PowerFlex host. Default: |
|
Specifies whether mapping of the created snapshot volume will have read-write access or limited to read-only access. If If Choices:
|
|
Removal mode for the snapshot. It defaults to Choices:
|
|
The unit for retention. It defaults to Choices:
|
|
Specifies SDC parameters. |
|
Define the access mode for all mappings of the snapshot. Choices:
|
|
Limit of snapshot network bandwidth. Need to mention in multiple of 1024 Kbps. To set no limit, 0 is to be passed. |
|
Limit of snapshot IOPS. Minimum IOPS limit is 11 and specify 0 for unlimited iops. |
|
ID of the SDC. Specify either sdc_name, sdc_id or sdc_ip. Mutually exclusive with sdc_name and sdc_ip. |
|
IP of the SDC. Specify either sdc_name, sdc_id or sdc_ip. Mutually exclusive with sdc_id and sdc_ip. |
|
Name of the SDC. Specify either sdc_name, sdc_id or sdc_ip. Mutually exclusive with sdc_id and sdc_ip. |
|
Mapping state of the SDC. Choices:
|
|
The size of the snapshot. |
|
The ID of the Snapshot. |
|
The name of the snapshot. Mandatory for create operation. Specify either snapshot_name or snapshot_id (but not both) for any operation. |
|
New name of the snapshot. Used to rename the snapshot. |
|
State of the snapshot. Choices:
|
|
Time after which connection will get terminated. It is to be mentioned in seconds. Default: |
|
The username of the PowerFlex host. |
|
Boolean variable to specify whether or not to validate SSL certificate.
Choices:
|
|
The ID of the volume. |
|
The name of the volume for which snapshot will be taken. Specify either vol_name or vol_id while creating snapshot. |
Notes
Note
The check_mode is not supported.
The modules present in the collection named as ‘dellemc.powerflex’ are built to support the Dell PowerFlex storage platform.
Examples
- name: Create snapshot
dellemc.powerflex.snapshot:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
snapshot_name: "ansible_snapshot"
vol_name: "ansible_volume"
read_only: False
desired_retention: 2
state: "present"
- name: Get snapshot details using snapshot id
dellemc.powerflex.snapshot:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
snapshot_id: "fe6cb28200000007"
state: "present"
- name: Map snapshot to SDC
dellemc.powerflex.snapshot:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
snapshot_id: "fe6cb28200000007"
sdc:
- sdc_ip: "198.10.xxx.xxx"
- sdc_id: "663ac0d200000001"
allow_multiple_mappings: True
sdc_state: "mapped"
state: "present"
- name: Modify the attributes of SDC mapped to snapshot
dellemc.powerflex.snapshot:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
snapshot_id: "fe6cb28200000007"
sdc:
- sdc_ip: "198.10.xxx.xxx"
iops_limit: 11
bandwidth_limit: 4096
- sdc_id: "663ac0d200000001"
iops_limit: 20
bandwidth_limit: 2048
allow_multiple_mappings: True
sdc_state: "mapped"
state: "present"
- name: Extend the size of snapshot
dellemc.powerflex.snapshot:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
snapshot_id: "fe6cb28200000007"
size: 16
state: "present"
- name: Unmap SDCs from snapshot
dellemc.powerflex.snapshot:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
snapshot_id: "fe6cb28200000007"
sdc:
- sdc_ip: "198.10.xxx.xxx"
- sdc_id: "663ac0d200000001"
sdc_state: "unmapped"
state: "present"
- name: Rename snapshot
dellemc.powerflex.snapshot:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
snapshot_id: "fe6cb28200000007"
snapshot_new_name: "ansible_renamed_snapshot_10"
state: "present"
- name: Delete snapshot
dellemc.powerflex.snapshot:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
snapshot_id: "fe6cb28200000007"
remove_mode: "ONLY_ME"
state: "absent"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Whether or not the resource has changed. Returned: always Sample: |
|
Details of the snapshot. Returned: When snapshot exists Sample: |
|
The ID of the root of the specified volume’s V-Tree. Returned: success |
|
The name of the root of the specified volume’s V-Tree. Returned: success |
|
The creation time of the snapshot. Returned: success |
|
The ID of the snapshot. Returned: success |
|
The details of the mapped SDC. Returned: success |
|
Mapping access mode for the specified snapshot. Returned: success |
|
Bandwidth limit for the SDC. Returned: success |
|
IOPS limit for the SDC. Returned: success |
|
ID of the SDC. Returned: success |
|
IP of the SDC. Returned: success |
|
Name of the SDC. Returned: success |
|
Name of the snapshot. Returned: success |
|
Retention of the snapshot in hours. Returned: success |
|
Expiry time of the snapshot. Returned: success |
|
Size of the snapshot. Returned: success |
|
Size of the snapshot. Returned: success |
|
The ID of the Storage pool in which snapshot resides. Returned: success |
|
The name of the Storage pool in which snapshot resides. Returned: success |