# netapp_e_storagepool – NetApp E-Series manage volume groups and disk pools

- Synopsis

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- Create or remove volume groups and disk pools for NetApp E-series storage arrays.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
api_password string / required |  | The password to authenticate with the SANtricity Web Services Proxy or Embedded Web Services API.
api_url string / required |  | The url to the SANtricity Web Services Proxy or Embedded Web Services API. Example https://prod-1.wahoo.acme.com/devmgr/v2
api_username string / required |  | The username to authenticate with the SANtricity Web Services Proxy or Embedded Web Services API.
criteria_drive_count integer |  | The number of disks to use for building the storage pool. When state=="present" then criteria_drive_count or criteria_min_usable_capacity must be specified. The pool will be expanded if this number exceeds the number of disks already in place (See expansion note below)

criteria_drive_interface_type
-

Choices:
- sas
- sas4k
- fibre
- fibre520b
- scsi
- sata
- pata

The interface type to use when selecting drives for the storage pool
If not provided then all interface types will be considered.

criteria_drive_min_size - |  | The minimum individual drive size (in size_unit) to consider when choosing drives for the storage pool.

criteria_drive_require_da
boolean
added in 2.9

Choices:
- no ←
- yes

Ensures the storage pool will be created with only data assurance (DA) capable drives.
Only available for new storage pools; existing storage pools cannot be converted.

criteria_drive_require_fde
boolean

Choices:
- no ←
- yes

Whether full disk encryption ability is required for drives to be added to the storage pool

criteria_drive_type
-

Choices:
- hdd
- ssd

The type of disk (hdd or ssd) to use when searching for candidates to use.
When not specified each drive type will be evaluated until successful drive candidates are found starting with the most prevalent drive type.

criteria_min_usable_capacity float |  | The minimum size of the storage pool (in size_unit). When state=="present" then criteria_drive_count or criteria_min_usable_capacity must be specified. The pool will be expanded if this value exceeds its current size. (See expansion note below)

criteria_size_unit
-

Choices:
- bytes
- b
- kb
- mb
- gb ←
- tb
- pb
- eb
- zb
- yb

The unit used to interpret size parameters

erase_secured_drives
boolean

Choices:
- no
- yes ←

If state=="absent" then all storage pool drives will be erase
If state=="present" then delete all available storage array drives that have security enabled.

name - / required |  | The name of the storage pool to manage

raid_level
-

Choices:
- raidAll
- raid0
- raid1
- raid3
- raid5
- raid6
- raidDiskPool ←

The RAID level of the storage pool to be created.
Required only when state=="present".
When raid_level=="raidDiskPool" then criteria_drive_count >= 10 or criteria_drive_count >= 11 is required depending on the storage array specifications.
When raid_level=="raid0" then 1<=criteria_drive_count is required.
When raid_level=="raid1" then 2<=criteria_drive_count is required.
When raid_level=="raid3" then 3<=criteria_drive_count<=30 is required.
When raid_level=="raid5" then 3<=criteria_drive_count<=30 is required.
When raid_level=="raid6" then 5<=criteria_drive_count<=30 is required.
Note that raidAll will be treated as raidDiskPool and raid3 as raid5.

remove_volumes - | Default: "yes" | Prior to removing a storage pool, delete all volumes in the pool.
reserve_drive_count - |  | Set the number of drives reserved by the storage pool for reconstruction operations. Only valid on raid disk pools.

secure_pool
boolean

Choices:
- no
- yes

Enables security at rest feature on the storage pool.
Will only work if all drives in the pool are security capable (FDE, FIPS, or mix)
Warning, once security is enabled it is impossible to disable without erasing the drives.

ssid string | Default: 1 | The ID of the array to manage. This value must be unique for each array.

state
- / required

Choices:
- present
- absent

Whether the specified storage pool should exist or not.
Note that removing a storage pool currently requires the removal of all defined volumes first.

validate_certs
boolean

Choices:
- no
- yes ←

Should https certificates be validated?

## Notes

Note

- The expansion operations are non-blocking due to the time consuming nature of expanding volume groups

- Traditional volume groups (raid0, raid1, raid5, raid6) are performed in steps dictated by the storage array. Each required step will be attempted until the request fails which is likely because of the required expansion time.

- raidUnsupported will be treated as raid0, raidAll as raidDiskPool and raid3 as raid5.

- Tray loss protection and drawer loss protection will be chosen if at all possible.

- The E-Series Ansible modules require either an instance of the Web Services Proxy (WSP), to be available to manage the storage-system, or an E-Series storage-system that supports the Embedded Web Services API.

- Embedded Web Services is currently available on the E2800, E5700, EF570, and newer hardware models.

- netapp_e_storage_system may be utilized for configuring the systems managed by a WSP instance.

## Examples

    - name: No disk groups
      netapp_e_storagepool:
        ssid: "{{ ssid }}"
        name: "{{ item }}"
        state: absent
        api_url: "{{ netapp_api_url }}"
        api_username: "{{ netapp_api_username }}"
        api_password: "{{ netapp_api_password }}"
        validate_certs: "{{ netapp_api_validate_certs }}"

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
msg string | success | Success message Sample: Json facts for the pool that was created.

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Kevin Hulquest (@hulquest)

- Nathan Swartz (@ndswartz)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.