infinidat.infinibox.infini_vol – Create, Delete or Modify volumes on Infinibox
Note
This plugin is part of the infinidat.infinibox collection (version 1.2.4).
To install it use: ansible-galaxy collection install infinidat.infinibox
.
To use it in a playbook, specify: infinidat.infinibox.infini_vol
.
New in version 2.3: of infinidat.infinibox
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 | Choices/Defaults | Comments |
---|---|---|
name string / required | Volume Name | |
parent_volume_name string | Specify a volume name. This is the volume parent for creating a snapshot. Required if volume_type is snapshot. | |
password string | Infinibox User password. | |
pool string | Pool that master volume will reside within. Required for creating a master volume, but not a snapshot. | |
size string | Volume size in MB, GB or TB units. Required for creating a master volume, but not a snapshot | |
snapshot_lock_expires_at string | 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 | |
snapshot_lock_only boolean |
| This will lock an existing snapshot but will suppress refreshing the snapshot. |
state string |
| Creates/Modifies master volume or snapshot when present or removes when absent. |
system string / required | Infinibox Hostname or IPv4 Address. | |
thin_provision boolean added in 2.8 of infinidat.infinibox |
| Whether the master volume should be thin provisioned. Required for creating a master volume, but not a snapshot. |
user string | Infinibox User username with sufficient priveledges ( see notes ). | |
volume_type string |
| Specifies the volume type, regular volume or snapshot. |
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.html - All 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: yes 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
Authors
- Gregory Shulov (@GR360RY)
© 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/infinidat/infinibox/infini_vol_module.html