infinidat.infinibox.infini_vol module – Create, Delete or Modify volumes on Infinibox
Note
This module is part of the infinidat.infinibox collection (version 1.4.5).
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 infinidat.infinibox
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: infinidat.infinibox.infini_vol
.
New in infinidat.infinibox 2.3.0
Synopsis
This module creates, deletes or modifies a volume on Infinibox.
Requirements
The below requirements are needed on the host that executes this module.
capacity
infinisdk (https://infinisdk.readthedocs.io/en/latest/)
python2 >= 2.7 or python3 >= 3.6
Parameters
Parameter |
Comments |
---|---|
Volume name. |
|
Specify a volume name. This is the volume parent for creating a snapshot. Required if volume_type is snapshot. |
|
Infinibox User password. |
|
Pool that master volume will reside within. Required for creating a master volume, but not a snapshot. |
|
Specify true to restore a volume (parent_volume_name) from an existing snapshot specified by the name field. State must be set to present and volume_type must be ‘snapshot’. Choices:
|
|
Volume serial number. |
|
Volume size in MB, GB or TB units. Required for creating a master volume, but not a snapshot |
|
This will cause a snapshot to be locked at the specified date-time. Uses python’s datetime format YYYY-mm-dd HH:MM:SS.ffffff, e.g. 2020-02-13 16:21:59.699700 |
|
This will lock an existing snapshot but will suppress refreshing the snapshot. Choices:
|
|
Creates/Modifies master volume or snapshot when present or removes when absent. Choices:
|
|
Infinibox Hostname or IPv4 Address. |
|
Whether the master volume should be thin or thick provisioned. Choices:
|
|
Infinibox User username with sufficient priveledges ( see notes ). |
|
Specifies the volume type, regular volume or snapshot. Choices:
|
|
Specifies if the volume should be write protected. Default will be True for snapshots, False for regular volumes. Choices:
|
Notes
Note
This module requires infinisdk python library
You must set INFINIBOX_USER and INFINIBOX_PASSWORD environment variables if user and password arguments are not passed to the module directly
Ansible uses the infinisdk configuration file
~/.infinidat/infinisdk.ini
if no credentials are provided. See http://infinisdk.readthedocs.io/en/latest/getting_started.htmlAll Infinidat modules support check mode (–check). However, a dryrun that creates resources may fail if the resource dependencies are not met for a task. For example, consider a task that creates a volume in a pool. If the pool does not exist, the volume creation task will fail. It will fail even if there was a previous task in the playbook that would have created the pool but did not because the pool creation was also part of the dry run.
Examples
- name: Create new volume named foo under pool named bar
infini_vol:
name: foo
# volume_type: master # Default
size: 1TB
thin_provision: true
pool: bar
state: present
user: admin
password: secret
system: ibox001
- name: Create snapshot named foo_snap from volume named foo
infini_vol:
name: foo_snap
volume_type: snapshot
parent_volume_name: foo
state: present
user: admin
password: secret
system: ibox001
- name: Stat snapshot, also a volume, named foo_snap
infini_vol:
name: foo_snap
state: present
user: admin
password: secret
system: ibox001
- name: Remove snapshot, also a volume, named foo_snap
infini_vol:
name: foo_snap
state: absent
user: admin
password: secret
system: ibox001