Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин входит в состав коллекции ovirt.ovirt (версия 1.2.4).

Для его установки используйте: ansible-galaxy collection install ovirt.ovirt.

Для использования в плейбуке, укажите: ovirt.ovirt.ovirt_vm.

Новое в версии 1.0.0: of ovirt.ovirt

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

Обзор

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
affinity_group_mappings
список / элементы=словарь
Отображение, сопоставляющее имя группы сродства между VM OVF и целевой группой сродства, к которой должна быть зарегистрирована данная VM. Актуально, когда зарегистрирован state.
affinity_label_mappings
список / элементы=словарь
Отображение, сопоставляющее имя метки сродства между VM OVF и целевой меткой, к которой должна быть зарегистрирована данная VM. Актуально, когда зарегистрирован state.
allow_partial_import
булево
    Варианты:
  • нет
  • да
Булево значение, указывающее, разрешить ли частичную регистрацию виртуальной машины при регистрации 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
булево
    Варианты:
  • нет
  • да
Флаг булевого типа, указывающий, следует ли проверять сертификат TLS сервера и имя хоста.
kerberos
булево
    Варианты:
  • нет
  • да
Флаг булевого типа, указывающий, следует ли использовать аутентификацию Kerberos вместо стандартной аутентификации.
password
строка / обязательно
Пароль пользователя.
Значение по умолчанию задаётся переменной среды OVIRT_PASSWORD.
token
строка
Токен, который используется вместо входа с именем пользователя/паролем.
Значение по умолчанию задаётся переменной среды OVIRT_TOKEN.
url
строка
Строка, содержащая API-URL сервера, обычно что-то вроде `https://server.example.com/ovirt-engine/api`.
Значение по умолчанию задаётся переменной среды OVIRT_URL.
Требуется либо url, либо hostname.
username
строка / обязательно
Имя пользователя, например admin@internal.
Значение по умолчанию задаётся переменной среды OVIRT_USERNAME.
ballooning_enabled
булево
    Варианты:
  • нет
  • да
Если истина, использовать баллонирование памяти.
Баллонирование памяти — это устройство гостевой системы, которое может использоваться для динамического перераспределения/возврата памяти хоста в зависимости от потребностей виртуальной машины. Таким образом, можно создавать состояния сверхкоммита памяти.
bios_type
строка
    Варианты:
  • i440fx_sea_bios
  • q35_ovmf
  • q35_sea_bios
  • q35_secure_boot
Устанавливает тип BIOS, необходимый для некоторых операционных систем и безопасной загрузки.
Если значение не передано, используется значение по умолчанию из кластера.
ПРИМЕЧАНИЕ - Поддерживается с oVirt 4.3.
boot_devices
список / элементы=строка
    Варианты:
  • cdrom
  • hd
  • сетевой
Список устройств загрузки, которые должны быть использованы для загрузки. Например, [ cdrom, hd ].
Значение по умолчанию задаётся движком oVirt/RHV.
boot_menu
булево
    Варианты:
  • нет
  • да
Истина активирует меню для выбора устройства загрузки, Ложь — отключает его. По умолчанию выбирается движком oVirt/RHV.
cd_iso
строка
ISO-файл из домена хранения ISO, который должен быть подключен к виртуальной машине.
Если у вас несколько ISO-дисков с одинаковым именем, используйте идентификатор диска для указания используемого диска или используйте storage_domain для фильтрации дисков.
Если передана пустая строка, диск CD будет извлечен из виртуальной машины.
Если используется с state запущенная или наличие и виртуальная машина запущена, диск CD будет подключен к виртуальной машине.
Если используется с state запущенная или наличие и виртуальная машина выключена, диск CD будет постоянно подключен к виртуальной машине.
clone
булево
    Варианты:
  • нет ←
  • да
Если да, то диски созданной виртуальной машины будут клонированы и независимы от шаблона.
Этот параметр используется только в том случае, если state запущенная или наличие и виртуальная машина не существовала ранее.
clone_permissions
булево
    Варианты:
  • нет ←
  • да
