community.general.rhevm – RHEV/oVirt automation
Note
This plugin is part of the community.general collection (version 3.8.1).
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 community.general
.
To use it in a playbook, specify: community.general.rhevm
.
Synopsis
- This module only supports oVirt/RHEV version 3.
- A newer module ovirt.ovirt.ovirt_vm supports oVirt/RHV version 4.
- Allows you to create/remove/update or powermanage virtual machines on a RHEV/oVirt platform.
Requirements
The below requirements are needed on the host that executes this module.
- ovirtsdk
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
boot_order list / elements=string | Default: ["hd", "network"] | This option uses complex arguments and is a list of items that specify the bootorder. |
cd_drive string | The CD you wish to have mounted on the VM when state = 'CD'. | |
cluster string | The RHEV/oVirt cluster in which you want you VM to start. | |
cpu_share integer | Default: 0 | This parameter is used to configure the CPU share. |
datacenter string | Default: "Default" | The RHEV/oVirt datacenter in which you want you VM to start. |
del_prot boolean |
| This option sets the delete protection checkbox. |
disks list / elements=string | This option uses complex arguments and is a list of disks with the options name, size and domain. | |
ifaces list / elements=string | This option uses complex arguments and is a list of interfaces with the options name and vlan. aliases: interfaces, nics | |
image string | The template to use for the VM. | |
insecure_api boolean |
| A boolean switch to make a secure or insecure connection to the server. |
mempol integer | Default: 1 | The minimum amount of memory you wish to reserve for this system. |
name string | The name of the VM. | |
osver string | Default: "rhel_6x64" | The operating system option in RHEV/oVirt. |
password string / required | The password for user authentication. | |
port integer | Default: 443 | The port on which the API is reachable. |
server string | Default: "127.0.0.1" | The name/IP of your RHEV-m/oVirt instance. |
state string |
| This serves to create/remove/update or powermanage your VM. |
timeout integer | The timeout you wish to define for power actions. When state = 'up'. When state = 'down'. When state = 'restarted'. | |
type string |
| To define if the VM is a server or desktop. |
user string | Default: "admin@internal" | The user to authenticate with. |
vm_ha boolean |
| To make your VM High Available. |
vmcpu integer | Default: 2 | The number of CPUs you want in your VM. |
vmhost string | The host you wish your VM to run on. | |
vmmem integer | Default: 1 | The amount of memory you want your VM to use (in GB). |
Examples
- name: Basic get info from VM community.general.rhevm: server: rhevm01 user: '{{ rhev.admin.name }}' password: '{{ rhev.admin.pass }}' name: demo state: info - name: Basic create example from image community.general.rhevm: server: rhevm01 user: '{{ rhev.admin.name }}' password: '{{ rhev.admin.pass }}' name: demo cluster: centos image: centos7_x64 state: present - name: Power management community.general.rhevm: server: rhevm01 user: '{{ rhev.admin.name }}' password: '{{ rhev.admin.pass }}' cluster: RH name: uptime_server image: centos7_x64 state: down - name: Multi disk, multi nic create example community.general.rhevm: server: rhevm01 user: '{{ rhev.admin.name }}' password: '{{ rhev.admin.pass }}' cluster: RH name: server007 type: server vmcpu: 4 vmmem: 2 ifaces: - name: eth0 vlan: vlan2202 - name: eth1 vlan: vlan36 - name: eth2 vlan: vlan38 - name: eth3 vlan: vlan2202 disks: - name: root size: 10 domain: ssd-san - name: swap size: 10 domain: 15kiscsi-san - name: opt size: 10 domain: 15kiscsi-san - name: var size: 10 domain: 10kiscsi-san - name: home size: 10 domain: sata-san boot_order: - network - hd state: present - name: Add a CD to the disk cd_drive community.general.rhevm: user: '{{ rhev.admin.name }}' password: '{{ rhev.admin.pass }}' name: server007 cd_drive: rhev-tools-setup.iso state: cd - name: New host deployment + host network configuration community.general.rhevm: password: '{{ rhevm.admin.pass }}' name: ovirt_node007 type: host cluster: rhevm01 ifaces: - name: em1 - name: em2 - name: p3p1 ip: 172.31.224.200 netmask: 255.255.254.0 - name: p3p2 ip: 172.31.225.200 netmask: 255.255.254.0 - name: bond0 bond: - em1 - em2 network: rhevm ip: 172.31.222.200 netmask: 255.255.255.0 management: yes - name: bond0.36 network: vlan36 ip: 10.2.36.200 netmask: 255.255.254.0 gateway: 10.2.36.254 - name: bond0.2202 network: vlan2202 - name: bond0.38 network: vlan38 state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
vm dictionary | always | Returns all of the VMs variables and execution. Sample: { "boot_order": [ "hd", "network" ], "changed": true, "changes": [ "Delete Protection" ], "cluster": "C1", "cpu_share": "0", "created": false, "datacenter": "Default", "del_prot": true, "disks": [ { "domain": "ssd-san", "name": "OS", "size": 40 } ], "eth0": "00:00:5E:00:53:00", "eth1": "00:00:5E:00:53:01", "eth2": "00:00:5E:00:53:02", "exists": true, "failed": false, "ifaces": [ { "name": "eth0", "vlan": "Management" }, { "name": "eth1", "vlan": "Internal" }, { "name": "eth2", "vlan": "External" } ], "image": false, "mempol": "0", "msg": [ "VM exists", "cpu_share was already set to 0", "VM high availability was already set to True", "The boot order has already been set", "VM delete protection has been set to True", "Disk web2_Disk0_OS already exists", "The VM starting host was already set to host416" ], "name": "web2", "type": "server", "uuid": "4ba5a1be-e60b-4368-9533-920f156c817b", "vm_ha": true, "vmcpu": "4", "vmhost": "host416", "vmmem": "16" } |
Authors
- Timothy Vandenbrande (@TimothyVandenbrande)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/rhevm_module.html