Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Требования

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

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

Параметры

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

псевдонимы: sysprep_persist
cluster
-
Имя кластера, в котором должна быть создана виртуальная машина.
Требуется при создании ВМ.
cluster_mappings
-
добавлено в 2.5
Картирование, которое отображает имя кластера между OVF виртуальной машины и целевым кластером, в который должна быть зарегистрирована эта виртуальная машина. Актуально, когда state зарегистрирован. Картирование кластеров описывается следующим словарем:
dest_name
-
Имя целевого кластера.
source_name
-
Имя исходного кластера.
comment
-
Комментарий к виртуальной машине.
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.
END_OF_DOCUMENT_MARKER
custom_compatibility_version
-
added in 2.7
Включает возможность настройки виртуальной машины на собственную версию совместимости. Если 'custom_compatibility_version' установлено, оно переопределяет версию совместимости кластера для этой виртуальной машины.
custom_properties
-
added in 2.5
Свойства, отправляемые в VDSM для настройки различных хуков.
Пользовательские свойства представляют собой список словарей, которые могут иметь следующие значения:
name
-
Имя пользовательского свойства. Например: hugepages, vhost, sap_agent и т.д.
regexp
-
Регулярное выражение для установки пользовательского свойства.
value
-
Значение для установки пользовательского свойства.
delete_protected
boolean
    Choices:
  • no
  • yes
Если yes, виртуальная машина будет защищена от удаления.
Если no, виртуальная машина не будет защищена от удаления.
Если значение не передано, используется значение по умолчанию, установленное движком oVirt/RHV.
description
-
Описание виртуальной машины.
disk_format
-
added in 2.4
    Choices:
  • cow ←
  • raw
Указывает формат диска.
Если используется формат cow, диск будет создан как разреженный, поэтому пространство будет выделено для тома по мере необходимости, также известное как тонкое выделение.
Если используется формат raw, хранилище диска будет выделено сразу, также известное как предварительное выделение.
Обратите внимание, что этот параметр не идемпотентен, так как в настоящее время нельзя изменить формат диска через API.
Этот параметр учитывается только при указании template и storage domain.
disks
-
Список дисков, которые должны быть подключены к виртуальной машине. Диск описывается следующим словарем.
activate
boolean
    Choices:
  • no
  • yes
True, если диск должен быть активирован, по умолчанию активирован.
ПРИМЕЧАНИЕ - Этот параметр используется только тогда, когда state находится в состоянии running или present и способен только подключать диски. Для более глубокого управления дисками ВМ используйте модуль ovirt_disk вместо этого.
bootable
boolean
    Choices:
  • no
  • yes
True, если диск должен быть загрузочным, по умолчанию не загрузочный.
id
-
Идентификатор диска. Требуется либо name, либо id.
interface
-
    Choices:
  • virtio ←
  • ide
Интерфейс диска.
name
-
Имя диска. Требуется либо name, либо id.
domain_mappings
-
added in 2.5
Карта, которая сопоставляет доменное имя aaa между OVF виртуальной машины и целевым доменным именем aaa, к которому должна быть зарегистрирована данная ВМ. Актуально, когда state зарегистрирована. Карта доменного имени aaa описывается следующим словарем:
dest_name
-
Имя целевого доменного имени aaa.
source_name
-
Имя исходного доменного имени aaa.
exclusive
boolean
added in 2.8
    Choices:
  • no
  • yes
Когда state экспортируется, этот параметр указывает, следует ли перезаписывать существующую виртуальную машину с тем же именем.
export_domain
-
added in 2.8
При экспорте state этот параметр указывает имя целевого домена хранения.
export_ova
-
added in 2.8
Словарь значений, которые будут использованы для экспорта виртуальной машины в формате OVA.
directory
-
Имя каталога, в который необходимо экспортировать OVA.
filename
-
Имя экспортированного файла OVA.
host
-
Имя целевого хоста, куда необходимо экспортировать OVA.
fetch_nested
boolean
    Choices:
  • no
  • yes
Если True, модуль получит дополнительные данные с API.
Он получит идентификаторы дисков, снимков и т.д. ВМ. Пользователь может настроить получение других атрибутов вложенных сущностей, указав nested_attributes.
force
boolean
    Choices:
  • no ←
  • yes
Для более подробного описания параметра force см. раздел Synopsis. Он может вести себя по-разному в разных ситуациях.
force_migrate
boolean
added in 2.8
    Choices:
  • no
  • yes
