na_ontap_lun – NetApp ONTAP manage LUNs

New in version 2.6.

Synopsis

  • Create, destroy, resize LUNs on NetApp ONTAP.

Requirements

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

  • A physical or virtual clustered Data ONTAP system. The modules support Data ONTAP 9.1 and onward

  • Ansible 2.6

  • Python2 netapp-lib (2017.10.30) or later. Install using ‘pip install netapp-lib’

  • Python3 netapp-lib (2018.11.13) or later. Install using ‘pip install netapp-lib’

  • To enable http on the cluster you must run the following commands ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

Parameters

Parameter Choices/Defaults Comments
flexvol_name
- / required
The name of the FlexVol the LUN should exist on.
force_remove
boolean
    Choices:
  • no ←
  • yes
If "true", override checks that prevent a LUN from being destroyed if it is online and mapped.
If "false", destroying an online and mapped LUN will fail.
force_remove_fenced
boolean
    Choices:
  • no ←
  • yes
If "true", override checks that prevent a LUN from being destroyed while it is fenced.
If "false", attempting to destroy a fenced LUN will fail.
The default if not specified is "false". This field is available in Data ONTAP 8.2 and later.
force_resize
boolean
    Choices:
  • no ←
  • yes
Forcibly reduce the size. This is required for reducing the size of the LUN to avoid accidentally reducing the LUN size.
hostname
string / required
The hostname or IP address of the ONTAP instance.
http_port
integer
Override the default port (80 or 443) with this port
https
boolean
    Choices:
  • no ←
  • yes
Enable and disable https
name
- / required
The name of the LUN to manage.
ontapi
integer
The ontap api version to use
ostype
-
Default:
"image"
The os type for the LUN.
password
string / required
Password for the specified user.

aliases: pass
size
-
The size of the LUN in size_unit.
Required when state=present.
size_unit
-
    Choices:
  • bytes
  • b
  • kb
  • mb
  • gb ←
  • tb
  • pb
  • eb
  • zb
  • yb
The unit used to interpret the size parameter.
space_allocation
boolean
added in 2.7
    Choices:
  • no ←
  • yes
This enables support for the SCSI Thin Provisioning features. If the Host and file system do not support this do not enable it.
space_reserve
boolean
    Choices:
  • no
  • yes ←
This can be set to "false" which will create a LUN without any space being reserved.
state
-
    Choices:
  • present ←
  • absent
Whether the specified LUN should exist or not.
use_rest
string
    Choices:
  • Never
  • Always
  • Auto ←
REST API if supported by the target system for all the resources and attributes the module requires. Otherwise will revert to ZAPI.
Always -- will always use the REST API
Never -- will always use the ZAPI
Auto -- will try to use the REST Api
username
string / required
This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required. For more information, please read the documentation
aliases: user
validate_certs
boolean
    Choices:
  • no
  • yes ←
If set to no, the SSL certificates will not be validated.
This should only set to False used on personally controlled sites using self-signed certificates.
vserver
- / required
The name of the vserver to use.

Notes

Note

  • The modules prefixed with na\_ontap are built to support the ONTAP storage platform.

Examples

- name: Create LUN
  na_ontap_lun:
    state: present
    name: ansibleLUN
    flexvol_name: ansibleVolume
    vserver: ansibleVServer
    size: 5
    size_unit: mb
    ostype: linux
    space_reserve: True
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Resize LUN
  na_ontap_lun:
    state: present
    name: ansibleLUN
    force_resize: True
    flexvol_name: ansibleVolume
    vserver: ansibleVServer
    size: 5
    size_unit: gb
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

Status

Authors

Hint

If you notice any issues in this documentation, you can edit this document to improve it.