Если да, то права шаблона (только прямые, а не наследуемые) будут скопированы в созданную виртуальную машину.
Этот параметр используется только в том случае, если state запущенная или наличие и виртуальная машина не существовала ранее.
cloud_init
словарь
Словарь со значениями для инициализации виртуальной машины Unix-подобного типа с помощью cloud-init.
authorized_ssh_keys
строка
Используйте эти SSH-ключи для входа в виртуальную машину.
custom_script
строка
Сценарий cloud-init, который будет выполнен на виртуальной машине при развертывании.
Он добавляется в конец сценария cloud-init, сгенерированного другими параметрами.
Дополнительную информацию см. в документации cloud-init по User-Data.
dns_search
строка
Домены поиска DNS, которые необходимо настроить на виртуальной машине.
dns_servers
строка
Серверы DNS, которые необходимо настроить на виртуальной машине, максимум два, разделенные пробелом.
host_name
строка
Имя хоста, которое нужно установить для виртуальной машины при развертывании.
nic_boot_protocol
строка
    Варианты:
  • ничего
  • dhcp
  • статический
Установите протокол загрузки сетевого интерфейса виртуальной машины.
nic_boot_protocol_v6
строка
    Варианты:
  • ничего
  • dhcp
  • статический
Установите протокол загрузки сетевого интерфейса виртуальной машины.
nic_gateway
строка
Если протокол загрузки статический, установите этот шлюз для сетевого интерфейса виртуальной машины.
nic_gateway_v6
строка
Если протокол загрузки статический, установите этот шлюз для сетевого интерфейса виртуальной машины.
Для IPv6-адресов значение представляет собой целое число в диапазоне от 0 до 128, которое представляет префикс подсети.
nic_ip_address
строка
Если протокол загрузки статический, установите этот IP-адрес для сетевого интерфейса виртуальной машины.
nic_ip_address_v6
строка
Если протокол загрузки статический, установите этот IP-адрес для сетевого интерфейса виртуальной машины.
nic_name
строка
Установите имя сетевого интерфейса виртуальной машины.
nic_netmask
строка
Если протокол загрузки статический, установите эту маску подсети для сетевого интерфейса виртуальной машины.
nic_netmask_v6
строка
Если протокол загрузки статический, установите эту маску подсети для сетевого интерфейса виртуальной машины.
regenerate_ssh_keys
булево
    Варианты:
  • нет
  • да
Если истина, SSH-ключи будут сгенерированы заново на виртуальной машине.
root_password
строка
Пароль для пользователя, указанного параметром user_name.
timezone
string
Часовой пояс, который должен быть установлен для виртуальной машины при развертывании.
user_name
string
Имя пользователя, которое будет использоваться для установки пароля на виртуальную машину при развертывании.
cloud_init_nics
list / elements=dictionary
Список словарей, представляющих сетевые интерфейсы, которые должны быть настроены cloud init.
Этот параметр используется, когда пользователю необходимо настроить больше сетевых интерфейсов через cloud init.
Если достаточно одного сетевого интерфейса, пользователь должен использовать параметры nic_*. Параметры nic_* объединяются с параметрами.
nic_boot_protocol
string
Установить протокол загрузки сетевого интерфейса виртуальной машины. Может быть одним из none, dhcp или static.
nic_boot_protocol_v6
string
Установить протокол загрузки сетевого интерфейса виртуальной машины. Может быть одним из none, dhcp или static.
nic_gateway
string
Если протокол загрузки статический, установите этот шлюз для сетевого интерфейса виртуальной машины.
nic_gateway_v6
string
Если протокол загрузки статический, установите этот шлюз для сетевого интерфейса виртуальной машины.
Для IPv6-адресов значение является целым числом в диапазоне от 0 до 128, которое представляет префикс подсети.
nic_ip_address
string
Если протокол загрузки статический, установите этот IP-адрес для сетевого интерфейса виртуальной машины.
nic_ip_address_v6
string
Если протокол загрузки статический, установите этот IP-адрес для сетевого интерфейса виртуальной машины.
nic_name
string
Установите имя сетевого интерфейса виртуальной машины.
nic_netmask
string
Если протокол загрузки статический, установите эту маску подсети для сетевого интерфейса виртуальной машины.
nic_netmask_v6
string
Если протокол загрузки статический, установите эту маску подсети для сетевого интерфейса виртуальной машины.
cloud_init_persist
boolean
    Choices:
  • no ←
  • yes
Если yes, параметры cloud_init или sysprep будут сохранены для виртуальной машины, и виртуальная машина не будет запускаться как одноразовая.

