ovirt.ovirt.ovirt_qos module – Module to manage QoS entries in ovirt
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_qos
.
Synopsis
Module to manage QoS entries in ovirt.
Doesn’t support updating a QoS that exists
Only works with storage QoS entries atm
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 |
|
The maximum processing capability in %. Used to configure computing resources. |
|
Name of the data center where the QoS entry should be created. |
|
Description of the QoS. |
|
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:
|
|
ID of the QoS to manage. Either |
|
The desired average inbound bit rate in Mbps (Megabits per sec). Used to configure virtual machines networks. If defined, See link:https://libvirt.org/formatnetwork.html#elementQoS[Libvirt-QOS] for further details. |
|
The amount of data that can be delivered in a single burst, in MB. Used to configure virtual machine networks. If defined, See link:https://libvirt.org/formatnetwork.html#elementQoS[Libvirt-QOS] for further details. |
|
The maximum inbound rate in Mbps (Megabits per sec). Used to configure virtual machines networks. If defined, See link:https://libvirt.org/formatnetwork.html#elementQoS[Libvirt-QOS] for further details. |
|
The max number of read/write iops. If passed you can’t pass a value for If no value is given it will default to the HE value, assuming |
|
The max number of read/write throughput. If passed you can’t pass a value for If no value is given it will default to the HE value, assuming |
|
Name of QoS to manage. Either |
|
Specifies list of the attributes which should be fetched from the API. This parameter apply only when |
|
The desired average outbound bit rate in Mbps (Megabits per sec). Used to configure virtual machines networks. If defined, See link:https://libvirt.org/formatnetwork.html#elementQoS[Libvirt-QOS] for further details. |
|
Weighted share. Used to configure host networks. Signifies how much of the logical link’s capacity a specific network should be allocated, relative to the other networks attached to the same logical link. The exact share depends on the sum of shares of all networks on that link. By default this is a number in the range 1-100. |
|
The committed rate in Mbps (Megabits per sec). Used to configure host networks. The minimum bandwidth required by a network. The committed rate requested is not guaranteed and will vary depending on the network infrastructure and the committed rate requested by other networks on the same logical link. |
|
The maximum bandwidth to be used by a network in Mbps (Megabits per sec). Used to configure host networks. If |
|
The amount of data that can be sent in a single burst, in MB. Used to configure virtual machine networks. If defined, See link:https://libvirt.org/formatnetwork.html#elementQoS[Libvirt-QOS] for further details. |
|
The maximum outbound rate in Mbps (Megabits per sec). Used to configure virtual machines networks. If defined, See link:https://libvirt.org/formatnetwork.html#elementQoS[Libvirt-QOS] for further details. |
|
Number of the seconds the module waits until another poll request on entity status is sent. Default: |
|
The max number of read iops. If passed you can’t pass a value for If no value is given it will default to the HE value, assuming |
|
The max number of read throughput. If passed you can’t pass a value for If no value is given it will default to the HE value, assuming |
|
Should the QoS be present/absent. Choices:
|
|
The amount of time in seconds the module should wait for the instance to get into desired state. Default: |
|
The type of QoS. Choices:
|
|
Choices:
|
|
The max number of write iops. If passed you can’t pass a value for If no value is given it will default to the HE value, assuming |
|
The max number of write throughput. If passed you can’t pass a value for If no value is given it will default to the HE value, assuming |
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
- name: Create a new storage QoS with default values for max_iops and max_throughput
ovirt.ovirt.ovirt_qos:
auth: "{{ ovirt_auth }}"
data_center: "Default"
name: "test_qos_01"
state: "present"
type: "storage"
- name: Create a new storage QoS with default values for max_iops and read_throughput but 100 for write throughput
ovirt.ovirt.ovirt_qos:
auth: "{{ ovirt_auth }}"
data_center: "Default"
name: "test_qos_01"
state: "present"
type: "storage"
write_throughput: 100
- name: Create a new storage QoS with default values for write_iops and max_throughput but 100 for read iops
ovirt.ovirt.ovirt_qos:
auth: "{{ ovirt_auth }}"
data_center: "Default"
name: "test_qos_01"
state: "present"
type: "storage"
read_iops: 100
- name: Create a new storage QoS with 100 max_iops and 200 max_throughput
ovirt.ovirt.ovirt_qos:
auth: "{{ ovirt_auth }}"
data_center: "Default"
name: "test_qos_01"
state: "present"
type: "storage"
max_iops: 100
max_throughput: 100
- name: Remove a storage QoS
ovirt.ovirt.ovirt_qos:
auth: "{{ ovirt_auth }}"
data_center: "Default"
name: "test_qos_01"
state: "absent"
type: "storage"
- name: Add a network QoS
ovirt.ovirt.ovirt_qos:
auth: "{{ ovirt_auth }}"
name: "myqos"
data_center: "Default"
state: "present"
type: "network"
inbound_average: 10
inbound_peak: 10
inbound_burst: 10
outbound_average: 10
outbound_peak: 10
outbound_burst: 10
- name: Add a hostnetwork QoS
ovirt.ovirt.ovirt_qos:
auth: "{{ ovirt_auth }}"
name: "myqos"
data_center: "Default"
state: "present"
type: "hostnetwork"
outbound_average_linkshare: 10
outbound_average_upperlimit: 100
outbound_average_realtime: 50
- name: Add a hostnetwork QoS
ovirt.ovirt.ovirt_qos:
auth: "{{ ovirt_auth }}"
name: "myqos"
data_center: "Default"
state: "present"
type: "cpu"
cpu_limit: 10
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
ID of the managed QoS Returned: On success if QoS is found. Sample: |
|
Dictionary of all the QoS attributes. QoS attributes can be found on your ovirt instance at following url: http://ovirt.github.io/ovirt-engine-api-model/master/#types/qos. Returned: On success if QoS is found. |