dellemc.powerflex.storagepool module – Managing Dell PowerFlex storage pool
Note
This module is part of the dellemc.powerflex collection (version 2.5.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.storagepool
.
New in dellemc.powerflex 1.0.0
Synopsis
Dell PowerFlex storage pool module includes getting the details of storage pool, creating a new storage pool, and modifying the attribute of a storage pool.
Requirements
The below requirements are needed on the host that executes this module.
A Dell PowerFlex storage system version 3.6 or later.
PyPowerFlex 1.12.0.
Parameters
Parameter |
Comments |
---|---|
Set the threshold for triggering capacity usage alerts. Alerts thresholds are calculated from each Storage Pool capacity after deducting the defined amount of spare capacity. |
|
Threshold of the non-spare capacity of the Storage Pool that will trigger a critical-priority alert, expressed as a percentage. |
|
Threshold of the non-spare capacity of the Storage Pool that will trigger a high-priority alert, expressed as a percentage. This value must be lower than the critical_threshold. |
|
Enable/Disable fragmentation of a specific storage pool. Choices:
|
|
Enable/Disable rebalance on a specific storage pool. Choices:
|
|
Enable/Disable rebuild of a specific storage pool. Choices:
|
|
Enable/Disable zero padding on a specific storage pool. Choices:
|
|
IP or FQDN of the PowerFlex host. |
|
Type of devices in the storage pool. Choices:
|
|
Set rebuild/rebalance parallelism limit of a storage pool. |
|
The password of the PowerFlex host. |
|
Enable/Disable persistent checksum of a specific storage pool. |
|
Bandwidth limit in KB/s for the checksum building process. Valid range is 1024 to 10240. Default: |
|
Enable / disable persistent checksum. Choices:
|
|
Validate checksum upon reading data. Choices:
|
|
Port number through which communication happens with PowerFlex host. Default: |
|
Set protected maintenance mode I/O priority policy of a storage pool. |
|
The maximum bandwidth of protected maintenance mode migration I/Os, in KB per second, per device. Valid range is 1024 to 1048576. |
|
The maximum number of concurrent protected maintenance mode migration I/Os per device. Valid range is 1 to 20. |
|
The I/O priority policy for protected maintenance mode.
If application I/Os are in progress, should also limit the bandwidth of protected maintenance mode migration I/Os to the limit defined for the bw_limit_per_device. Choices:
|
|
The id of the protection domain. During creation of a pool, either protection domain name or id must be mentioned. Mutually exclusive with protection_domain_name. |
|
The name of the protection domain. During creation of a pool, either protection domain name or id must be mentioned. Mutually exclusive with protection_domain_id. |
|
Set the rebalance I/O priority policy for a Storage Pool. |
|
The maximum bandwidth of rebalance I/Os, in KB/s, per device. Valid range is 1024 to 1048576. |
|
The maximum number of concurrent rebalance I/Os per device. Valid range is 1 to 20. |
|
Policy to use for rebalance I/O priority.
Choices:
|
|
Set replication journal capacity of a storage pool. |
|
Set RM cache write handling mode of a storage pool. Passthrough Writes skip the cache and are stored in storage only. Cached Writes are stored in both cache and storage (the default). Caching is only performed for IOs whose size is a multiple of 4k bytes. Choices:
|
|
Set the spare percentage of a specific storage pool. |
|
State of the storage pool. Choices:
|
|
The id of the storage pool. It is auto generated, hence should not be provided during creation of a storage pool. Mutually exclusive with storage_pool_name. |
|
The name of the storage pool. If more than one storage pool is found with the same name then protection domain id/name is required to perform the task. Mutually exclusive with storage_pool_id. |
|
New name for the storage pool can be provided. This parameter is used for renaming the storage pool. |
|
Time after which connection will get terminated. It is to be mentioned in seconds. Default: |
|
Enable/Disable RFcache on a specific storage pool. Choices:
|
|
Enable/Disable RMcache on a specific storage pool. Choices:
|
|
The username of the PowerFlex host. |
|
Boolean variable to specify whether or not to validate SSL certificate.
Choices:
|
|
Set the I/O priority policy for V-Tree migration for a specific Storage Pool. |
|
The maximum bandwidth of V-Tree migration I/Os, in KB per second, per device. Valid range is 1024 to 25600. |
|
The maximum number of concurrent V-Tree migration I/Os per device. Valid range is 1 to 20 |
|
The I/O priority policy for protected maintenance mode.
If application I/Os are in progress, should also limit the bandwidth of V-Tree migration I/Os to the limit defined for the bw_limit_per_device. Choices:
|
Notes
Note
TRANSITIONAL media type is supported only during modification.
The check_mode is supported.
The modules present in the collection named as ‘dellemc.powerflex’ are built to support the Dell PowerFlex storage platform.
Examples
- name: Get the details of storage pool by name
dellemc.powerflex.storagepool:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
storage_pool_name: "sample_pool_name"
protection_domain_name: "sample_protection_domain"
state: "present"
- name: Get the details of storage pool by id
dellemc.powerflex.storagepool:
hostname: "{{hostname}}"
username: "{{username}}"
password: "{{password}}"
validate_certs: "{{validate_certs}}"
storage_pool_id: "abcd1234ab12r"
state: "present"
- name: Create a new Storage pool
dellemc.powerflex.storagepool:
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
validate_certs: "{{ validate_certs }}"
storage_pool_name: "{{ pool_name }}"
protection_domain_name: "{{ protection_domain_name }}"
cap_alert_thresholds:
high_threshold: 30
critical_threshold: 50
media_type: "TRANSITIONAL"
enable_zero_padding: true
rep_cap_max_ratio: 40
rmcache_write_handling_mode: "Passthrough"
spare_percentage: 80
enable_rebalance: false
enable_fragmentation: false
enable_rebuild: false
use_rmcache: true
use_rfcache: true
parallel_rebuild_rebalance_limit: 3
protected_maintenance_mode_io_priority_policy:
policy: "unlimited"
rebalance_io_priority_policy:
policy: "unlimited"
vtree_migration_io_priority_policy:
policy: "limitNumOfConcurrentIos"
concurrent_ios_per_device: 10
persistent_checksum:
enable: false
state: "present"
- name: Modify a Storage pool by name
dellemc.powerflex.storagepool:
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
validate_certs: "{{ validate_certs }}"
storage_pool_name: "{{ pool_name }}"
protection_domain_name: "{{ protection_domain_name }}"
storage_pool_new_name: "pool_name_new"
cap_alert_thresholds:
high_threshold: 50
critical_threshold: 70
enable_zero_padding: false
rep_cap_max_ratio: 60
rmcache_write_handling_mode: "Passthrough"
spare_percentage: 90
enable_rebalance: true
enable_fragmentation: true
enable_rebuild: true
use_rmcache: true
use_rfcache: true
parallel_rebuild_rebalance_limit: 6
protected_maintenance_mode_io_priority_policy:
policy: "limitNumOfConcurrentIos"
concurrent_ios_per_device: 4
rebalance_io_priority_policy:
policy: "favorAppIos"
concurrent_ios_per_device: 10
bw_limit_per_device: 4096
vtree_migration_io_priority_policy:
policy: "limitNumOfConcurrentIos"
concurrent_ios_per_device: 10
persistent_checksum:
enable: true
validate_on_read: true
builder_limit: 1024
state: "present"
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 storage pool. Returned: When storage pool exists Sample: |
|
ID of the storage pool under protection domain. Returned: success |
|
Type of devices in the storage pool. Returned: success |
|
Name of the storage pool under protection domain. Returned: success |
|
ID of the protection domain in which pool resides. Returned: success |
|
Name of the protection domain in which pool resides. Returned: success |
|
Statistics details of the storage pool. Returned: success |
|
Total capacity of the storage pool. Returned: success |
|
Device Ids of the storage pool. Returned: success |
|
Unused capacity of the storage pool. Returned: success |
|
Enable/Disable RFcache on a specific storage pool. Returned: success |
|
Enable/Disable RMcache on a specific storage pool. Returned: success |