ovirt / ovirt.ovirt_collection / 1.0.2 / module / ovirt_vmpool Module to manage VM pools in oVirt/RHV | "added in version" 1.0.0 of ovirt.ovirt_collection" Authors: Ondra Machacek (@machacekondra), Martin Necas (@mnecas) preview | supported by communityovirt.ovirt_collection.ovirt_vmpool (1.0.2) — module
Install with ansible-galaxy collection install ovirt.ovirt_collection:==1.0.2
collections: - name: ovirt.ovirt_collection version: 1.0.2
Module to manage VM pools in oVirt/RHV.
# Examples don't contain auth parameter for simplicity, # look at ovirt_auth module to see how to reuse authentication: - name: Create VM pool from template ovirt_vmpool: cluster: mycluster name: myvmpool template: rhel7 vm_count: 2 prestarted: 2 vm_per_user: 1
- name: Remove vmpool, note that all VMs in pool will be stopped and removed ovirt_vmpool: state: absent name: myvmpool
- name: Change Pool Name ovirt_vmpool: id: 00000000-0000-0000-0000-000000000000 name: "new_pool_name"
- name: Create vm pool and override the pool values ovirt_vmpool: cluster: mycluster name: vmpool template: blank vm_count: 2 prestarted: 1 vm_per_user: 1 vm: memory: 4GiB memory_guaranteed: 4GiB memory_max: 10GiB comment: vncomment cloud_init: nic_boot_protocol: static nic_ip_address: 10.34.60.86 nic_netmask: 255.255.252.0 nic_gateway: 10.34.63.254 nic_name: eth1 nic_on_boot: true host_name: example.com custom_script: | write_files: - content: | Hello, world! path: /tmp/greeting.txt permissions: '0644' user_name: root root_password: super_password nics: - name: nicname interface: virtio profile_name: network
id: description: - ID of the vmpool to manage. vm: description: - For creating vm pool without editing template. - 'Note: You can use C(vm) only for creating vm pool.' suboptions: cloud_init: description: - Dictionary with values for Unix-like Virtual Machine initialization using cloud init. - C(host_name) - Hostname to be set to Virtual Machine when deployed. - C(timezone) - Timezone to be set to Virtual Machine when deployed. - C(user_name) - Username to be used to set password to Virtual Machine when deployed. - C(root_password) - Password to be set for user specified by C(user_name) parameter. - C(authorized_ssh_keys) - Use this SSH keys to login to Virtual Machine. - C(regenerate_ssh_keys) - If I(True) SSH keys will be regenerated on Virtual Machine. - C(custom_script) - Cloud-init script which will be executed on Virtual Machine when deployed. This is appended to the end of the cloud-init script generated by any other options. - C(dns_servers) - DNS servers to be configured on Virtual Machine. - C(dns_search) - DNS search domains to be configured on Virtual Machine. - C(nic_boot_protocol) - Set boot protocol of the network interface of Virtual Machine. Can be one of C(none), C(dhcp) or C(static). - C(nic_ip_address) - If boot protocol is static, set this IP address to network interface of Virtual Machine. - C(nic_netmask) - If boot protocol is static, set this netmask to network interface of Virtual Machine. - C(nic_gateway) - If boot protocol is static, set this gateway to network interface of Virtual Machine. - C(nic_name) - Set name to network interface of Virtual Machine. - C(nic_on_boot) - If I(True) network interface will be set to start on boot. comment: description: - Comment of the Virtual Machine. memory: description: - Amount of memory of the Virtual Machine. Prefix uses IEC 60027-2 standard (for example 1GiB, 1024MiB). - Default value is set by engine. memory_guaranteed: description: - Amount of minimal guaranteed memory of the Virtual Machine. Prefix uses IEC 60027-2 standard (for example 1GiB, 1024MiB). - C(memory_guaranteed) parameter can't be lower than C(memory) parameter. - Default value is set by engine. memory_max: description: - Upper bound of virtual machine memory up to which memory hot-plug can be performed. Prefix uses IEC 60027-2 standard (for example 1GiB, 1024MiB). - Default value is set by engine. nics: description: - List of NICs, which should be attached to Virtual Machine. NIC is described by following dictionary. - C(name) - Name of the NIC. - C(profile_name) - Profile name where NIC should be attached. - C(interface) - Type of the network interface. One of following I(virtio), I(e1000), I(rtl8139), default is I(virtio). - C(mac_address) - Custom MAC address of the network interface, by default it's obtained from MAC pool. - NOTE - This parameter is used only when C(state) is I(running) or I(present) and is able to only create NICs. - To manage NICs of the VM in more depth please use M(ovirt_nics) module instead. smartcard_enabled: description: - If I(true), use smart card authentication. type: bool sso: description: - I(True) enable Single Sign On by Guest Agent, I(False) to disable it. By default is chosen by oVirt/RHV engine. type: bool timezone: description: - Sets time zone offset of the guest hardware clock. - For example C(Etc/GMT) type: dict auth: description: - 'Dictionary with values needed to create HTTP/HTTPS connection to oVirt:' required: true suboptions: ca_file: description: - A PEM file containing the trusted CA certificates. - The certificate presented by the server will be verified using these CA certificates. - If C(ca_file) parameter is not set, system wide CA certificate store is used. - Default value is set by C(OVIRT_CAFILE) environment variable. type: str headers: description: - Dictionary of HTTP headers to be added to each API call. type: dict hostname: description: - A string containing the hostname of the server, usually something like `I(server.example.com)`. - Default value is set by C(OVIRT_HOSTNAME) environment variable. - Either C(url) or C(hostname) is required. type: str insecure: description: - A boolean flag that indicates if the server TLS certificate and host name should be checked. type: bool kerberos: description: - A boolean flag indicating if Kerberos authentication should be used instead of the default basic authentication. type: bool password: description: - The password of the user. - Default value is set by C(OVIRT_PASSWORD) environment variable. required: true type: str token: description: - Token to be used instead of login with username/password. - Default value is set by C(OVIRT_TOKEN) environment variable. type: str url: description: - A string containing the API URL of the server, usually something like `I(https://server.example.com/ovirt-engine/api)`. - Default value is set by C(OVIRT_URL) environment variable. - Either C(url) or C(hostname) is required. type: str username: description: - The name of the user, something like I(admin@internal). - Default value is set by C(OVIRT_USERNAME) environment variable. required: true type: str type: dict name: description: - Name of the VM pool to manage. required: true type: choices: - manual - automatic description: - Type of the VM pool. Either manual or automatic. - C(manual) - The administrator is responsible for explicitly returning the virtual machine to the pool. The virtual machine reverts to the original base image after the administrator returns it to the pool. - C(Automatic) - When the virtual machine is shut down, it automatically reverts to its base image and is returned to the virtual machine pool. - Default value is set by engine. wait: default: true description: - C(yes) if the module should wait for the entity to get into desired state. type: bool state: choices: - present - absent default: present description: - Should the VM pool be present/absent. - Note that when C(state) is I(absent) all VMs in VM pool are stopped and removed. cluster: description: - Name of the cluster, where VM pool should be created. comment: description: - Comment of the Virtual Machine pool. timeout: default: 180 description: - The amount of time in seconds the module should wait for the instance to get into desired state. type: int template: description: - Name of the template, which will be used to create VM pool. vm_count: description: - Number of VMs in the pool. - Default value is set by engine. prestarted: description: - Number of pre-started VMs defines the number of VMs in run state, that are waiting to be attached to Users. - Default value is set by engine. description: description: - Description of the VM pool. vm_per_user: description: - Maximum number of VMs a single user can attach to from this pool. - Default value is set by engine. fetch_nested: description: - If I(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 C(nested_attributes). type: bool poll_interval: default: 3 description: - Number of the seconds the module waits until another poll request on entity status is sent. type: int nested_attributes: description: - Specifies list of the attributes which should be fetched from the API. - This parameter apply only when C(fetch_nested) is I(true). type: list
id: description: ID of the VM pool which is managed returned: On success if VM pool is found. sample: 7de90f31-222c-436c-a1ca-7e655bd5b60c type: str vm_pool: description: 'Dictionary of all the VM pool attributes. VM pool attributes can be found on your oVirt/RHV instance at following url: http://ovirt.github.io/ovirt-engine-api-model/master/#types/vm_pool.' returned: On success if VM pool is found. type: dict