ovirt_storage_domain – Module to manage storage domains in oVirt/RHV
New in version 2.3.
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.3.0
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
auth dictionary / required | Dictionary with values needed to create HTTP/HTTPS connection to oVirt: | ||
ca_file string | A PEM file containing the trusted CA certificates. The certificate presented by the server will be verified using these CA certificates. If ca_file parameter is not set, system wide CA certificate store is used.Default value is set by OVIRT_CAFILE environment variable. | ||
headers dictionary | Dictionary of HTTP headers to be added to each API call. | ||
hostname string | A string containing the hostname of the server, usually something like `server.example.com`. Default value is set by OVIRT_HOSTNAME environment variable.Either url or hostname is required. | ||
insecure boolean |
| A boolean flag that indicates if the server TLS certificate and host name should be checked. | |
kerberos boolean |
| A boolean flag indicating if Kerberos authentication should be used instead of the default basic authentication. | |
password string / required | The password of the user. Default value is set by OVIRT_PASSWORD environment variable. | ||
token string | Token to be used instead of login with username/password. Default value is set by OVIRT_TOKEN environment variable. | ||
url string | A string containing the API URL of the server, usually something like `https://server.example.com/ovirt-engine/api`. Default value is set by OVIRT_URL environment variable.Either url or hostname is required. | ||
username string / required | The name of the user, something like admin@internal. Default value is set by OVIRT_USERNAME environment variable. | ||
backup boolean added in 2.5 |
| Boolean flag which indicates whether the storage domain is configured as backup or not. | |
comment - | Comment of the storage domain. | ||
critical_space_action_blocker - added in 2.5 | Indicates the minimal free space the storage domain should contain in percentages. | ||
data_center - | 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 - | Description of the storage domain. | ||
destroy boolean |
| Logical remove of the storage domain. If true retains the storage domain's data for import. This parameter is relevant only when state is absent. | |
discard_after_delete boolean added in 2.5 |
| If True storage domain blocks will be discarded upon deletion. Enabled by default. This parameter is relevant only for block based storage domains. | |
domain_function - |
| Function of the storage domain. This parameter isn't idempotent, it's not possible to change domain function of storage domain. aliases: type | |
fcp - | Dictionary with values for fibre channel storage type: Note that these parameters are not idempotent. | ||
lun_id - | LUN id. | ||
override_luns boolean |
| If True FCP storage domain LUNs will be overridden before adding. | |
fetch_nested boolean added in 2.3 |
| 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 nested_attributes . | |
format boolean |
| If True storage domain will be formatted after removing it from oVirt/RHV. This parameter is relevant only when state is absent. | |
glusterfs - | Dictionary with values for GlusterFS storage type: Note that these parameters are not idempotent. | ||
address - | Address of the Gluster server. E.g.: myserver.mydomain.com | ||
mount_options - | Option which will be passed when mounting storage. | ||
path - | Path of the mount point. E.g.: /path/to/my/data | ||
host - | Host to be used to mount storage. | ||
id - added in 2.4 | Id of the storage domain to be imported. | ||
iscsi - | Dictionary with values for iSCSI storage type: Note that these parameters are not idempotent. | ||
address - | Address of the iSCSI storage server. | ||
lun_id - | LUN id(s). | ||
override_luns boolean |
| If True ISCSI storage domain luns will be overridden before adding. | |
password - | A CHAP password for logging into a target. | ||
port - | Port of the iSCSI storage server. | ||
target - | The target IQN for the storage device. | ||
target_lun_map - added in 2.5 | List of dictionary containing targets and LUNs. | ||
username - | A CHAP user name for logging into a target. | ||
localfs - added in 2.4 | Dictionary with values for localfs storage type: Note that these parameters are not idempotent. | ||
path - | Path of the mount point. E.g.: /path/to/my/data | ||
name - | Name of the storage domain to manage. (Not required when state is imported) | ||
nested_attributes list added in 2.3 | Specifies list of the attributes which should be fetched from the API. This parameter apply only when fetch_nested is true. | ||
nfs - | Dictionary with values for NFS storage type: Note that these parameters are not idempotent. | ||
address - | Address of the NFS server. E.g.: myserver.mydomain.com | ||
mount_options - | Option which will be passed when mounting storage. | ||
path - | Path of the mount point. E.g.: /path/to/my/data | ||
retrans - | The number of times to retry a request before attempting further recovery actions. Range 0 to 65535. | ||
timeout - | The time in tenths of a second to wait for a response before retrying NFS requests. Range 0 to 65535. | ||
version - | NFS version. One of: auto, v3, v4 or v4_1. | ||
poll_interval integer | Default: 3 | Number of the seconds the module waits until another poll request on entity status is sent. | |
posixfs - | Dictionary with values for PosixFS storage type: Note that these parameters are not idempotent. | ||
mount_options - | Option which will be passed when mounting storage. | ||
path - | Path of the mount point. E.g.: /path/to/my/data | ||
vfs_type - | Virtual File System type. | ||
state - |
| 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 wait is (true), we don't wait for update. | |
timeout integer | Default: 180 | The amount of time in seconds the module should wait for the instance to get into desired state. | |
wait boolean |
| yes if the module should wait for the entity to get into desired state. | |
warning_low_space - added in 2.5 | Indicates the minimum percentage of a free space in a storage domain to present a warning. | ||
wipe_after_delete boolean added in 2.5 |
| Boolean flag which indicates whether the storage domain should wipe the data after delete. |
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.3.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_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_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 localfs storage domain - ovirt_storage_domain: name: data_localfs host: myhost data_center: mydatacenter localfs: path: /path/to/data # Add data iSCSI storage domain: - 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_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_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_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_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_storage_domain: state: imported name: data_fcp host: myhost data_center: mydatacenter fcp: {} # Update OVF_STORE: - ovirt_storage_domain: state: update_ovf_store name: domain # Create ISO NFS storage domain - ovirt_storage_domain: name: myiso domain_function: iso host: myhost data_center: mydatacenter nfs: address: 10.34.63.199 path: /path/iso # Remove storage domain - 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 | Returned | Description |
---|---|---|
id string | On success if storage domain is found. | ID of the storage domain which is managed Sample: 7de90f31-222c-436c-a1ca-7e655bd5b60c |
storage_domain dictionary | On success if storage domain is found. | 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. |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Ondra Machacek (@machacekondra)
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.8/modules/ovirt_storage_domain_module.html