Spec-Zone.ru › Ansible 2.7

ovirt_vm – Модуль управления виртуальными машинами в oVirt/RHV

Новое в версии 2.2.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Этот модуль управляет полным жизненным циклом виртуальной машины (ВМ) в oVirt/RHV.
  • Поскольку ВМ может находиться во многих состояниях в oVirt/RHV, см. примечания, чтобы узнать, как обрабатываются состояния ВМ.

Псевдонимы: ovirt_vms

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 2.7
  • ovirt-engine-sdk-python >= 4.2.4

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
affinity_group_mappings
-
добавлен в 2.5
Отображение, сопоставляющее имя группы сродства между OVF виртуальной машины и целевой группой сродства, к которой эта виртуальная машина должна быть зарегистрирована. Актуально при регистрации state.
affinity_label_mappings
-
добавлен в 2.5
Отображение, сопоставляющее имя метки сродства между OVF виртуальной машины и целевой меткой, к которой эта виртуальная машина должна быть зарегистрирована. Актуально при регистрации state.
allow_partial_import
boolean
добавлен в 2.4
    Варианты:
  • нет
  • да
Логическое значение, указывающее, разрешить ли частичную регистрацию виртуальной машины при регистрации state.
auth
- / обязательно
Словарь со значениями, необходимыми для создания HTTP/HTTPS-соединения с oVirt:
username[обязательно] - Имя пользователя, например admin@internal. Значение по умолчанию устанавливается переменной среды OVIRT_USERNAME.
password[обязательно] - Пароль пользователя. Значение по умолчанию устанавливается переменной среды OVIRT_PASSWORD.
url - Строка, содержащая URL API сервера, обычно `https://server.example.com/ovirt-engine/api`. Значение по умолчанию устанавливается переменной среды OVIRT_URL. Требуется либо url, либо hostname.
hostname - Строка, содержащая имя хоста сервера, обычно `server.example.com`. Значение по умолчанию устанавливается переменной среды OVIRT_HOSTNAME. Требуется либо url, либо hostname.
token - Токен, используемый вместо входа с именем пользователя/паролем. Значение по умолчанию устанавливается переменной среды OVIRT_TOKEN.
insecure - Логический флаг, указывающий, следует ли проверять сертификат сервера TLS и имя хоста.
ca_file - Файл PEM, содержащий доверенные сертификаты CA. Представленный сервером сертификат будет проверен с использованием этих сертификатов CA. Если параметр `ca_file` не задан, используется системный хранилище сертификатов CA. Значение по умолчанию устанавливается переменной среды OVIRT_CAFILE.
kerberos - Логический флаг, указывающий, следует ли использовать аутентификацию Kerberos вместо стандартной аутентификации.
headers - Словарь HTTP-заголовков, которые необходимо добавить к каждому API-запросу.
ballooning_enabled
boolean
добавлен в 2.5
    Варианты:
  • нет
  • да
Если true, использовать балон памяти.
Баллон памяти — это виртуальное устройство гостя, которое может использоваться для динамического перераспределения/освобождения памяти хоста в зависимости от потребностей виртуальной машины. Это позволяет создавать состояния перераспределения памяти.
boot_devices
-
    Варианты:
  • cdrom
  • hd
  • network
Список устройств загрузки, которые должны использоваться для загрузки. Например, [ cdrom, hd ].
Значение по умолчанию устанавливается движком oVirt/RHV.
boot_menu
boolean
добавлен в 2.5
    Варианты:
  • нет
  • да
True — включает меню для выбора устройства загрузки, False — отключает его. По умолчанию выбирается движком oVirt/RHV.
cd_iso
-
ISO-файл из хранилища ISO-доменов, который необходимо подключить к виртуальной машине.
Если передать пустую строку, диск CD будет извлечён из виртуальной машины.
Если используется с state running или present и виртуальная машина запущена, диск CD будет подключен к виртуальной машине.
Если используется с state running или present и виртуальная машина выключена, диск CD будет подключен к виртуальной машине постоянно.
clone
boolean
    Варианты:
  • нет ←
  • да
Если да, то диски созданной виртуальной машины будут клонированы и независимы от шаблона.
Этот параметр используется только когда state running или present, и виртуальная машина не существовала ранее.
clone_permissions
boolean
    Варианты:
  • нет ←
  • да