Если true, ВМ будет мигрирована, когда placement_policy=user-migratable, но не когда placement_policy=pinned.
graphical_console
-
added in 2.5
Назначает графический консоль виртуальной машине.
headless_mode
boolean
    Choices:
  • no
  • yes
Если true, отключает графический консоль для этой виртуальной машины.
protocol
-
Графический протокол, список spice, vnc или оба.
high_availability
boolean
    Choices:
  • no
  • yes
Если yes, виртуальная машина будет высокодоступной.
Если no, виртуальная машина не будет высокодоступной.
Если значение не передано, используется значение по умолчанию, установленное движком oVirt/RHV.
high_availability_priority
-
added in 2.5
Указывает приоритет виртуальной машины в очередях запуска и миграции. Виртуальные машины с более высокими приоритетами будут запускаться и мигрироваться раньше, чем виртуальные машины с более низкими приоритетами. Значение — целое число от 0 до 100. Чем выше значение, тем выше приоритет.
Если значение не передано, используется значение по умолчанию, установленное движком oVirt/RHV.
host
-
Укажите хост, на котором должна работать виртуальная машина. По умолчанию хост выбирается планом задач ядра.
Этот параметр используется только когда state находится в состоянии запуска или наличия.
host_devices
-
добавлено в 2.7
Виртуализация ввода/вывода с единственным корневым устройством — технология, которая позволяет одному устройству экспонировать несколько конечных точек, которые могут быть переданы виртуальным машинам.
host_devices — список, содержащий словарь с именем и состоянием устройства.
id
-
Идентификатор виртуальной машины для управления.
initrd_path
-
Путь к начальному образам оперативной памяти для использования с ядром, указанным параметром kernel_path.
Изображение образов оперативной памяти должно храниться либо в домене ISO, либо в хранилище хоста.
instance_type
-
Имя конфигурации аппаратного обеспечения виртуальной машины.
По умолчанию тип экземпляра не используется.
io_threads
-
добавлено в 2.5
Количество потоков ввода/вывода, используемых виртуальной машиной. 0 означает, что потоки ввода/вывода отключены.
kernel_params
-
Параметры командной строки ядра (в формате строки) для использования с ядром, указанным параметром kernel_path.
kernel_params_persist
boolean
добавлено в 2.8
    Варианты:
  • no
  • yes
Если true, kernel_params, initrd_path и kernel_path сохранятся в конфигурации виртуальной машины, если false, они будут использоваться только один раз.
kernel_path
-
Путь к изображению ядра, используемого для загрузки виртуальной машины.
Изображение ядра должно храниться либо в домене ISO, либо в хранилище хоста.
kvm
-
Словарь значений, которые будут использоваться для подключения к kvm и импорта виртуальной машины в oVirt.
drivers_iso
-
Имя ISO, содержащего драйверы, которые могут быть использованы во время процесса преобразования virt-v2v.
name
-
Имя виртуальной машины KVM.
password
-
Пароль для аутентификации в KVM.
sparse
boolean
    Варианты:
  • no
  • yes ←
Устанавливает политику выделения диска для полученной виртуальной машины. true для разреженного, false для предварительного выделенного.
storage_domain
-
Указывает целевой домен хранения для преобразованных дисков. Это обязательный параметр.
url
-
URL, который должен быть передан инструменту virt-v2v для преобразования.
Например, qemu:///system. Это обязательный параметр.
username
-
Имя пользователя для аутентификации в KVM.
lease
-
добавлено в 2.4
Имя домена хранилища, на котором расположена виртуальная машина lease. Передача пустой строки удаляет lease.
ПРИМЕЧАНИЕ — Поддерживается с oVirt 4.1.
lun_mappings
-
добавлено в 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
-
добавлено в 2.5
Верхняя граница оперативной памяти виртуальной машины, до которой может выполняться горячая подкачка памяти. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB).
Значение по умолчанию задается ядром.
migrate
boolean
добавлено в 2.8
    Варианты:
  • no
  • yes
Если true, виртуальная машина будет мигрировать на любой доступный хост.
name
-
Имя виртуальной машины для управления.
Если виртуальная машина не существует, name является обязательным. В противном случае можно использовать id или name.
nested_attributes
list
Указывает список атрибутов, которые должны быть получены из API.
Этот параметр применяется только когда fetch_nested равно true.
next_run
boolean
добавлено в 2.8
    Варианты:
  • no
  • yes
