rhevm – Автоматизация RHEV/oVirt
Новая версия 2.2.
Обзор
- Этот модуль поддерживает только oVirt/RHEV версии 3. Более новый модуль ovirt_vm поддерживает oVirt/RHV версии 4.
- Позволяет создавать/удалять/обновлять или управлять питанием виртуальных машин на платформе RHEV/oVirt.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ovirtsdk
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| boot_order - | По умолчанию: ["network", "hd"] | Этот параметр использует сложные аргументы и представляет собой список элементов, определяющих порядок загрузки. |
| cd_drive - | Диск CD, который необходимо смонтировать на виртуальную машину при state = 'CD'. | |
| cluster - | Кластер rhev/oVirt, в котором должна быть запущена виртуальная машина. | |
| cpu_share - | По умолчанию: "0" | Этот параметр используется для настройки распределения ресурсов ЦП. |
| datacenter - | По умолчанию: "Default" | Центр обработки данных rhev/oVirt, в котором должна быть запущена виртуальная машина. |
| del_prot boolean |
| Этот параметр устанавливает флажок защиты от удаления. |
| disks - | Этот параметр использует сложные аргументы и представляет собой список дисков с параметрами name, size и domain. | |
| ifaces - | Этот параметр использует сложные аргументы и представляет собой список интерфейсов с параметрами name и vlan. Псевдонимы: nics, interfaces | |
| image - | Шаблон, который следует использовать для виртуальной машины. | |
| insecure_api boolean |
| Логический переключатель для настройки безопасного или небезопасного подключения к серверу. |
| mempol - | По умолчанию: "1" | Минимальный объем памяти, который необходимо зарезервировать для этой системы. |
| name - | Имя виртуальной машины. | |
| osver - | По умолчанию: "rhel_6x64" | Параметр операционной системы в RHEV/oVirt. |
| port - | По умолчанию: "443" | Порт, по которому доступен API. |
| server - | По умолчанию: "127.0.0.1" | Имя/IP вашего экземпляра RHEV-m/oVirt. |
| state - |
| Служит для создания/удаления/обновления или управления питанием вашей виртуальной машины. |
| timeout - | Таймаут, который вы хотите задать для действий по управлению питанием. При state = 'up'
При state = 'down'
При state = 'restarted'
| |
| type - |
| Для определения, является ли виртуальная машина сервером или рабочим столом. |
| user - | По умолчанию: "admin@internal" | Пользователь для аутентификации. |
| vm_ha boolean |
| Для обеспечения высокой доступности вашей виртуальной машины. |
| vmcpu - | По умолчанию: "2" | Количество ЦП, которые вы хотите использовать в вашей виртуальной машине. |
| vmhost - | Хост, на котором вы хотите запустить виртуальную машину. | |
| vmmem - | По умолчанию: "1" | Объем памяти, которую вы хотите использовать для виртуальной машины (в ГБ). |
Примеры
# basic get info from VM
- rhevm:
name: "demo"
user: "{{ rhev.admin.name }}"
password: "{{ rhev.admin.pass }}"
server: "rhevm01"
state: "info"
# 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"
# power management
- rhevm:
name: "uptime_server"
user: "{{ rhev.admin.name }}"
password: "{{ rhev.admin.pass }}"
server: "rhevm01"
cluster: "RH"
state: "down"
image: "centos7_x64"
# 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"
# 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'
# 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'
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| vm словарь | всегда | Возвращает все переменные и результаты выполнения виртуальных машин. Пример: { "boot_order": [ "hd", "network" ], "changed": true, "changes": [ "Защита от удаления" ], "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": "Управление" }, { "name": "eth1", "vlan": "Внутренний" }, { "name": "eth2", "vlan": "Внешний" } ], "image": false, "mempol": "0", "msg": [ "Виртуальная машина существует", "cpu_share уже был установлен в 0", "Высокая доступность виртуальной машины уже была установлена в True", "Порядок загрузки уже был установлен", "Защита от удаления виртуальной машины установлена в True", "Диск web2_Disk0_OS уже существует", "Хост запуска виртуальной машины уже был установлен в host416" ], "name": "web2", "type": "server", "uuid": "4ba5a1be-e60b-4368-9533-920f156c817b", "vm_ha": true, "vmcpu": "4", "vmhost": "host416", "vmmem": "16" } |
Статус
- Гарантия обратной совместимости интерфейса этого модуля не предоставляется. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Timothy Vandenbrande (@TimothyVandenbrande)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать его, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/rhevm_module.html