Если да, то права шаблона (только прямые, не унаследованные) будут скопированы в созданную виртуальную машину.
Этот параметр используется только когда state running или present, и виртуальная машина не существовала ранее.
cloud_init
-
Словарь со значениями для инициализации виртуальной машины Unix-подобного типа с использованием cloud init.
host_name - Имя хоста, которое должно быть установлено для виртуальной машины при развертывании.
timezone - Часовой пояс, который должен быть установлен для виртуальной машины при развертывании.
user_name - Имя пользователя, которое будет использоваться для установки пароля виртуальной машины при развертывании.
root_password - Пароль, который будет установлен для пользователя, указанного параметром user_name.
authorized_ssh_keys - Используйте эти SSH-ключи для входа в виртуальную машину.
regenerate_ssh_keys - Если True, SSH-ключи будут пересозданы на виртуальной машине.
custom_script - Скрипт cloud-init, который будет выполнен на виртуальной машине при развертывании. Он добавляется в конец скрипта cloud-init, сгенерированного другими параметрами.
dns_servers - Серверы DNS, которые должны быть настроены на виртуальной машине.
dns_search - Домены поиска DNS, которые должны быть настроены на виртуальной машине.
nic_boot_protocol - Установите протокол загрузки сетевого интерфейса виртуальной машины. Может быть одним из none, dhcp или static.
nic_ip_address - Если протокол загрузки статический, установите этот IP-адрес для сетевого интерфейса виртуальной машины.
nic_netmask - Если протокол загрузки статический, установите эту маску подсети для сетевого интерфейса виртуальной машины.
nic_gateway - Если протокол загрузки статический, установите этот шлюз для сетевого интерфейса виртуальной машины.
nic_name - Установите имя сетевого интерфейса виртуальной машины.
nic_on_boot - Если True, сетевой интерфейс будет установлен на запуск при загрузке.
cloud_init_nics
-
добавлен в 2.3
Список словарей, представляющих сетевые интерфейсы, которые должны быть настроены cloud init.
Этот параметр используется, когда необходимо настроить больше сетевых интерфейсов через cloud init.
Если достаточно одного сетевого интерфейса, пользователь должен использовать параметры cloud_init nic_*. Параметры cloud_init nic_* объединяются с параметрами cloud_init_nics.
Словарь может содержать следующие значения.
nic_boot_protocol - Установите протокол загрузки сетевого интерфейса виртуальной машины. Может быть одним из none, dhcp или static.
nic_ip_address - Если протокол загрузки статический, установите этот IP-адрес для сетевого интерфейса виртуальной машины.
nic_netmask - Если протокол загрузки статический, установите эту маску подсети для сетевого интерфейса виртуальной машины.
nic_gateway - Если протокол загрузки статический, установите этот шлюз для сетевого интерфейса виртуальной машины.
nic_name - Установите имя сетевого интерфейса виртуальной машины.
nic_on_boot - Если True, сетевой интерфейс будет установлен на запуск при загрузке.
cloud_init_persist
boolean
добавлен в 2.5
    Варианты:
  • нет
  • да
Если true, параметры cloud_init или sysprep будут сохранены для виртуальной машины и она не будет запускаться как одноразовая.

псевдонимы: sysprep_persist
cluster
-
Имя кластера, в котором должна быть создана виртуальная машина.
Обязательно при создании виртуальной машины.
cluster_mappings
-
добавлен в 2.5
Отображение, сопоставляющее имя кластера между OVF виртуальной машины и целевым кластером, к которому эта виртуальная машина должна быть зарегистрирована. Актуально при регистрации state. Карта сопоставления кластеров описывается следующим словарем:
source_name: Имя исходного кластера.
dest_name: Имя целевого кластера.
comment
-
добавлен в 2.3
Комментарий к виртуальной машине.
END_OF_DOCUMENT_MARKER
cpu_cores
-
Количество виртуальных ядер процессора виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
cpu_mode
-
добавлено в 2.5
Режим процессора виртуальной машины. Может быть одним из следующих: host_passthrough, host_model или custom.
Для типа процессора host_passthrough необходимо установить placement_policy в значение pinned.
Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV.
cpu_pinning
-
добавлено в 2.5
Топология привязки процессора виртуальной машины к процессору хоста.
Топология привязки процессора — список словарей, которые могут содержать следующие значения:
cpu - Номер процессора хоста.
vcpu - Номер процессора виртуальной машины.
cpu_shares
-
Установить долю процессорного времени для этой виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
cpu_sockets
-
Количество сокетов виртуальных процессоров виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
cpu_threads
-
добавлено в 2.5
Количество сокетов виртуальных процессоров виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
custom_compatibility_version
-
добавлено в 2.7
Разрешает настроить виртуальную машину на собственную версию совместимости. Если 'custom_compatibility_version' установлено, это переопределяет версию совместимости кластера для данной виртуальной машины.
custom_properties
-
добавлено в 2.5
Свойства, передаваемые VDSM для настройки различных хуков.
Настраиваемые свойства — список словарей, которые могут содержать следующие значения:
name - Имя настраиваемого свойства. Например: hugepages, vhost, sap_agent и т. д.
regexp - Регулярное выражение для настраиваемого свойства.
value - Значение для настраиваемого свойства.
delete_protected
boolean
    Выбор:
  • no
  • yes
Если yes, виртуальная машина будет защищена от удаления.
Если no, виртуальная машина не будет защищена от удаления.
Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV.
description
-
добавлено в 2.3
Описание виртуальной машины.
disk_format
-
добавлено в 2.4
    Выбор:
  • cow ←
  • raw