Если true, обновление не будет применено к виртуальной машине сразу и будет применено только при перезапуске виртуальной машины.
ПРИМЕЧАНИЕ — Если есть несколько изменений конфигурации next run для виртуальной машины, первое изменение может быть отменено, если этот параметр не передан.
nics
-
Список сетевых адаптеров, которые должны быть подключены к виртуальной машине. Сетевой адаптер описывается следующим словарем.
interface
-
    Варианты:
  • virtio ←
  • e1000
  • rtl8139
Тип сетевого адаптера.
mac_address
-
Пользовательский MAC-адрес сетевого адаптера, по умолчанию он получен из пула MAC-адресов.
ПРИМЕЧАНИЕ — Этот параметр используется только когда state находится в состоянии запуска или наличия и способен создавать только сетевые адаптеры. Чтобы более глубоко управлять сетевыми адаптерами виртуальной машины, используйте модуль ovirt_nic вместо этого.
name
-
Имя сетевого адаптера.
profile_name
-
Имя профиля, к которому должен быть подключен сетевой адаптер.
numa_nodes
-
добавлено в 2.6
Список узлов vNUMA для установки для этой виртуальной машины и привязки их к физическому узлу NUMA назначенного хоста.
Каждый узел vNUMA описывается следующим словарем:
cores
список / обязательно
Список индексов ядер процессора виртуальной машины (VM), которые нужно включить в этот узел NUMA.
index
- / обязательно
Индекс этого узла NUMA.
memory
- / обязательно
Размер памяти узла NUMA в MiB.
numa_node_pins
список
Список индексов физических узлов NUMA, к которым нужно привязать этот виртуальный узел NUMA.
numa_tune_mode
-
добавлено в 2.6
    Варианты:
  • interleave
  • preferred
  • strict
Указывает, как применяется распределение памяти для узлов NUMA этой виртуальной машины (актуально, если для этой виртуальной машины заданы узлы NUMA).
Может принимать одно из следующих значений: interleave, preferred или strict.
Если значение не указано, используется значение по умолчанию, заданное движком oVirt/RHV.
operating_system
-
Операционная система виртуальной машины.
Значение по умолчанию задаётся движком oVirt/RHV.
Возможные значения: debian_7, freebsd, freebsdx64, other, other_linux, other_linux_kernel_4, other_linux_ppc64, other_linux_s390x, other_ppc64, other_s390x, rhcos_x64, rhel_3, rhel_3x64, rhel_4, rhel_4x64, rhel_5, rhel_5x64, rhel_6, rhel_6_9_plus_ppc64, rhel_6_ppc64, rhel_6x64, rhel_7_ppc64, rhel_7_s390x, rhel_7x64, rhel_8x64, rhel_atomic7x64, sles_11, sles_11_ppc64, sles_12_s390x, ubuntu_12_04, ubuntu_12_10, ubuntu_13_04, ubuntu_13_10, ubuntu_14_04, ubuntu_14_04_ppc64, ubuntu_16_04_s390x, windows_10, windows_10x64, windows_2003, windows_2003x64, windows_2008, windows_2008R2x64, windows_2008x64, windows_2012R2x64, windows_2012x64, windows_2016x64, windows_2019x64, windows_7, windows_7x64, windows_8, windows_8x64, windows_xp
placement_policy
-
добавлено в 2.5
Настройка политики размещения виртуальной машины.
Если значение не указано, используется значение по умолчанию, заданное движком oVirt/RHV.
Политика размещения может принимать следующие значения:
migratable
-
Разрешить ручную и автоматическую миграцию.
pinned
-
Запретить миграцию.
user_migratable
-
Разрешить только ручную миграцию.
poll_interval
целое число
По умолчанию:
3
Количество секунд, в течение которого модуль ожидает, прежде чем отправлять запрос на обновление статуса сущности.
quota_id
-
добавлено в 2.5
Идентификатор квоты виртуальной машины, который нужно использовать для диска. По умолчанию квота выбирается движком oVirt/RHV.
reassign_bad_macs
логическое
добавлено в 2.5
    Варианты:
  • no
  • yes
