ansible.builtin.rhevm (v2.6.0) — module

RHEV/oVirt automation

| "added in version" 2.2 of ansible.builtin"

Authors: Timothy Vandenbrande

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.6.0

Description

This module only supports oVirt/RHEV version 3. A newer module M(ovirt_vms) supports oVirt/RHV version 4.

Allows you to create/remove/update or powermanage virtual machines on a RHEV/oVirt platform.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# basic get info from VM
  - rhevm:
      name: "demo"
      user: "{{ rhev.admin.name }}"
      password: "{{ rhev.admin.pass }}"
      server: "rhevm01"
      state: "info"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# basic create example from image
  - rhevm:
      name: "demo"
      user: "{{ rhev.admin.name }}"
      password: "{{ rhev.admin.pass }}"
      server: "rhevm01"
      state: "present"
      image: "centos7_x64"
      cluster: "centos"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# power management
  - rhevm:
      name: "uptime_server"
      user: "{{ rhev.admin.name }}"
      password: "{{ rhev.admin.pass }}"
      server: "rhevm01"
      cluster: "RH"
      state: "down"
      image: "centos7_x64"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# multi disk, multi nic create example
  - rhevm:
      name: "server007"
      user: "{{ rhev.admin.name }}"
      password: "{{ rhev.admin.pass }}"
      server: "rhevm01"
      cluster: "RH"
      state: "present"
      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"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# add a CD to the disk cd_drive
  - rhevm:
      name: 'server007'
      user: "{{ rhev.admin.name }}"
      password: "{{ rhev.admin.pass }}"
      state: 'cd'
      cd_drive: 'rhev-tools-setup.iso'
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# new host deployment + host network configuration
  - rhevm:
      name: "ovirt_node007"
      password: "{{ rhevm.admin.pass }}"
      type: "host"
      state: present
      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: True
        - 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'

Inputs

    
name:
    description:
    - The name of the VM.

port:
    default: '443'
    description:
    - The port on which the API is reacheable.

type:
    choices:
    - server
    - desktop
    - host
    default: server
    description:
    - To define if the VM is a server or desktop.

user:
    default: admin@internal
    description:
    - The user to authenticate with.

disks:
    description:
    - This option uses complex arguments and is a list of disks with the options name,
      size and domain.

image:
    description:
    - The template to use for the VM.

osver:
    default: rhel_6x64
    description:
    - The operationsystem option in RHEV/oVirt.

state:
    choices:
    - ping
    - present
    - absent
    - up
    - down
    - restarted
    - cd
    - info
    default: present
    description:
    - This serves to create/remove/update or powermanage your VM.

vm_ha:
    default: 'yes'
    description:
    - To make your VM High Available.
    type: bool

vmcpu:
    default: '2'
    description:
    - The number of CPUs you want in your VM.

vmmem:
    default: '1'
    description:
    - The amount of memory you want your VM to use (in GB).

ifaces:
    aliases:
    - nics
    - interfaces
    description:
    - This option uses complex arguments and is a list of interfaces with the options
      name and vlan.

mempol:
    default: '1'
    description:
    - The minimum amount of memory you wish to reserve for this system.

server:
    default: 127.0.0.1
    description:
    - The name/ip of your RHEV-m/oVirt instance.

vmhost:
    description:
    - The host you wish your VM to run on.

cluster:
    description:
    - The rhev/ovirt cluster in which you want you VM to start.

timeout:
    description:
    - The timeout you wish to define for power actions.
    - When I(state = 'up')
    - When I(state = 'down')
    - When I(state = 'restarted')

cd_drive:
    description:
    - The CD you wish to have mounted on the VM when I(state = 'CD').

del_prot:
    default: true
    description:
    - This option sets the delete protection checkbox.
    type: bool

cpu_share:
    default: '0'
    description:
    - This parameter is used to configure the cpu share.

boot_order:
    default:
    - network
    - hd
    description:
    - This option uses complex arguments and is a list of items that specify the bootorder.

datacenter:
    default: Default
    description:
    - The rhev/ovirt datacenter in which you want you VM to start.

insecure_api:
    default: 'no'
    description:
    - A boolean switch to make a secure or insecure connection to the server.
    type: bool

Outputs

vm:
  description: Returns all of the VMs variables and execution.
  returned: always
  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" }'
  type: dict