алиасы: sysprep_persist
cluster
string
Имя кластера, в котором должна быть создана виртуальная машина.
Требуется при создании виртуальной машины.
cluster_mappings
list / elements=dictionary
Маппинг, который отображает имя кластера между OVF виртуальной машины и целевым кластером, в который эта виртуальная машина должна быть зарегистрирована, актуально, когда state зарегистрирована. Отображение кластера описывается следующим словарем:
dest_name
string
Имя целевого кластера.
source_name
string
Имя исходного кластера.
comment
string
Комментарий к виртуальной машине.
cpu_cores
integer
Количество виртуальных ядер ЦП виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
cpu_mode
string
Режим ЦП виртуальной машины. Может быть одним из следующих: host_passthrough, host_model или custom.
Для типа ЦП host_passthrough необходимо установить placement_policy в pinned.
Если значение не передано, значение по умолчанию устанавливается движком oVirt/RHV.
cpu_pinning
list / elements=dictionary
Топология привязки ЦП для сопоставления ЦП виртуальной машины с ядрами физического ЦП.
Топология привязки ЦП представляет собой список словарей, которые могут содержать следующие значения:
cpu
string
Номер физического ЦП.
vcpu
string
Номер виртуального ядра ЦП.
cpu_shares
integer
Установить долю ЦП для этой виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
cpu_sockets
integer
Количество сокетов виртуальных ядер ЦП виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
cpu_threads
integer
Количество потоков на ядро виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
custom_compatibility_version
string
Разрешает настроить виртуальную машину на собственный уровень совместимости. Если 'custom_compatibility_version' задан, он переопределяет уровень совместимости кластера для этой конкретной виртуальной машины.
custom_emulated_machine
string
Устанавливает значение атрибута custom_emulated_machine.
custom_properties
list / elements=dictionary
Свойства, отправленные в VDSM для настройки различных хуков.
Настраиваемые свойства представляют собой список словарей, которые могут содержать следующие значения:
name
string
Имя настраиваемого свойства. Например: hugepages, vhost, sap_agent и т.д.
regexp
string
Регулярное выражение для настраиваемого свойства.
value
string
Значение для настраиваемого свойства.
delete_protected
boolean
    Choices:
  • no
  • yes
Если yes, виртуальная машина будет защищена от удаления.
Если no, виртуальная машина не будет защищена от удаления.
Если значение не передано, значение по умолчанию устанавливается движком oVirt/RHV.
description
string
Описание виртуальной машины.
disk_format
string
    Choices:
  • cow ←
  • raw
Укажите формат диска.
Если используется формат cow, диск будет создан как разреженный, поэтому место для тома будет выделено по мере необходимости, также известен как разреженное выделение.
Если используется формат raw, хранилище диска будет выделено сразу, также известен как предварительное выделение.
Обратите внимание, что этот параметр не является идемпотентным, так как в настоящее время невозможно изменить формат диска через API.
Этот параметр учитывается только при предоставлении template и storage domain.
disks
list / elements=dictionary
Список дисков, которые должны быть подключены к виртуальной машине. Диск описывается следующим словарем.
activate
boolean
    Choices:
  • no
  • yes
True, если диск должен быть активирован, по умолчанию активирован.
ПРИМЕЧАНИЕ - Этот параметр используется только тогда, когда state running или present и может только подключать диски. Чтобы более глубоко управлять дисками ВМ, используйте модуль ovirt.ovirt.ovirt_disk вместо этого.
bootable
boolean
    Choices:
  • no
  • yes
True, если диск должен быть загрузочным, по умолчанию не загрузочный.
id
string
Идентификатор диска. Требуется либо name, либо id.
interface
string
    Choices:
  • virtio ←
  • ide
Интерфейс диска.
name
string
Имя диска. Требуется либо name, либо id.
domain_mappings
list / elements=dictionary
Маппинг, который отображает имя домена aaa между OVF виртуальной машины и целевым домена aaa, в который эта виртуальная машина должна быть зарегистрирована, актуально, когда state зарегистрирована. Отображение домена aaa описывается следующим словарем:
END_OF_DOCUMENT_MARKER
dest_name
string
Имя домена назначения aaa.
source_name
string
Имя домена источника aaa.
exclusive
boolean
    Выбираемые значения:
  • нет
  • да
Если state экспортируется, этот параметр указывает, следует ли перезаписывать существующую ВМ с тем же именем.
export_domain
string
При экспорте state этот параметр указывает имя домена экспорта хранилища.
export_ova
dictionary
Словарь значений, используемых для экспорта ВМ в формате OVA.
directory
string
Имя каталога, в который необходимо экспортировать OVA.
filename
string
Имя экспортированного файла OVA.
host
string
Имя хоста назначения, куда необходимо экспортировать OVA.
fetch_nested
boolean
    Выбираемые значения:
  • нет
  • да