Логическое значение, указывающее, нужно ли переназначать плохие MAC-адреса при регистрации state.
rng_device
-
добавлено в 2.5
Генератор случайных чисел (RNG). Можно выбрать один из следующих устройств: urandom, random или hwrng.
Для выбора hwrng, необходимо предварительно его включить в кластере.
/dev/urandom используется для версий кластера ≥ 4.1, а /dev/random — для версий кластера ≤ 4.0
role_mappings
-
добавлено в 2.5
Преобразователь, который сопоставляет имя роли между OVF виртуальной машины и целевой ролью, к которой должна быть зарегистрирована эта виртуальная машина, актуально, когда state зарегистрирован. Описание сопоставления ролей приведено в виде словаря:
dest_name
-
Название целевой роли.
source_name
-
Название исходной роли.
serial_console
логическое
добавлено в 2.5
    Варианты:
  • no
  • yes
True включает консоль VirtIO, False — отключает её. По умолчанию выбирается движком oVirt/RHV.
serial_policy
-
    Варианты:
  • vm
  • host
  • custom
Указывает политику присвоения серийного номера для виртуальной машины.
Поддерживаются следующие варианты.
vm — устанавливает UUID виртуальной машины в качестве серийного номера.
host — устанавливает UUID хоста в качестве серийного номера виртуальной машины.
custom — позволяет указать пользовательский серийный номер в serial_policy_value.
serial_policy_value
-
Позволяет указать пользовательский серийный номер.
Этот параметр используется только когда serial_policy равен custom.
smartcard_enabled
логическое
добавлено в 2.5
    Варианты:
  • no
  • yes
Если true, использовать аутентификацию с помощью смарт-карты.
snapshot_name
-
добавлено в 2.9
Снимок, с которого нужно клонировать виртуальную машину.
Снимок с указанным описанием должен существовать.
Необходимо указать параметр snapshot_vm с именем виртуальной машины этого снимка.
snapshot_vm
-
добавлено в 2.9
Исходная виртуальная машина, с которой нужно клонировать виртуальную машину.
У виртуальной машины должен быть указан снимок, определённый snapshot.
Если snapshot_name указан, то snapshot_vm требуется.
soundcard_enabled
логическое
добавлено в 2.5
    Варианты:
  • no
  • yes
Если true, звуковая карта добавлена в виртуальную машину.
sso
логическое
добавлено в 2.5
    Варианты:
  • no
  • yes
True включает Single Sign On с помощью Guest Agent, False — отключает его. По умолчанию выбирается движком oVirt/RHV.
state
-
    Варианты:
  • absent
  • next_run
  • present ←
  • registered
  • running
  • stopped
  • suspended
  • exported
Виртуальная машина должна быть запущена/остановлена/в режиме присутствия/отсутствия/приостановлена/в очереди запуска/зарегистрирована/экспортирована. Если state равно registered, и имя незарегистрированной виртуальной машины принадлежит уже зарегистрированной виртуальной машине в том же центре обработки данных, регистрация не будет выполнена.
Состояние present создаст/обновит виртуальную машину и не изменит её состояние, если она уже существует.
Состояние running создаст/обновит виртуальную машину и запустит её.
Состояние next_run обновит виртуальную машину и, если у неё есть конфигурация для следующего запуска, перезагрузит её.
Для более подробного описания состояний см. раздел примечания.
Состояние exported экспортирует виртуальную машину в домен экспорта или в формате OVA.
Состояние registered поддерживается с версии 2.4.
stateless
логическое
    Варианты:
  • no
  • yes
Если yes, виртуальная машина будет настроена как бессостоятельная.
Если no, виртуальная машина не будет настроена как бессостоятельная.
Если значение не указано, используется значение по умолчанию, заданное движком oVirt/RHV.
storage_domain
-
added in 2.4
Имя домена хранения, где должны быть созданы все шаблоны дисков.
Этот параметр учитывается только при указании template.
ВАЖНО - Этот параметр не идемпотентен; если ВМ существует, и вы указываете другой домен хранения, диск не переместится.
sysprep
-
Словарь со значениями для инициализации виртуальной машины Windows с помощью sysprep.
active_directory_ou
-
Организационная единица Active Directory, используемая для входа пользователя.
domain
-
Домен, который должен быть задан для виртуальной машины Windows.
host_name
-
Имя хоста, которое должно быть задано для виртуальной машины при развертывании.
input_locale
-
Локализация ввода виртуальной машины Windows.
org_name
-
Имя организации, которое должно быть задано для виртуальной машины Windows.
root_password
-
Пароль, который должен быть задан для имени пользователя виртуальной машины Windows.
system_locale
-
Системная локализация виртуальной машины Windows.
timezone
-
Часовой пояс, который должен быть задан для виртуальной машины Windows.
ui_language
-
Язык пользовательского интерфейса виртуальной машины Windows.
user_name
-
Имя пользователя, используемое для задания пароля виртуальной машины Windows.
windows_license_key
-
Ключ лицензии, который должен быть задан для виртуальной машины Windows.
template
-
Имя шаблона, который должен быть использован для создания виртуальной машины.
Обязательно при создании ВМ.
Если шаблон не указан, и ВМ не существует, ВМ будет создана из шаблона Blank.
template_version
-
Номер версии шаблона, который будет использован для ВМ.
По умолчанию используется последняя доступная версия шаблона.
ticket
boolean
added in 2.7
    Варианты:
  • no
  • yes