Укажите формат диска.
Если используется формат cow, диск будет создан как разряженный, поэтому место будет выделено для тома по мере необходимости, что также известно как тонкое выделение.
Если используется формат raw, хранилище диска будет выделено сразу, что также известно как предварительное выделение.
Обратите внимание, что этот параметр не является идемпотентным, так как в настоящее время невозможно изменить формат диска через API.
Этот параметр учитывается только при указании template и storage domain.
disks
-
Список дисков, которые должны быть подключены к виртуальной машине. Диск описывается следующим словарем.
name - Имя диска. Требуется либо name, либо id.
id - Идентификатор диска. Требуется либо name, либо id.
interface - Интерфейс диска, либо virtio, либо IDE, по умолчанию — virtio.
bootable - True, если диск должен быть загрузочным, по умолчанию — нет.
activate - True, если диск должен быть активирован, по умолчанию — активирован.
ПРИМЕЧАНИЕ. Этот параметр используется только когда state — running или present и может только подключать диски. Чтобы более глубоко управлять дисками ВМ, используйте модуль ovirt_disks вместо этого.
domain_mappings
-
добавлено в 2.5
Маппинг, сопоставляющий доменное имя aaa между OVF ВМ и целевым доменным именем aaa, к которому ВМ должна быть зарегистрирована, актуально при регистрации state. Маппинг домена aaa описывается следующим словарем:
source_name: Имя исходного домена aaa.
dest_name: Имя целевого домена aaa.
fetch_nested
boolean
добавлено в 2.3
    Выбор:
  • no
  • yes
Если True, модуль извлечёт дополнительные данные из API.
Он извлечёт идентификаторы дисков ВМ, снимков и т. д. Пользователь может настроить извлечение других атрибутов вложенных сущностей, указав nested_attributes.
force
boolean
    Выбор:
  • no ←
  • yes
Для более подробного описания параметра force обратитесь к разделу Описание, он может по-разному работать в разных ситуациях.
graphical_console
-
добавлено в 2.5
Назначить графический консоль виртуальной машине.
Графическая консоль — словарь, который может содержать следующие значения:
headless_mode - Если true, отключить графическую консоль для данной виртуальной машины.
protocol - Графический протокол, список из spice, vnc или обоих.
high_availability
boolean
    Выбор:
  • no
  • yes