Если истина, модуль извлечёт дополнительные данные из API.
Он извлечёт идентификаторы дисков ВМ, снимков и т. д. Пользователь может настроить извлечение других атрибутов вложенных сущностей, указав nested_attributes.
force
boolean
    Выбираемые значения:
  • нет ←
  • да
Для получения более подробного описания параметра force, обратитесь к Синопсису. Его поведение может отличаться в разных ситуациях.
force_migrate
boolean
    Выбираемые значения:
  • нет
  • да
Если истина, ВМ будет мигрировать при placement_policy=user-migratable, но не при placement_policy=pinned.
graphical_console
dictionary
Назначает графический консоль виртуальной машине.
disconnect_action
string
Возвращает действие, которое будет выполнено при отключении графической консоли (только SPICE). Варианты:
нет Действие не выполняется.
заблокировать_экран Блокирует текущую активную сессию пользователя.
выйти Выходит из текущей активной сессии пользователя.
перезагрузить Инициализирует перезагрузку виртуальной машины.
выключить Инициализирует выключение виртуальной машины.
headless_mode
boolean
    Выбираемые значения:
  • нет
  • да
Если истина, отключает графическую консоль для этой виртуальной машины.
keyboard_layout
string
Макет клавиатуры для использования с этой графической консолью.
Этот параметр доступен только для типа консоли VNC.
Если клавиатура не включена, она не будет сообщаться.
monitors
integer
Количество мониторов, открытых для этой графической консоли.
Этот параметр доступен только для протокола SPICE.
Возможные значения: 1, 2 или 4.
protocol
list / elements=string
Графический протокол, список из spice, vnc или обоих.
high_availability
boolean
    Выбираемые значения:
  • нет
  • да
Если да, виртуальная машина будет настроена на высокодоступность.
Если нет, виртуальная машина не будет настроена на высокодоступность.
Если значение не передано, используется значение по умолчанию, заданное движком oVirt/RHV.
high_availability_priority
integer
Указывает приоритет виртуальной машины в очередях запуска и миграции. Виртуальные машины с более высоким приоритетом будут запускаться и мигрироваться раньше виртуальных машин с более низким приоритетом. Значение — целое число от 0 до 100. Чем выше значение, тем выше приоритет.
Если значение не передано, используется значение по умолчанию, заданное движком oVirt/RHV.
host
string
Указывает хост, на котором должна работать виртуальная машина. По умолчанию хост выбирается планировщиком движка.
Этот параметр используется только, когда state находится в состоянии запущен или есть.
host_devices
list / elements=dictionary
Технология Single Root I/O Virtualization, которая позволяет одному устройству экспонировать несколько точек входа, которые могут быть переданы ВМ
host_devices — это список, содержащий словарь с именем и состоянием устройства
id
string
Идентификатор виртуальной машины для управления.
initrd_path
string
Путь к начальной ramdisk, используемой с ядром, указанным параметром kernel_path.
Изображение ramdisk должно храниться либо в домене ISO, либо в хранилище хоста.
instance_type
string
Имя конфигурации аппаратного обеспечения виртуальной машины.
По умолчанию тип экземпляра не используется.
io_threads
integer
Количество потоков ввода/вывода, используемых виртуальной машиной. 0 означает отключение потоков ввода/вывода.
kernel_params
string
Параметры командной строки ядра (в формате строки), которые будут использоваться с ядром, указанным параметром kernel_path.
kernel_params_persist
boolean
    Выбираемые значения:
  • нет
  • да
Если истина, kernel_params, initrd_path и kernel_path будут сохраняться в конфигурации виртуальной машины; если ложь, они будут использоваться только один раз.
kernel_path
string
Путь к изображению ядра, используемому для загрузки виртуальной машины.
Изображение ядра должно храниться либо в домене ISO, либо в хранилище хоста.
kvm
dictionary
Словарь значений, используемых для подключения к kvm и импорта виртуальной машины в oVirt.
drivers_iso
string
Имя ISO, содержащего драйверы, которые могут быть использованы во время процесса преобразования virt-v2v.
name
string
Имя виртуальной машины KVM.
password
string
Пароль для аутентификации в KVM.
sparse
boolean
    Выбираемые значения:
  • нет
  • да ←