Если true, кроме того, вернёт remote_vv_file внутри словаря vm, который содержит совместимое содержимое для приложения удалённого просмотра. Работает только если state запущен.
timeout
integer
По умолчанию:
180
Количество времени в секундах, которое модуль должен ждать, пока экземпляр не перейдёт в желаемое состояние.
timezone
-
Устанавливает смещение часового пояса системных часов гостевой ОС.
Например Etc/GMT
type
-
    Варианты:
  • desktop
  • server
  • high_performance
Тип виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
high_performance поддерживается с Ansible 2.5 и oVirt/RHV 4.2.
usb_support
boolean
added in 2.5
    Варианты:
  • no
  • yes
True включить поддержку USB, False для её отключения. По умолчанию выбирается движком oVirt/RHV.
use_latest_template_version
boolean
    Варианты:
  • no
  • yes
Указать, следует ли использовать последнюю версию шаблона при запуске бессостоятельной ВМ.
Если этот параметр установлен в yes, создаётся бессостоятельная ВМ.
vmware
-
Словарь значений, используемых для подключения к VMware и импорта виртуальной машины в oVirt.
drivers_iso
-
Имя ISO, содержащего драйверы, которые могут быть использованы во время процесса преобразования virt-v2v.
password
-
Пароль для аутентификации в VMware.
sparse
boolean
    Варианты:
  • no
  • yes ←
Устанавливает политику выделения диска для получившейся виртуальной машины. true для разреженного, false для предварительно выделенного.
storage_domain
-
Указывает целевой домен хранения для преобразованных дисков. Этот параметр обязателен.
url
-
URL, передаваемый инструменту virt-v2v для преобразования.
Например, vpx://wmware_user@vcenter-host/DataCenter/Cluster/esxi-host?no_verify=1
username
-
Имя пользователя для аутентификации в VMware.
vnic_profile_mappings
-
added in 2.5
Маппинг, который сопоставляет внешний профиль виртуальной сетевой карты с профилем, существующим в движке при регистрации state. Профиль vnic_profile описан в следующем словаре:
source_network_name
-
Имя сети источника.
source_profile_name
-
Имя профиля, связанного с исходной сетью.
target_profile_id
-
Идентификатор целевого профиля, подлежащего сопоставлению в движке.
wait
boolean
    Варианты:
  • no
  • yes ←
yes если модуль должен ждать, пока сущность перейдёт в нужное состояние.
watchdog
-
added in 2.5
Назначить устройство сторожа для виртуальной машины.
Сторож — это словарь, который может содержать следующие значения:
action
-
Действие сторожа, которое должно быть выполнено при срабатывании сторожа. Например: none, reset, poweroff, pause или dump.
model
-
Модель устройства сторожа. Например: i6300esb, diag288 или null.
xen
-
Словарь значений, используемых для подключения к XEN и импорта виртуальной машины в oVirt.
drivers_iso
-
Имя ISO, содержащего драйверы, которые могут быть использованы во время процесса преобразования virt-v2v.
sparse
boolean
    Варианты:
  • нет
  • да ←
Указывает политику распределения дисков для создаваемой виртуальной машины. true для разреженного диска, false для предварительно выделенного.
storage_domain
-
Указывает целевой домен хранения для конвертируемых дисков. Это обязательный параметр.
url
-
URL, который будет передан инструменту virt-v2v для преобразования.
Например, xen+ssh://root@zen.server. Это обязательный параметр.

Примечания

