infinidat.infinibox.infini_export – Create, Delete or Modify NFS Exports 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_export.

New in version 2.3: of infinidat.infinibox

Synopsis

  • This module creates, deletes or modifies NFS exports on Infinibox.

Requirements

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

Parameters

Parameter Choices/Defaults Comments
client_list
string
Default:
"All Hosts(*), RW, no_root_squash: True"
List of dictionaries with client entries. See examples. Check infini_export_client module to modify individual NFS client entries for export.
filesystem
string / required
Name of exported file system.
name
string / required
Export name. Must start with a forward slash, e.g. name=/data.
password
string
Infinibox User password.
state
string
    Choices:
  • stat
  • present ←
  • absent
Creates/Modifies export when present, removes when absent, or provides export details with stat.
system
string / required
Infinibox Hostname or IPv4 Address.
user
string
Infinibox User username with sufficient priveledges ( see notes ).

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: Export bar filesystem under foo pool as /data
  infini_export:
    name: /data01
    filesystem: foo
    state: present  # Default
    user: admin
    password: secret
    system: ibox001

- name: Get status of export bar filesystem under foo pool as /data
  infini_export:
    name: /data01
    filesystem: foo
    state: stat
    user: admin
    password: secret
    system: ibox001

- name: Remove export bar filesystem under foo pool as /data
  infini_export:
    name: /data01
    filesystem: foo
    state: absent
    user: admin
    password: secret
    system: ibox001

- name: Export and specify client list explicitly
  infini_export:
    name: /data02
    filesystem: foo
    client_list:
      - client: 192.168.0.2
        access: RW
        no_root_squash: True
      - client: 192.168.0.100
        access: RO
        no_root_squash: False
      - client: 192.168.0.10-192.168.0.20
        access: RO
        no_root_squash: False
    system: ibox001
    user: admin
    password: secret

Authors

  • Gregory Shulov (@GR360RY)