Указывает политику выделения диска для результирующей виртуальной машины. Истина для разряженного, ложь для предварительно выделенного.
storage_domain
string
Указывает целевой домен хранения для преобразованных дисков. Это обязательный параметр.
url
string
URL, передаваемый инструменту virt-v2v для преобразования.
Например, qemu:///system. Это обязательный параметр.
username
string
Имя пользователя для аутентификации в KVM.
lease
string
Имя домена хранения, на котором находится аренда этой виртуальной машины. Передайте пустую строку, чтобы удалить аренду.
ПРИМЕЧАНИЕ — Поддерживается начиная с oVirt 4.1.
lun_mappings
list / elements=dictionary
Маппинг, сопоставляющий LUN между OVF ВМ и целевым LUN, которое должна содержать эта ВМ. Актуален, когда state зарегистрирован. lun_mappings описывается следующим словарем:
logical_unit_address
string
Адрес хоста блочного хранилища.
logical_unit_id
string
Номер логической единицы для идентификации логической единицы,
logical_unit_password)
string
Пароль для подключения к хосту блочного хранилища.
logical_unit_port
string
Порт, используемый для подключения к диску LUN.
logical_unit_portal
string
Портал, используемый для подключения к диску LUN.
logical_unit_target
string
Спецификация iSCSI, расположенная на сервере iSCSI
logical_unit_username
string
Имя пользователя, используемое для подключения к хосту хранения блочных данных.
storage_type
string
Тип хранилища, на котором находится LUN (iscsi или fcp).
memory
string
Объем памяти виртуальной машины. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB).
Значение по умолчанию устанавливается движком.
memory_guaranteed
string
Минимальный гарантированный объем памяти виртуальной машины. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB).
memory_guaranteed параметр не может быть меньше, чем memory параметр.
Значение по умолчанию устанавливается движком.
memory_max
string
Максимальный предел памяти виртуальной машины, до которого можно производить динамическое добавление памяти. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB).
Значение по умолчанию устанавливается движком.
migrate
boolean
    Варианты:
  • no
  • yes
Если true, ВМ будет мигрировать на любой доступный хост.
name
string
Имя виртуальной машины для управления.
Если ВМ не существует, name является обязательным. В противном случае можно использовать id или name.
nested_attributes
list / elements=string
Указывает список атрибутов, которые должны быть получены из API.
Этот параметр применяется только тогда, когда fetch_nested имеет значение true.
next_run
boolean
    Варианты:
  • no
  • yes
Если true, обновление не будет применено к ВМ сразу и будет применено только при перезапуске виртуальной машины.
ПРИМЕЧАНИЕ - Если есть несколько изменений конфигурации next_run на ВМ, первое изменение может быть отменено, если этот параметр не передан.
nics
list / elements=dictionary
Список сетевых адаптеров (NIC), которые должны быть подключены к виртуальной машине. NIC описывается следующим словарем.
interface
string
    Варианты:
  • virtio ←
  • e1000
  • rtl8139
Тип сетевого интерфейса.
mac_address
string
Пользовательский MAC-адрес сетевого интерфейса, по умолчанию он получен из пула MAC-адресов.
ПРИМЕЧАНИЕ - Этот параметр используется только тогда, когда state находится в состоянии running или present и способен создавать только NIC. Для более глубокого управления сетевыми адаптерами ВМ используйте модуль ovirt.ovirt.ovirt_nic вместо этого.
name
string
Имя сетевого адаптера.
profile_name
string
Имя профиля, к которому должен быть подключен сетевой адаптер.
numa_nodes
list / elements=dictionary
Список узлов vNUMA для установки для этой ВМ и привязки их к физическому узлу NUMA назначенного хоста.
Каждый узел vNUMA описывается следующим словарем:
cores
list / elements=string / required
Список индексов ядер CPU ВМ, которые должны быть включены в этот узел NUMA.
index
string / required
Индекс этого узла NUMA.
memory
string / required
Размер памяти узла NUMA в MiB.
numa_node_pins
list / elements=string
Список индексов физических узлов NUMA, к которым следует привязать этот виртуальный узел NUMA.
numa_tune_mode
string
    Варианты:
  • interleave
  • preferred
  • strict
