ansible.builtin.rhevm (v2.4.2.0-1) — 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.4.2.0.post1

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"
      cluster: "centos"
  • 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.
    required: false

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

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

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

image:
    default: null
    description:
    - The template to use for the VM.
    required: false

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

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

vm_ha:
    default: true
    description:
    - To make your VM High Available.
    required: false

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

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

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

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

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

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

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

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

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

del_prot:
    default: true
    description:
    - This option sets the delete protection checkbox.
    required: false

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

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

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

insecure_api:
    default: false
    description:
    - A boolean switch to make a secure or insecure connection to the server.
    required: false

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