Если yes, виртуальная машина будет настроена на высокодоступность.
Если no, виртуальная машина не будет настроена на высокодоступность.
Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV.
high_availability_priority
-
добавлено в 2.5
Указывает приоритет виртуальной машины в очередях запуска и миграции. Виртуальные машины с более высоким приоритетом будут запускаться и мигрироваться перед виртуальными машинами с более низким приоритетом. Значение — целое число от 0 до 100. Чем выше значение, тем выше приоритет.
Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV.
host
-
Укажите хост, на котором должна выполняться виртуальная машина. По умолчанию хост выбирается планом задач двигателя.
Этот параметр используется только когда state — running или present.
host_devices
-
добавлено в 2.7
Single Root I/O Virtualization — технология, которая позволяет одному устройству экспонировать несколько конечных точек, которые могут быть переданы ВМ.
host_devices — список, содержащий словарь с именем и состоянием устройства.
id
-
Идентификатор виртуальной машины, которую нужно управлять.
initrd_path
-
добавлено в 2.3
Путь к начальному образам оперативной памяти, который будет использоваться с ядром, указанным параметром kernel_path.
Изображение образов оперативной памяти должно храниться либо в домене ISO, либо в хранилище хоста.
instance_type
-
добавлено в 2.3
Имя конфигурации аппаратного обеспечения виртуальной машины.
По умолчанию тип экземпляра не используется.
io_threads
-
добавлено в 2.5
Количество потоков ввода-вывода, используемых виртуальной машиной. 0 означает отключение потоков ввода-вывода.
END_OF_DOCUMENT_MARKER
kernel_params
-
added in 2.3
Параметры командной строки ядра (форматированные как строка), которые следует использовать с ядром, указанным параметром kernel_path.
kernel_path
-
added in 2.3
Путь к изображению ядра, используемому для загрузки виртуальной машины.
Изображение ядра должно храниться либо в домене ISO, либо в хранилище хоста.
kvm
-
added in 2.3
Словарь значений, используемых для подключения к kvm и импорта виртуальной машины в oVirt.
Словарь может содержать следующие значения.
name - Имя виртуальной машины KVM.
username - Имя пользователя для аутентификации в KVM.
password - Пароль для аутентификации в KVM.
url - URL, который должен быть передан инструменту virt-v2v для преобразования. Например, qemu:///system. Этот параметр является обязательным.
drivers_iso - Имя ISO, содержащего драйверы, которые могут быть использованы во время процесса преобразования virt-v2v.
sparse - Указывает политику выделения дисков для полученной виртуальной машины. true для разреженных, false для предварительно выделенных. Значение по умолчанию — true.
storage_domain - Указывает целевой домен хранилища для преобразованных дисков. Этот параметр является обязательным.
lease
-
added in 2.4
Имя домена хранилища, в котором находится аренда виртуальной машины.
ПРИМЕЧАНИЕ. Поддерживается начиная с oVirt 4.1.
lun_mappings
-
added in 2.5
Карта, которая сопоставляет LUN между OVF виртуальной машины и целевым LUN, которое должна содержать эта виртуальная машина. Актуально, когда state зарегистрирована. lun_mappings описывается следующим словарем: - logical_unit_id: Логический номер устройства для идентификации логического устройства, - logical_unit_port: Порт, используемый для подключения к диску LUN, - logical_unit_portal: Портал, используемый для подключения к диску LUN, - logical_unit_address: Адрес хоста блочного хранилища, - logical_unit_target: Спецификация iSCSI, расположенная на сервере iSCSI, - logical_unit_username: Имя пользователя, используемое для подключения к хосту блочного хранилища, - logical_unit_password: Пароль, используемый для подключения к хосту блочного хранилища, - storage_type: Тип хранилища, на котором находится LUN (iscsi или fcp)
memory
-
Объем памяти виртуальной машины. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB).
Значение по умолчанию устанавливается движком.
memory_guaranteed
-
Объем минимально гарантированной памяти виртуальной машины. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB).
memory_guaranteed параметр не может быть меньше memory параметра.
Значение по умолчанию устанавливается движком.
memory_max
-
added in 2.5
Верхний предел памяти виртуальной машины, до которого можно выполнять динамическое увеличение памяти. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB).
Значение по умолчанию устанавливается движком.
name
-
Имя виртуальной машины для управления.
Если виртуальная машина не существует, name требуется. В противном случае можно использовать id или name.
nested_attributes
-
added in 2.3
Указывает список атрибутов, которые должны быть извлечены из API.
Этот параметр применяется только при fetch_nested равно true.
nics
-
Список сетевых адаптеров, которые должны быть подключены к виртуальной машине. Сетевой адаптер описывается следующим словарем.
name - Имя сетевого адаптера.
profile_name - Имя профиля, к которому должен быть подключен сетевой адаптер.
interface - Тип сетевого интерфейса. Один из следующих: virtio, e1000, rtl8139, по умолчанию — virtio.
mac_address - Пользовательский MAC-адрес сетевого интерфейса, по умолчанию он берется из пула MAC-адресов.
ПРИМЕЧАНИЕ. Этот параметр используется только при state равно running или present и может только создавать сетевые адаптеры. Для более глубокого управления сетевыми адаптерами виртуальной машины используйте модуль ovirt_nics вместо этого.
numa_nodes
-
added in 2.6
Список узлов vNUMA для установки для этой виртуальной машины и привязки их к физическим узлам NUMA назначенного хоста.
Каждый узел vNUMA описывается следующим словарем:
index - Индекс этого узла NUMA (обязательно).
memory - Размер памяти узла NUMA в MiB (обязательно).
cores - список индексов ядер процессора виртуальной машины, которые должны быть включены в этот узел NUMA (обязательно).
numa_node_pins - список индексов физических узлов NUMA, к которым нужно привязать этот виртуальный узел NUMA.
numa_tune_mode
-
added in 2.6
    Choices:
  • interleave
  • preferred
  • strict
Устанавливает, как применяется распределение памяти для узлов NUMA этой виртуальной машины (актуально, если для этой виртуальной машины установлены узлы NUMA).
Может принимать одно из следующих значений: interleave, preferred или strict.
Если значение не передано, используется значение по умолчанию, установленное движком oVirt/RHV.
operating_system
-
Операционная система виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
Возможные значения: debian_7, freebsd, freebsdx64, other, other_linux, other_linux_ppc64, other_ppc64, rhel_3, rhel_4, rhel_4x64, rhel_5, rhel_5x64, rhel_6, rhel_6x64, rhel_6_ppc64, rhel_7x64, rhel_7_ppc64, sles_11, sles_11_ppc64, ubuntu_12_04, ubuntu_12_10, ubuntu_13_04, ubuntu_13_10, ubuntu_14_04, ubuntu_14_04_ppc64, windows_10, windows_10x64, windows_2003, windows_2003x64, windows_2008, windows_2008x64, windows_2008r2x64, windows_2008R2x64, windows_2012x64, windows_2012R2x64, windows_7, windows_7x64, windows_8, windows_8x64, windows_xp
placement_policy
-
added in 2.5
Настройка политики размещения виртуальной машины.
Политика размещения может принимать одно из следующих значений:
migratable - Разрешить ручную и автоматическую миграцию.
pinned - Не разрешать миграцию.
user_migratable - Разрешить только ручную миграцию.
Если значение не передано, используется значение по умолчанию, установленное движком oVirt/RHV.
poll_interval
-
По умолчанию:
3
Количество секунд, которое модуль ожидает до отправки следующего запроса о статусе сущности.
quota_id
-
added in 2.5
Идентификатор квоты виртуальной машины, который будет использоваться для диска. По умолчанию квота выбирается движком oVirt/RHV.
reassign_bad_macs
boolean
added in 2.5
    Choices:
  • no
  • yes