Устанавливает способ применения распределения памяти для узлов NUMA этой ВМ (актуально, если для этой ВМ настроены узлы NUMA).
Может быть одним из следующих: interleave, preferred или strict.
Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV.
operating_system
string
Операционная система виртуальной машины, например, 'rhel_8x64'.
Значение по умолчанию устанавливается движком oVirt/RHV.
Используйте модуль ovirt.ovirt.ovirt_vm_os_info для получения текущего списка.
placement_policy
string
Конфигурация политики размещения виртуальной машины.
Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV.
Политика размещения может иметь одно из следующих значений:
migratable
string
Разрешить ручную и автоматическую миграцию.
pinned
string
Запретить миграцию.
user_migratable
string
Разрешить только ручную миграцию.
poll_interval
integer
По умолчанию:
3
Количество секунд, в течение которого модуль ожидает, прежде чем отправить запрос на проверку состояния сущности.
quota_id
string
Идентификатор квоты виртуальной машины, используемый для диска. По умолчанию квота выбирается движком oVirt/RHV.
reassign_bad_macs
boolean
    Варианты:
  • no
  • yes
Указывает, следует ли переназначать плохие MAC-адреса при регистрации state.
rng_device
string
Генератор случайных чисел (RNG). Можно выбрать одно из следующих устройств: urandom, random или hwrng.
Для выбора hwrng необходимо сначала включить его в кластере.
/dev/urandom используется для версии кластера >= 4.1, а /dev/random - для версии кластера <= 4.0
role_mappings
list / elements=dictionary
Маппер, который отображает имя роли между OVF ВМ и целевой ролью, к которой должна быть зарегистрирована эта ВМ. Применимо, когда state регистрируется. Карта ролей описывается следующим словарем:
dest_name
string
Имя целевой роли.
source_name
string
Имя исходной роли.
serial_console
boolean
    Варианты:
  • no
  • yes
True включает консоль VirtIO serial, False - отключает её. По умолчанию выбирается движком oVirt/RHV.
serial_policy
string
    Варианты:
  • vm
  • host
  • custom
Указывает политику присвоения серийного номера виртуальной машины.
Поддерживаются следующие варианты.
vm - Устанавливает UUID виртуальной машины в качестве её серийного номера.
host - Устанавливает UUID хоста в качестве серийного номера виртуальной машины.
custom - Позволяет указать пользовательский серийный номер в serial_policy_value.
serial_policy_value
string
Позволяет указать пользовательский серийный номер.
Этот параметр используется только при значении serial_policy custom.
smartcard_enabled
boolean
    Варианты:
  • no
  • yes
Если true, используется аутентификация с помощью смарт-карты.
snapshot_name
string
Снимок для клонирования ВМ.
Снимок с указанным описанием должен существовать.
Необходимо указать параметр snapshot_vm с именем виртуальной машины этого снимка.
snapshot_vm
string
Исходная ВМ для клонирования ВМ.
ВМ должна иметь снимок, указанный параметром snapshot.
Если указан snapshot_name, то необходим параметр snapshot_vm.
soundcard_enabled
boolean
    Варианты:
  • no
  • yes
Если true, звуковая карта добавляется к виртуальной машине.
sso
boolean
    Варианты:
  • no
  • yes
True включает Single Sign On с помощью Guest Agent, False - отключает его. По умолчанию выбирается движком oVirt/RHV.
состояние
строка
    Варианты:
  • отсутствует
  • следующее_выполнение
  • присутствует ←
  • зарегистрировано
  • работает
  • остановлено
  • приостановлено
  • экспортировано
  • перезагрузка
Должно ли виртуальное устройство работать/быть остановленным/присутствовать/отсутствовать/приостановленным/следующее_выполнение/зарегистрированным/экспортированным/перезагруженным. Когда state зарегистрировано, и имя незарегистрированного ВМ принадлежит уже зарегистрированному в движке ВМ в том же ЦОД, то мы не можем зарегистрировать незарегистрированную шаблон.
состояние присутствует создаст/обновит ВМ и не изменит его состояние, если оно уже существует.
состояние работает создаст/обновит ВМ и запустит его.
состояние следующее_выполнение обновляет ВМ и, если у ВМ есть конфигурация следующего выполнения, он будет перезагружен.
Пожалуйста, проверьте примечания для более подробного описания состояний.
состояние экспортировано экспортирует ВМ в область экспорта или как OVA.
зарегистрировано поддерживается с версии 2.4.
перезагрузка поддерживается с версии 2.10, виртуальная машина перезагружается только если она в рабочем состоянии.
бессостояние
булево
    Варианты:
  • нет
  • да
