purestorage.flasharray.purefa_volume – Manage volumes on Pure Storage FlashArrays

From Get docs
Ansible/docs/2.11/collections/purestorage/flasharray/purefa volume module


purestorage.flasharray.purefa_volume – Manage volumes on Pure Storage FlashArrays

Note

This plugin is part of the purestorage.flasharray collection (version 1.5.1).

To install it use: ansible-galaxy collection install purestorage.flasharray.

To use it in a playbook, specify: purestorage.flasharray.purefa_volume.


New in version 1.0.0: of purestorage.flasharray


Synopsis

  • Create, delete or extend the capacity of a volume on Pure Storage FlashArray.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.7
  • purestorage >= 1.19
  • py-pure-client >= 1.6.0
  • netaddr
  • requests

Parameters

Parameter Choices/Defaults Comments

api_token

string

FlashArray API token for admin privileged user.

bw_qos

string

Bandwidth limit for volume in M or G units. M will set MB/s G will set GB/s To clear an existing QoS setting use 0 (zero)


aliases: qos

count

integer

Number of volumes to be created in a multiple volume creation

Only supported from Purity//FA v6.0.0 and higher

digits

integer

Default:

1

Number of digits to use for multiple volume count. This will pad the index number with zeros where necessary

Only supported from Purity//FA v6.0.0 and higher

Range is between 1 and 10

eradicate

boolean

  • no

  • yes

Define whether to eradicate the volume on delete or leave in trash.

fa_url

string

FlashArray management IPv4 address or Hostname.

iops_qos

string

IOPs limit for volume - use value or K or M K will mean 1000 M will mean 1000000 To clear an existing IOPs setting use 0 (zero)

move

string

Move a volume in and out of a pod or vgroup

Provide the name of pod or vgroup to move the volume to

Pod and Vgroup names must be unique in the array

To move to the local array, specify local

This is not idempotent - use ignore_errors in the play

name

string / required

The name of the volume.

Volume could be created in a POD with this syntax POD_NAME::VOLUME_NAME.

Volume could be created in a volume group with this syntax VG_NAME/VOLUME_NAME.

Multi-volume support available from Purity//FA 6.0.0 ***NOTE*** Manual deletion or eradication of individual volumes created using multi-volume will cause idempotency to fail

Multi-volume support only exists for volume creation

overwrite

boolean

  • no

  • yes

Define whether to overwrite a target volume if it already exisits.

rename

string

Value to rename the specified volume to.

Rename only applies to the container the current volumes is in.

There is no requirement to specify the pod or vgroup name as this is implied.

size

string

Volume size in M, G, T or P units.

start

integer

Default:

0

Number at which to start the multiple volume creation index

Only supported from Purity//FA v6.0.0 and higher

state

string

  • absent
  • present

Define whether the volume should exist or not.

suffix

string

Suffix string, if required, for multiple volume create

Volume names will be formed as #I, where # is a placeholder for the volume index See associated descriptions

Only supported from Purity//FA v6.0.0 and higher

target

string

The name of the target volume, if copying.



Notes

Note

  • This module requires the purestorage Python library
  • You must set PUREFA_URL and PUREFA_API environment variables if fa_url and api_token arguments are not passed to the module directly


Examples

- name: Create new volume named foo with a QoS limit
  purefa_volume:
    name: foo
    size: 1T
    bw_qos: 58M
    iops_qos: 23K
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: present

- name: Create new volume named foo in pod bar
  purefa_volume:
    name: bar::foo
    size: 1T
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: present

- name: Create 10 volumes with index starting at 10 but padded with 3 digits
  purefa_volume:
    name: foo
    size: 1T
    suffix: bar
    count: 10
    start: 10
    digits: 3
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: present

- name: Extend the size of an existing volume named foo
  purefa_volume:
    name: foo
    size: 2T
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: present

- name: Delete and eradicate volume named foo
  purefa_volume:
    name: foo
    eradicate: yes
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: absent

- name: Create clone of volume bar named foo
  purefa_volume:
    name: foo
    target: bar
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: present

- name: Overwrite volume bar with volume foo
  purefa_volume:
    name: foo
    target: bar
    overwrite: yes
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: present

- name: Clear volume QoS from volume foo
  purefa_volume:
    name: foo
    bw_qos: 0
    iops_qos: 0
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592
    state: present

- name: Move local volume foo from local array to pod bar
  purefa_volume:
    name: foo
    move: bar
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Move volume foo in pod bar to local array
  purefa_volume:
    name: bar::foo
    move: local
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

- name: Move volume foo in pod bar to vgroup fin
  purefa_volume:
    name: bar::foo
    move: fin
    fa_url: 10.10.10.2
    api_token: e31060a7-21fc-e277-6240-25983c6c4592

Return Values

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

Key Returned Description

volume

dictionary

success

A dictionary describing the changed volume. Only some attributes below will be returned with various actions.


bandwidth_limit

integer

success

Volume bandwidth limit in bytes/sec


created

string

success

Volume creation time


Sample:

2019-03-13T22:49:24Z

iops_limit

integer

success

Volume IOPs limit


name

string

success

Volume name


serial

string

success

Volume serial number


Sample:

361019ECACE43D83000120A4

size

integer

success

Volume size in bytes


source

string

success

Volume name of source volume used for volume copy





Authors

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/purestorage/flasharray/purefa_volume_module.html