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.iniif 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/infinidat/infinibox/infini_vol_module.html