Булево значение, указывающее, нужно ли переназначать плохие MAC-адреса при регистрации state.
rng_device
-
added in 2.5
Генератор случайных чисел (RNG). Можно выбрать одно из следующих устройств: urandom, random или hwrng.
Для выбора hwrng необходимо предварительно включить его на кластере.
/dev/urandom используется для версии кластера ≥ 4.1, а /dev/random для версии кластера ≤ 4.0
role_mappings
-
added in 2.5
Карта, которая сопоставляет имя роли между OVF виртуальной машины и целевой ролью, к которой должна быть зарегистрирована эта виртуальная машина. Актуально, когда state зарегистрирована. Сопоставление ролей описывается следующим словарем:
source_name: Имя исходной роли.
dest_name: Имя целевой роли.
END_OF_DOCUMENT_MARKER
serial_console
boolean
added in 2.5
    Choices:
  • no
  • yes
True включает виртуальную консоль VirtIO, False — отключает её. По умолчанию выбирается движком oVirt/RHV.
serial_policy
-
added in 2.3
    Choices:
  • vm
  • host
  • custom
Укажите политику задания серийного номера для виртуальной машины.
Поддерживаются следующие варианты.
vm — устанавливает UUID виртуальной машины в качестве серийного номера.
host — устанавливает UUID хоста в качестве серийного номера виртуальной машины.
custom — позволяет указать произвольный серийный номер в serial_policy_value.
serial_policy_value
-
added in 2.3
Позволяет указать произвольный серийный номер.
Этот параметр используется только когда serial_policy равен custom.
smartcard_enabled
boolean
added in 2.5
    Choices:
  • no
  • yes
Если true, использовать аутентификацию по смарт-карте.
soundcard_enabled
boolean
added in 2.5
    Choices:
  • no
  • yes
Если true, звуковая карта добавляется к виртуальной машине.
sso
boolean
added in 2.5
    Choices:
  • no
  • yes
True — включить Single Sign On с помощью Guest Agent, False — отключить. По умолчанию выбирается движком oVirt/RHV.
state
-
    Choices:
  • absent
  • next_run
  • present ←
  • registered
  • running
  • stopped
  • suspended
Виртуальная машина должна быть запущена/остановлена/настоящая/отсутствующая/приостановленная/next_run/зарегистрированная. Если state равно registered, а имя незарегистрированной VM принадлежит уже зарегистрированной в движке VM в том же ЦОД, регистрация незарегистрированной шаблона не выполняется.
Состояние present создаст/обновит VM и не изменит её состояние, если оно уже существует.
Состояние running создаст/обновит VM и запустит её.
Состояние next_run обновит VM и, если у VM есть конфигурация next run, она будет перезагружена.
Пожалуйста, обратитесь к примечаниям для более подробного описания состояний.
registered поддерживается с версии 2.4.
stateless
boolean
    Choices:
  • no
  • yes
Если yes, виртуальная машина будет установлена как бессостояниевая.
Если no, виртуальная машина будет снята как бессостояниевая.
Если значение не передано, значение по умолчанию устанавливается движком oVirt/RHV.
storage_domain
-
added in 2.4
Имя хранилища, где должны быть созданы все диски шаблона.
Этот параметр учитывается только когда template предоставлен.
ВАЖНО - Этот параметр не идемпотентен, если VM существует, и вы указываете другой домен хранилища, диск не переместится.
sysprep
-
Словарь со значениями для инициализации Windows виртуальной машины с помощью sysprep.
host_name — Имя хоста, которое будет установлено для виртуальной машины при развертывании.
active_directory_ou — Организационная единица Active Directory, используемая для входа пользователя.
org_name — Имя организации, которое будет установлено для Windows виртуальной машины.
domain — Домен, который будет установлен для Windows виртуальной машины.
timezone — Часовой пояс, который будет установлен для Windows виртуальной машины.
ui_language — Язык интерфейса Windows виртуальной машины.
system_locale — Системная локализация Windows виртуальной машины.
input_locale — Локализация ввода Windows виртуальной машины.
windows_license_key — Ключ лицензии, который будет установлен для Windows виртуальной машины.
user_name — Имя пользователя, которое будет использоваться для установки пароля Windows виртуальной машины.
root_password — Пароль, который будет установлен для имени пользователя Windows виртуальной машины.
template
-
Имя шаблона, которое должно быть использовано для создания виртуальной машины.
Требуется при создании VM.
Если шаблон не указан и VM не существует, VM будет создана из шаблона Blank.
template_version
-
added in 2.3
Номер версии шаблона, который будет использован для VM.
По умолчанию используется последняя доступная версия шаблона.
ticket
boolean
added in 2.7
    Choices:
  • no
  • yes