Если да виртуальная машина будет установлена как бессостояние.
Если нет виртуальная машина будет снята с бессостояния.
Если значение не передано, значение по умолчанию устанавливается движком oVirt/RHV.
область_хранения
строка
Имя области хранения, где должны быть созданы все дисковые шаблоны.
Этот параметр учитывается только когда template указано.
ВАЖНО - этот параметр не идемпотентен, если ВМ существует и вы указываете другую область хранения, диск не переместится.
sysprep
словарь
Словарь со значениями для инициализации Windows виртуальной машины с помощью sysprep.
домен_активной_директории
строка
Организационная единица Active Directory, используемая для входа пользователя.
пользовательский_скрипт
строка
Пользовательское определение Sysprep в формате полного ответа файла автоматизированной установки.
домен
строка
Домен, который должен быть установлен для Windows виртуальной машины.
имя_хоста
строка
Имя хоста, которое должно быть установлено для виртуальной машины при развертывании.
локальная_языковая_настройка_ввода
строка
Локализация ввода Windows виртуальной машины.
название_организации
строка
Название организации, которое должно быть установлено для Windows виртуальной машины.
пароль_корневого_пользователя
строка
Пароль, который должен быть установлен для имени пользователя в Windows виртуальной машине.
локальная_языковая_настройка_системы
строка
Локализация системы Windows виртуальной машины.
часовой_пояс
строка
Часовой пояс, который должен быть установлен для Windows виртуальной машины.
язык_пользовательского_интерфейса
строка
Язык пользовательского интерфейса Windows виртуальной машины.
имя_пользователя
строка
Имя пользователя, которое должно использоваться для установки пароля в Windows виртуальной машине.
ключ_лицензии_windows
строка
Ключ лицензии, который должен быть установлен для Windows виртуальной машины.
шаблон
строка
Имя шаблона, который должен использоваться для создания виртуальной машины.
Требуется при создании ВМ.
Если шаблон не указан и ВМ не существует, ВМ будет создана из шаблона Пустой.
версия_шаблона
целое_число
Номер версии шаблона, который должен использоваться для ВМ.
По умолчанию используется последняя доступная версия шаблона.
билет
булево
    Варианты:
  • нет
  • да
Если истина, в дополнение возвращает remote_vv_file внутри vm словаря, который содержит совместимое содержимое для приложения удалённого просмотра. Работает только если state работает.
таймаут
целое_число
По умолчанию:
180
Время в секундах, которое модуль должен ждать, пока экземпляр не перейдёт в требуемое состояние.
часовой_пояс
строка
Устанавливает смещение часового пояса системных часов гостевой ОС.
Например Etc/GMT
тип
строка
    Варианты:
  • рабочий_стол
  • сервер
  • высокая_производительность
Тип виртуальной машины.
Значение по умолчанию устанавливается движком oVirt/RHV.
высокая_производительность поддерживается с Ansible 2.5 и oVirt/RHV 4.2.
поддержка_usb
булево
    Варианты:
  • нет
  • да
Истина включает поддержку USB, ложь - чтобы отключить её. По умолчанию выбирается движком oVirt/RHV.
использовать_последнюю_версию_шаблона
булево
    Варианты:
  • нет
  • да
Указать, следует ли использовать последнюю версию шаблона при запуске бессостоятельной ВМ.
Если этот параметр установлен в да, бессостоятельная ВМ создаётся.
vmware
словарь
Словарь значений, используемых для подключения к VMware и импорта виртуальной машины в oVirt.
iso_драйверов
строка
Имя ISO, содержащее драйверы, которые могут использоваться во время процесса преобразования virt-v2v.
пароль
строка
Пароль для аутентификации в VMware.
разреженное_хранение
булево
    Варианты:
  • нет
  • да ←
Указывает политику выделения диска для получившейся виртуальной машины. истина для разреженного, ложь для предварительного выделения.
область_хранения
строка
Указывает целевую область хранения для преобразованных дисков. Это обязательный параметр.
url
строка
URL, который должен передаваться инструменту virt-v2v для преобразования.
Например vpx://wmware_user@vcenter-host/DataCenter/Cluster/esxi-host?no_verify=1
имя_пользователя
строка
Имя пользователя для аутентификации в VMware.
отображения_профилей_vnic
список / элементы=словарь
Маппер, который сопоставляет внешний профиль виртуального сетевого интерфейса с профилем, существующим в движке, когда state зарегистрировано. vnic_profile описывается следующим словарем:
имя_сети_источника
строка
Имя сети источника.
имя_профиля_источника
строка
Имя профиля, связанного с исходной сетью.
id_целевого_профиля
строка
Идентификатор целевого профиля для сопоставления в движке.
ждать
булево
    Варианты:
  • нет
  • да ←
