vmware_host_datastore - Manage a datastore on ESXi host
New in version 2.5.
Synopsis
- This module can be used to mount/umount datastore on ESXi host.
- This module only support NFS/VMFS type of datastores.
- For VMFS datastore, available device must already be connected on ESXi host.
- All parameters and VMware object names are case sensitive.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
- PyVmomi
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| datacenter_name required | Name of the datacenter to add the datastore. | |
| datastore_name required | Name of the datastore to add/remove. | |
| datastore_type required |
| Type of the datastore to configure (nfs/vmfs). |
| esxi_hostname required | ESXi hostname to manage the datastore. | |
| hostname str | The hostname or IP address of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_HOST will be used instead.Environment variable support added in version 2.6. | |
| nfs_path | Resource path on NFS host. Required if datastore type is set to nfs and state is set to present, else unused. | |
| nfs_ro bool |
| ReadOnly or ReadWrite mount. Unused if datastore type is not set to nfs and state is not set to present. |
| nfs_server | NFS host serving nfs datastore. Required if datastore type is set to nfs and state is set to present, else unused. | |
| password str | The password of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_PASSWORD will be used instead.Environment variable support added in version 2.6. aliases: pass, pwd | |
| port int (added in 2.5) | Default: 443 | The port number of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_PORT will be used instead.Environment variable support added in version 2.6. |
| state |
| present: Mount datastore on host if datastore is absent else do nothing. absent: Umount datastore if datastore is present else do nothing. |
| username str | The username of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_USER will be used instead.Environment variable support added in version 2.6. aliases: admin, user | |
| validate_certs bool |
| Allows connection when SSL certificates are not valid. Set to false when certificates are not trusted.If the value is not specified in the task, the value of environment variable VMWARE_VALIDATE_CERTS will be used instead.Environment variable support added in version 2.6. If set to yes, please make sure Python >= 2.7.9 is installed on the given machine. |
| vmfs_device_name | Name of the device to be used as VMFS datastore. Required for VMFS datastore type and state is set to present, else unused. | |
| vmfs_version | VMFS version to use for datastore creation. Unused if datastore type is not set to vmfs and state is not set to present. |
Notes
Note
- Tested on vSphere 6.0 and 6.5
Examples
- name: Mount VMFS datastores to ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_user }}'
password: '{{ vcenter_pass }}'
datacenter_name: '{{ datacenter }}'
datastore_name: '{{ item.name }}'
datastore_type: '{{ item.type }}'
vmfs_device_name: 'naa.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
vmfs_version: 6
esxi_hostname: '{{ inventory_hostname }}'
state: present
delegate_to: localhost
- name: Mount NFS datastores to ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_user }}'
password: '{{ vcenter_pass }}'
datacenter_name: '{{ datacenter }}'
datastore_name: '{{ item.name }}'
datastore_type: '{{ item.type }}'
nfs_server: '{{ item.server }}'
nfs_path: '{{ item.path }}'
nfs_ro: no
esxi_hostname: '{{ inventory_hostname }}'
state: present
delegate_to: localhost
with_items:
- { 'name': 'NasDS_vol01', 'server': 'nas01', 'path': '/mnt/vol01', 'type': 'nfs'}
- { 'name': 'NasDS_vol02', 'server': 'nas01', 'path': '/mnt/vol02', 'type': 'nfs'}
- name: Remove/Umount Datastores from ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_user }}'
password: '{{ vcenter_pass }}'
datacenter_name: '{{ datacenter }}'
datastore_name: NasDS_vol01
esxi_hostname: '{{ inventory_hostname }}'
state: absent
delegate_to: localhost
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author
- Ludovic Rivallain (@lrivallain) <ludovic.rivallain@gmail.com>
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/vmware_host_datastore_module.html