Если true, дополнительно возвращается remote_vv_file внутри словаря vm, содержащий совместимое содержимое для приложения remote-viewer. Работает только если state равно running.
timeout
-
Default:
180
Время в секундах, которое модуль должен ждать, пока экземпляр не перейдет в нужное состояние.
timezone
-
added in 2.3
Устанавливает смещение часового пояса системных часов гостевой среды.
Например Etc/GMT
type
-
    Choices:
  • desktop
  • server
  • high_performance
Тип виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
high_performance поддерживается с Ansible 2.5 и oVirt/RHV 4.2.
usb_support
boolean
added in 2.5
    Choices:
  • no
  • yes
True включает поддержку USB, False — отключает её. По умолчанию выбирается движком oVirt/RHV.
use_latest_template_version
boolean
added in 2.3
    Choices:
  • no
  • yes
Указывает, должна ли использоваться последняя версия шаблона при запуске бессостояниевой VM.
Если этот параметр установлен в yes, бессостояниевая VM создаётся.
vmware
-
added in 2.3
Словарь значений, используемых для подключения к VMware и импорта виртуальной машины в oVirt.
Словарь может содержать следующие значения.
username — имя пользователя для аутентификации в VMware.
password — пароль для аутентификации в VMware.
url — URL, который передается инструменту virt-v2v для преобразования. Например, vpx://wmware_user@vcenter-host/DataCenter/Cluster/esxi-host?no_verify=1
drivers_iso — имя ISO, содержащего драйверы, которые могут использоваться во время процесса преобразования virt-v2v.
sparse — Указывает политику распределения диска для полученной виртуальной машины. true для разрежённого, false для предварительно выделенного. Значение по умолчанию — true.
storage_domain — Указывает целевой домен хранилища для преобразованных дисков. Это обязательный параметр.
vnic_profile_mappings
-
added in 2.5
Маппинг, который сопоставляет внешний профиль виртуальной сетевой карты с профилем, существующим в движке, когда state зарегистрирован. Профиль vnic описан следующим словарем:
source_network_name: Имя сети источника.
source_profile_name: Имя профиля, связанного с исходной сетью.
target_profile_id: Идентификатор целевого профиля для сопоставления в движке.
wait
boolean
    Choices:
  • no
  • yes ←
True, если модуль должен ждать, пока сущность не перейдет в нужное состояние.
watchdog
-
added in 2.5
Назначить устройство watchdog для виртуальной машины.
Watchdogs — это словарь, который может содержать следующие значения:
model — Модель устройства watchdog. Например: i6300esb, diag288 или null.
action — Действие watchdog, которое должно выполняться при срабатывании watchdog. Например: none, reset, poweroff, pause или dump.
xen
-
added in 2.3
Словарь значений, используемых для подключения к XEN и импорта виртуальной машины в oVirt.
Словарь может содержать следующие значения.
url — URL, который должен быть передан инструменту virt-v2v для преобразования. Например, xen+ssh://root@zen.server. Это обязательный параметр.
drivers_iso — Имя ISO-образа, содержащего драйверы, которые могут использоваться во время процесса преобразования virt-v2v.
sparse — Указывает политику выделения диска для полученной виртуальной машины. true для разрежённого, false для предварительно выделенного. Значение по умолчанию — true.
storage_domain — Указывает целевую область хранения для преобразованных дисков. Это обязательный параметр.

Примечания

Примечание

  • Если состояние ВМ до любого действия — UNASSIGNED или UNKNOWN, модуль завершится с ошибкой. Если состояние ВМ — IMAGE_LOCKED, модуль попытается подождать, пока состояние ВМ не станет DOWN. Если состояние ВМ — SAVING_STATE, модуль попытается подождать, пока состояние ВМ не станет SUSPENDED. Если состояние ВМ — POWERING_DOWN, модуль попытается подождать, пока состояние ВМ не станет UP или DOWN. ВМ может перейти в состояние UP из состояния POWERING_DOWN, если в ВМ не работают ACPI или гостевой агент, или если операция завершения работы завершилась с ошибкой. Когда пользователь указывает UP state, модуль всегда ожидает, пока состояние ВМ не станет UP, если ВМ находится в состоянии MIGRATING, REBOOTING, POWERING_UP, RESTORING_STATE, WAIT_FOR_LAUNCH. В других состояниях модуль запускает операцию запуска ВМ. Когда пользователь указывает stopped state, и если пользователь передаёт параметр force со значением true, модуль насильственно останавливает ВМ в любом состоянии. Если пользователь не передаёт параметр force, модуль всегда ожидает, пока состояние ВМ не станет UP, если ВМ находится в состоянии MIGRATING, REBOOTING, POWERING_UP, RESTORING_STATE, WAIT_FOR_LAUNCH. Если ВМ находится в состояниях PAUSED или SUSPENDED, модуль запускает ВМ. Затем ВМ выключается в штатном режиме. Когда пользователь указывает suspended state, модуль всегда ожидает, пока состояние ВМ не станет UP, если ВМ находится в состоянии MIGRATING, REBOOTING, POWERING_UP, RESTORING_STATE, WAIT_FOR_LAUNCH. Если ВМ находится в состояниях PAUSED или DOWN, модуль запускает ВМ. Затем ВМ приостанавливается. Если пользователь указывает absent state, модуль насильственно останавливает ВМ в любом состоянии и удаляет её.
  • Для использования этого модуля необходимо установить oVirt Python SDK. Чтобы убедиться, что он установлен с правильной версией, можно создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.2.4