Примечание

  • Если состояние ВМ до любого действия — НЕ ПРИСВОЕН или НЕИЗВЕСТНО, модуль завершится ошибкой. Если состояние ВМ — БЛОКИРОВАННАЯ_ОБРАЗОВАТЕЛЬНАЯ_МАШИНА, модуль попытается подождать, пока ВМ не станет ВЫКЛ. Если состояние ВМ — СОХРАНЕНИЕ_СОСТОЯНИЯ, модуль попытается подождать, пока ВМ не станет ПРИОСТАНОВЛЕНА. Если состояние ВМ — ВЫКЛЮЧЕНИЕ, модуль попытается подождать, пока ВМ не станет ВКЛ или ВЫКЛ. ВМ может перейти в состояние ВКЛ из состояния ВЫКЛЮЧЕНИЕ, если внутри ВМ не работает ACPI или гостевой агент, или если операция выключения завершилась неудачно. Когда пользователь указывает ВКЛ state, мы всегда ждем, пока ВМ не перейдет в состояние ВКЛ, если ВМ находится в состоянии ПЕРЕМЕЩЕНИЕ, ПЕРЕЗАГРУЗКА, ВКЛЮЧЕНИЕ, ВОССТАНОВЛЕНИЕ_СОСТОЯНИЯ, ОЖИДАНИЕ_ЗАПУСКА. В других состояниях мы выполняем операцию запуска ВМ. Когда пользователь указывает остановлено state, и если пользователь передаёт параметр force со значением true, мы принудительно останавливаем ВМ в любом состоянии. Если пользователь не передаёт параметр force, мы всегда ждем, пока ВМ не перейдет в состояние ВКЛ, если ВМ находится в состоянии ПЕРЕМЕЩЕНИЕ, ПЕРЕЗАГРУЗКА, ВКЛЮЧЕНИЕ, ВОССТАНОВЛЕНИЕ_СОСТОЯНИЯ, ОЖИДАНИЕ_ЗАПУСКА. Если ВМ находится в состоянии ПАУЗА или ПРИОСТАНОВЛЕНА, мы запускаем ВМ. Затем мы плавно выключаем ВМ. Когда пользователь указывает приостановлена state, мы всегда ждем, пока ВМ не перейдет в состояние ВКЛ, если ВМ находится в состоянии ПЕРЕМЕЩЕНИЕ, ПЕРЕЗАГРУЗКА, ВКЛЮЧЕНИЕ, ВОССТАНОВЛЕНИЕ_СОСТОЯНИЯ, ОЖИДАНИЕ_ЗАПУСКА. Если ВМ находится в состоянии ПАУЗА или ВЫКЛ, мы запускаем ВМ. Затем мы приостанавливаем ВМ. Когда пользователь указывает отсутствует state, мы принудительно останавливаем ВМ в любом состоянии и удаляем её.
  • Если вы обновляете параметр ВМ, который требует перезагрузки, движок oVirt всегда создаёт новый снимок для ВМ, и скрипт Ansible будет сообщать об этом как о изменении.
  • Для использования этого модуля необходимо установить oVirt Python SDK. Чтобы убедиться, что он установлен с правильной версией, вы можете создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.3.0

Примеры

# 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

# Change VM Name
- ovirt_vm:
    id: 00000000-0000-0000-0000-000000000000
    name: "new_vm_name"

- 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
    # IP version 6 parameters are supported since ansible 2.9
    - nic_name: eth2
      nic_boot_protocol_v6: static
      nic_ip_address_v6: '2620:52:0:2282:b898:1f69:6512:36c5'
      nic_gateway_v6: '2620:52:0:2282:b898:1f69:6512:36c9'
      nic_netmask_v6: '120'
      nic_on_boot: true
    - nic_name: eth3
      nic_on_boot: true
      nic_boot_protocol_v6: dhcp

- 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: Migrate VM to any available host
  ovirt_vm:
    state: running
    name: myvm
    migrate: true

- 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 viewer to VM
- block:
  - name: Create a ticket for console for a running VM
    ovirt_vm:
      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

- name: Export the VM as OVA
  ovirt_vm:
    name: myvm
    state: exported
    cluster: mycluster
    export_ova:
        host: myhost
        filename: myvm.ova
        directory: /tmp/

- name: Clone VM from snapshot
  ovirt_vm:
    snapshot_vm: myvm
    snapshot_name: myvm_snap
    name: myvm_clone
    state: present

- name: Import external ova VM
  ovirt_vm:
    cluster: mycluster
    name: myvm
    host: myhost
    timeout: 1800
    poll_interval: 30
    kvm:
      name: myvm
      url: ova:///path/myvm.ova
      storage_domain: mystorage

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

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

Ключ Возвращаемое значение Описание
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.9/modules/ovirt_vm_module.html

Spec-Zone.ru

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