yes если модуль должен ждать, пока сущность перейдёт в требуемое состояние.
монитор
словарь
Назначить устройство монитора для виртуальной машины.
Монитор - словарь, который может иметь следующие значения:
действие
строка
Действие монитора, которое должно быть выполнено при срабатывании монитора. Например: none, reset, poweroff, pause или dump.
модель
строка
Модель устройства монитора. Например: i6300esb, diag288 или null.
xen
словарь
Словарь значений, используемых для подключения к XEN и импорта виртуальной машины в oVirt.
iso_драйверов
строка
Имя ISO, содержащее драйверы, которые могут использоваться во время процесса преобразования virt-v2v.
разреженное_хранение
булево
    Варианты:
  • нет
  • да ←
Указывает политику выделения диска для получившейся виртуальной машины. истина для разреженного, ложь для предварительного выделения.
storage_domain
string
Указывает целевой домен хранения для конвертируемых дисков. Это обязательный параметр.
url
string
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.4.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.ovirt.ovirt_vm:
    state: present
    name: myvm
    template: rhel7_template
    cluster: mycluster

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

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

- name: Register VM, allowing partial import
  ovirt.ovirt.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.ovirt.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.ovirt.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.ovirt.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.ovirt.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.ovirt.ovirt_vm:
    id: 00000000-0000-0000-0000-000000000000
    name: "new_vm_name"

- name: Run VM with cloud init
  ovirt.ovirt.ovirt_vm:
    name: rhel7
    template: rhel7
    cluster: Default
    memory: 1GiB
    high_availability: true
    high_availability_priority: 50  # Available from Ansible 2.5
    cloud_init:
      dns_servers: '8.8.8.8 8.8.4.4'
      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
      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.ovirt.ovirt_vm:
    name: rhel7_4
    template: rhel7
    cluster: mycluster
    cloud_init_nics:
    - nic_name: eth0
      nic_boot_protocol: dhcp
    - 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
    # 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_name: eth3
      nic_boot_protocol_v6: dhcp

- name: Run VM with sysprep
  ovirt.ovirt.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.ovirt.ovirt_vm:
    state: running
    name: myvm
    host: host1

- name: Migrate VM to any available host
  ovirt.ovirt.ovirt_vm:
    state: running
    name: myvm
    migrate: true

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

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

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

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

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

- name: Hot plug memory to already created and running VM (VM won't be restarted)
  ovirt.ovirt.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.ovirt.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.ovirt.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.ovirt.ovirt_vm:
    state: next_run
    name: myvm
    boot_devices:
      - network

- name: Import virtual machine from VMware
  ovirt.ovirt.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.ovirt.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.ovirt.ovirt_vm:
    state: absent
    name: myvm

# Defining a specific quota for a VM:
# Since Ansible 2.5
- ovirt.ovirt.ovirt_quotas_info:
    data_center: Default
    name: myquota
  register: ovirt_quotas
- ovirt.ovirt.ovirt_vm:
    name: myvm
    sso: False
    boot_menu: True
    bios_type: q35_ovmf
    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.ovirt.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.ovirt.ovirt_vm:
      name: myvm
      ticket: true
      state: running
    register: myvm

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

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

# Default value of host_device state is present
- name: Attach host devices to virtual machine
  ovirt.ovirt.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.ovirt.ovirt_vm:
    name: myvm
    state: exported
    cluster: mycluster
    export_ova:
        host: myhost
        filename: myvm.ova
        directory: /tmp/

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

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

- name: Cpu pinning of 0#12_1#13_2#14_3#15
  ovirt.ovirt.ovirt_vm:
    state: present
    cluster: mycluster
    name: myvm
    cpu_pinning:
      - cpu: 12
        vcpu: 0
      - cpu: 13
        vcpu: 1
      - cpu: 14
        vcpu: 2
      - cpu: 15
        vcpu: 3

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

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

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

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



Авторы

  • Ondřej Mačánek (@machacekondra)
  • Martin Nečas (@mnecas)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ovirt/ovirt/ovirt_vm_module.html

Spec-Zone.ru

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