Примеры

# Examples don't contain auth parameter for simplicity,
# look at ovirt_auth module to see how to reuse authentication:

- name: Creates a new Virtual Machine from template named 'rhel7_template'
  ovirt_vm:
    state: present
    name: myvm
    template: rhel7_template
    cluster: mycluster

- name: Register VM
  ovirt_vm:
    state: registered
    storage_domain: mystorage
    cluster: mycluster
    name: myvm

- name: Register VM using id
  ovirt_vm:
    state: registered
    storage_domain: mystorage
    cluster: mycluster
    id: 1111-1111-1111-1111

- name: Register VM, allowing partial import
  ovirt_vm:
    state: registered
    storage_domain: mystorage
    allow_partial_import: "True"
    cluster: mycluster
    id: 1111-1111-1111-1111

- name: Register VM with vnic profile mappings and reassign bad macs
  ovirt_vm:
    state: registered
    storage_domain: mystorage
    cluster: mycluster
    id: 1111-1111-1111-1111
    vnic_profile_mappings:
    - source_network_name: mynetwork
      source_profile_name: mynetwork
      target_profile_id: 3333-3333-3333-3333
    - source_network_name: mynetwork2
      source_profile_name: mynetwork2
      target_profile_id: 4444-4444-4444-4444
    reassign_bad_macs: "True"

- name: Register VM with mappings
  ovirt_vm:
    state: registered
    storage_domain: mystorage
    cluster: mycluster
    id: 1111-1111-1111-1111
    role_mappings:
      - source_name: Role_A
        dest_name: Role_B
    domain_mappings:
      - source_name: Domain_A
        dest_name: Domain_B
    lun_mappings:
      - source_storage_type: iscsi
        source_logical_unit_id: 1IET_000d0001
        source_logical_unit_port: 3260
        source_logical_unit_portal: 1
        source_logical_unit_address: 10.34.63.203
        source_logical_unit_target: iqn.2016-08-09.brq.str-01:omachace
        dest_storage_type: iscsi
        dest_logical_unit_id: 1IET_000d0002
        dest_logical_unit_port: 3260
        dest_logical_unit_portal: 1
        dest_logical_unit_address: 10.34.63.204
        dest_logical_unit_target: iqn.2016-08-09.brq.str-02:omachace
    affinity_group_mappings:
      - source_name: Affinity_A
        dest_name: Affinity_B
    affinity_label_mappings:
      - source_name: Label_A
        dest_name: Label_B
    cluster_mappings:
      - source_name: cluster_A
        dest_name: cluster_B

- name: Creates a stateless VM which will always use latest template version
  ovirt_vm:
    name: myvm
    template: rhel7
    cluster: mycluster
    use_latest_template_version: true

# Creates a new server rhel7 Virtual Machine from Blank template
# on brq01 cluster with 2GiB memory and 2 vcpu cores/sockets
# and attach bootable disk with name rhel7_disk and attach virtio NIC
- ovirt_vm:
    state: present
    cluster: brq01
    name: myvm
    memory: 2GiB
    cpu_cores: 2
    cpu_sockets: 2
    cpu_shares: 1024
    type: server
    operating_system: rhel_7x64
    disks:
      - name: rhel7_disk
        bootable: True
    nics:
      - name: nic1

- name: Run VM with cloud init
  ovirt_vm:
    name: rhel7
    template: rhel7
    cluster: Default
    memory: 1GiB
    high_availability: true
    high_availability_priority: 50  # Available from Ansible 2.5
    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

- name: Run VM with cloud init, with multiple network interfaces
  ovirt_vm:
    name: rhel7_4
    template: rhel7
    cluster: mycluster
    cloud_init_nics:
    - nic_name: eth0
      nic_boot_protocol: dhcp
      nic_on_boot: true
    - nic_name: eth1
      nic_boot_protocol: static
      nic_ip_address: 10.34.60.86
      nic_netmask: 255.255.252.0
      nic_gateway: 10.34.63.254
      nic_on_boot: true

