ovirt.ovirt.ovirt_storage_domain module – Module to manage storage domains in oVirt/RHV
Note
This module is part of the ovirt.ovirt collection (version 3.2.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install ovirt.ovirt
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: ovirt.ovirt.ovirt_storage_domain
.
New in ovirt.ovirt 1.0.0
Synopsis
Module to manage storage domains in oVirt/RHV
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.7
ovirt-engine-sdk-python >= 4.4.0
Parameters
Parameter |
Comments |
---|---|
Dictionary with values needed to create HTTP/HTTPS connection to oVirt: |
|
A PEM file containing the trusted CA certificates. The certificate presented by the server will be verified using these CA certificates. If Default value is set by |
|
Flag indicating if compression is used for connection. Choices:
|
|
Dictionary of HTTP headers to be added to each API call. |
|
A string containing the hostname of the server, usually something like `server.example.com`. Default value is set by Either |
|
A boolean flag that indicates if the server TLS certificate and host name should be checked. Choices:
|
|
A boolean flag indicating if Kerberos authentication should be used instead of the default basic authentication. Choices:
|
|
The password of the user. Default value is set by |
|
Number of seconds to wait for response. |
|
Token to be used instead of login with username/password. Default value is set by |
|
A string containing the API URL of the server, usually something like `https://server.example.com/ovirt-engine/api`. Default value is set by Either |
|
The name of the user, something like admin@internal. Default value is set by |
|
Boolean flag which indicates whether the storage domain is configured as backup or not. Choices:
|
|
Comment of the storage domain. |
|
Indicates the minimal free space the storage domain should contain in percentages. |
|
Data center name where storage domain should be attached. This parameter isn’t idempotent, it’s not possible to change data center of storage domain. |
|
Description of the storage domain. |
|
Logical remove of the storage domain. If true retains the storage domain’s data for import. This parameter is relevant only when Choices:
|
|
If True storage domain blocks will be discarded upon deletion. Enabled by default. This parameter is relevant only for block based storage domains. Choices:
|
|
Function of the storage domain. This parameter isn’t idempotent, it’s not possible to change domain function of storage domain. Choices:
|
|
Dictionary with values for fibre channel storage type: Note that these parameters are not idempotent. |
|
LUN id. |
|
If True FCP storage domain LUNs will be overridden before adding. Choices:
|
|
If True the module will fetch additional data from the API. It will fetch IDs of the VMs disks, snapshots, etc. User can configure to fetch other attributes of the nested entities by specifying Choices:
|
|
If True storage domain will be formatted after removing it from oVirt/RHV. This parameter is relevant only when Choices:
|
|
Dictionary with values for GlusterFS storage type: Note that these parameters are not idempotent. |
|
Address of the Gluster server. E.g.: myserver.mydomain.com |
|
Option which will be passed when mounting storage. |
|
Path of the mount point. E.g.: /path/to/my/data |
|
Host to be used to mount storage. |
|
Id of the storage domain to be imported. |
|
Dictionary with values for iSCSI storage type: Note that these parameters are not idempotent. |
|
Address of the iSCSI storage server. |
|
LUN id(s). |
|
If True ISCSI storage domain luns will be overridden before adding. Choices:
|
|
A CHAP password for logging into a target. |
|
Port of the iSCSI storage server. |
|
The target IQN for the storage device. |
|
List of dictionary containing targets and LUNs. |
|
A CHAP user name for logging into a target. |
|
Dictionary with values for localfs storage type: Note that these parameters are not idempotent. |
|
Path of the mount point. E.g.: /path/to/my/data |
|
Dictionary with values for managed block storage type Note: available from ovirt 4.3 |
|
The options to be passed when creating a storage domain using a cinder driver. List of dictionary containing |
|
Parameters containing sensitive information, to be passed when creating a storage domain using a cinder driver. List of dictionary containing |
|
Name of the storage domain to manage. (Not required when state is imported) |
|
Specifies list of the attributes which should be fetched from the API. This parameter apply only when |
|
Dictionary with values for NFS storage type: Note that these parameters are not idempotent. |
|
Address of the NFS server. E.g.: myserver.mydomain.com |
|
Option which will be passed when mounting storage. |
|
Path of the mount point. E.g.: /path/to/my/data |
|
The number of times to retry a request before attempting further recovery actions. Range 0 to 65535. |
|
The time in tenths of a second to wait for a response before retrying NFS requests. Range 0 to 65535. |
|
NFS version. One of: auto, v3, v4 or v4_1. |
|
Number of the seconds the module waits until another poll request on entity status is sent. Default: |
|
Dictionary with values for PosixFS storage type: Note that these parameters are not idempotent. |
|
Option which will be passed when mounting storage. |
|
Path of the mount point. E.g.: /path/to/my/data |
|
Virtual File System type. |
|
Should the storage domain be present/absent/maintenance/unattached/imported/update_ovf_store imported is supported since version 2.4. update_ovf_store is supported since version 2.5, currently if Choices:
|
|
One of v1, v2, v3, v4, v5 - sets the storage format of the domain. |
|
The amount of time in seconds the module should wait for the instance to get into desired state. Default: |
|
Choices:
|
|
Indicates the minimum percentage of a free space in a storage domain to present a warning. |
|
Boolean flag which indicates whether the storage domain should wipe the data after delete. Choices:
|
Notes
Note
In order to use this module you have to install oVirt Python SDK. To ensure it’s installed with correct version you can create the following task: pip: name=ovirt-engine-sdk-python version=4.4.0
Examples
# Examples don't contain auth parameter for simplicity,
# look at ovirt_auth module to see how to reuse authentication:
# Add data NFS storage domain
- ovirt.ovirt.ovirt_storage_domain:
name: data_nfs
host: myhost
data_center: mydatacenter
nfs:
address: 10.34.63.199
path: /path/data
# Add data NFS storage domain with id for data center
- ovirt.ovirt.ovirt_storage_domain:
name: data_nfs
host: myhost
data_center: 11111
nfs:
address: 10.34.63.199
path: /path/data
mount_options: noexec,nosuid
# Add data NFS storage domain in an older format
# E.g. the following will work if the data center is in 4.2 level.
# Without this, you might get as error like:
# Cannot attach Storage. Storage Domain format V5 is illegal.
- ovirt.ovirt.ovirt_storage_domain:
name: data_nfs
host: myhost
data_center: mydatacenter
nfs:
address: 10.34.63.199
path: /path/data
storage_format: v4
# Add data localfs storage domain
- ovirt.ovirt.ovirt_storage_domain:
name: data_localfs
host: myhost
data_center: mydatacenter
localfs:
path: /path/to/data
# Add data iSCSI storage domain:
- ovirt.ovirt.ovirt_storage_domain:
name: data_iscsi
host: myhost
data_center: mydatacenter
iscsi:
target: iqn.2016-08-09.domain-01:nickname
lun_id:
- 1IET_000d0001
- 1IET_000d0002
address: 10.34.63.204
discard_after_delete: True
backup: False
critical_space_action_blocker: 5
warning_low_space: 10
# Since Ansible 2.5 you can specify multiple targets for storage domain,
# Add data iSCSI storage domain with multiple targets:
- ovirt.ovirt.ovirt_storage_domain:
name: data_iscsi
host: myhost
data_center: mydatacenter
iscsi:
target_lun_map:
- target: iqn.2016-08-09.domain-01:nickname
lun_id: 1IET_000d0001
- target: iqn.2016-08-09.domain-02:nickname
lun_id: 1IET_000d0002
address: 10.34.63.204
discard_after_delete: True
# Add data glusterfs storage domain
- ovirt.ovirt.ovirt_storage_domain:
name: glusterfs_1
host: myhost
data_center: mydatacenter
glusterfs:
address: 10.10.10.10
path: /path/data
# Create export NFS storage domain:
- ovirt.ovirt.ovirt_storage_domain:
name: myexportdomain
domain_function: export
host: myhost
data_center: mydatacenter
nfs:
address: 10.34.63.199
path: /path/export
wipe_after_delete: False
backup: True
critical_space_action_blocker: 2
warning_low_space: 5
# Import export NFS storage domain:
- ovirt.ovirt.ovirt_storage_domain:
state: imported
domain_function: export
host: myhost
data_center: mydatacenter
nfs:
address: 10.34.63.199
path: /path/export
# Import FCP storage domain:
- ovirt.ovirt.ovirt_storage_domain:
state: imported
name: data_fcp
host: myhost
data_center: mydatacenter
fcp: {}
# Update OVF_STORE:
- ovirt.ovirt.ovirt_storage_domain:
state: update_ovf_store
name: domain
# Create ISO NFS storage domain
- ovirt.ovirt.ovirt_storage_domain:
name: myiso
domain_function: iso
host: myhost
data_center: mydatacenter
nfs:
address: 10.34.63.199
path: /path/iso
# Create managed storage domain
# Available from ovirt 4.3 and ansible 2.9
- ovirt.ovirt.ovirt_storage_domain:
name: my_managed_domain
host: myhost
data_center: mydatacenter
managed_block_storage:
driver_options:
- name: rbd_pool
value: pool1
- name: rbd_user
value: admin
- name: volume_driver
value: cinder.volume.drivers.rbd.RBDDriver
- name: rbd_keyring_conf
value: /etc/ceph/keyring
driver_sensitive_options:
- name: secret_password
value: password
# Remove storage domain
- ovirt.ovirt.ovirt_storage_domain:
state: absent
name: mystorage_domain
format: true
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
ID of the storage domain which is managed Returned: On success if storage domain is found. Sample: |
|
Dictionary of all the storage domain attributes. Storage domain attributes can be found on your oVirt/RHV instance at following url: http://ovirt.github.io/ovirt-engine-api-model/master/#types/storage_domain. Returned: On success if storage domain is found. |