- name: Run VM with sysprep
  ovirt_vm:
    name: windows2012R2_AD
    template: windows2012R2
    cluster: Default
    memory: 3GiB
    high_availability: true
    sysprep:
      host_name: windowsad.example.com
      user_name: Administrator
      root_password: SuperPassword123

- name: Migrate/Run VM to/on host named 'host1'
  ovirt_vm:
    state: running
    name: myvm
    host: host1

- name: Change VMs CD
  ovirt_vm:
    name: myvm
    cd_iso: drivers.iso

- name: Eject VMs CD
  ovirt_vm:
    name: myvm
    cd_iso: ''

- name: Boot VM from CD
  ovirt_vm:
    name: myvm
    cd_iso: centos7_x64.iso
    boot_devices:
        - cdrom

- name: Stop vm
  ovirt_vm:
    state: stopped
    name: myvm

- name: Upgrade memory to already created VM
  ovirt_vm:
    name: myvm
    memory: 4GiB

- name: Hot plug memory to already created and running VM (VM won't be restarted)
  ovirt_vm:
    name: myvm
    memory: 4GiB

# Create/update a VM to run with two vNUMA nodes and pin them to physical NUMA nodes as follows:
# vnuma index 0-> numa index 0, vnuma index 1-> numa index 1
- name: Create a VM to run with two vNUMA nodes
  ovirt_vm:
    name: myvm
    cluster: mycluster
    numa_tune_mode: "interleave"
    numa_nodes:
    - index: 0
      cores: [0]
      memory: 20
      numa_node_pins: [0]
    - index: 1
      cores: [1]
      memory: 30
      numa_node_pins: [1]

- name: Update an existing VM to run without previously created vNUMA nodes (i.e. remove all vNUMA nodes+NUMA pinning setting)
  ovirt_vm:
    name: myvm
    cluster: mycluster
    state: "present"
    numa_tune_mode: "interleave"
    numa_nodes:
    - index: -1

# When change on the VM needs restart of the VM, use next_run state,
# The VM will be updated and rebooted if there are any changes.
# If present state would be used, VM won't be restarted.
- ovirt_vm:
    state: next_run
    name: myvm
    boot_devices:
      - network

- name: Import virtual machine from VMware
  ovirt_vm:
    state: stopped
    cluster: mycluster
    name: vmware_win10
    timeout: 1800
    poll_interval: 30
    vmware:
      url: vpx://user@1.2.3.4/Folder1/Cluster1/2.3.4.5?no_verify=1
      name: windows10
      storage_domain: mynfs
      username: user
      password: password

- name: Create vm from template and create all disks on specific storage domain
  ovirt_vm:
    name: vm_test
    cluster: mycluster
    template: mytemplate
    storage_domain: mynfs
    nics:
    - name: nic1

- name: Remove VM, if VM is running it will be stopped
  ovirt_vm:
    state: absent
    name: myvm

# Defining a specific quota for a VM:
# Since Ansible 2.5
- ovirt_quotas_facts:
    data_center: Default
    name: myquota
- ovirt_vm:
    name: myvm
    sso: False
    boot_menu: True
    usb_support: True
    serial_console: True
    quota_id: "{{ ovirt_quotas[0]['id'] }}"

- name: Create a VM that has the console configured for both Spice and VNC
  ovirt_vm:
    name: myvm
    template: mytemplate
    cluster: mycluster
    graphical_console:
      protocol:
        - spice
        - vnc

# Execute remote viever to VM
- block:
  - name: Create a ticket for console for a running VM
    ovirt_vms:
      name: myvm
      ticket: true
      state: running
    register: myvm

  - name: Save ticket to file
    copy:
      content: "{{ myvm.vm.remote_vv_file }}"
      dest: ~/vvfile.vv

  - name: Run remote viewer with file
    command: remote-viewer ~/vvfile.vv

# Default value of host_device state is present
- name: Attach host devices to virtual machine
  ovirt_vm:
    name: myvm
    host: myhost
    placement_policy: pinned
    host_devices:
      - name: pci_0000_00_06_0
      - name: pci_0000_00_07_0
        state: absent
      - name: pci_0000_00_08_0
        state: present

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:

Ключ Возвращённое значение Описание
id
строка
При успехе, если ВМ найдена.
ID ВМ, которая управляется

Пример:
7de90f31-222c-436c-a1ca-7e655bd5b60c
vm
словарь
При успехе, если ВМ найдена.
Словарь всех атрибутов ВМ. Атрибуты ВМ можно найти на вашем экземпляре oVirt/RHV по следующему URL: http://ovirt.github.io/ovirt-engine-api-model/master/#types/vm. Кроме того, если пользователь отправил ticket=true, этот модуль также вернёт параметр remote_vv_file в словаре vm, который содержит совместимый с удалённым просмотрщиком файл для открытия консоли виртуальной машины. Обратите внимание, что этот файл содержит конфиденциальную информацию.



Статус

  • Гарантии обратной совместимости этого модуля нет. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Ondra Machacek (@machacekondra)

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 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/ovirt_vm_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API