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 ]. Значение по умолчанию задается движком 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 - |
| Установка протокола загрузки сетевого интерфейса виртуальной машины. | |
| nic_boot_protocol_v6 - добавлен в 2.9 |
| Установка протокола загрузки сетевого интерфейса виртуальной машины. | |
| 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 |
| Если True, сетевой интерфейс будет настроен на запуск при загрузке. | |
| regenerate_ssh_keys boolean |
| Если 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 |
| Если True, сетевой интерфейс будет настроен на запуск при загрузке. | |
| cloud_init_persist boolean добавлено в 2.5 |
| Если 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. | ||
| 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 |
| Если yes, виртуальная машина будет защищена от удаления. Если no, виртуальная машина не будет защищена от удаления. Если значение не передано, используется значение по умолчанию, установленное движком oVirt/RHV. | |
| description - | Описание виртуальной машины. | ||
| disk_format - added in 2.4 |
| Указывает формат диска. Если используется формат cow, диск будет создан как разреженный, поэтому пространство будет выделено для тома по мере необходимости, также известное как тонкое выделение.Если используется формат raw, хранилище диска будет выделено сразу, также известное как предварительное выделение.Обратите внимание, что этот параметр не идемпотентен, так как в настоящее время нельзя изменить формат диска через API. Этот параметр учитывается только при указании template и storage domain. | |
| disks - | Список дисков, которые должны быть подключены к виртуальной машине. Диск описывается следующим словарем. | ||
| activate boolean |
|
True, если диск должен быть активирован, по умолчанию активирован. ПРИМЕЧАНИЕ - Этот параметр используется только тогда, когда state находится в состоянии running или present и способен только подключать диски. Для более глубокого управления дисками ВМ используйте модуль ovirt_disk вместо этого. | |
| bootable boolean |
|
True, если диск должен быть загрузочным, по умолчанию не загрузочный. | |
| id - | Идентификатор диска. Требуется либо name, либо id. | ||
| interface - |
| Интерфейс диска. | |
| 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 |
| Когда state экспортируется, этот параметр указывает, следует ли перезаписывать существующую виртуальную машину с тем же именем. | |
| export_domain - added in 2.8 | При экспорте state этот параметр указывает имя целевого домена хранения. | ||
| export_ova - added in 2.8 | Словарь значений, которые будут использованы для экспорта виртуальной машины в формате OVA. | ||
| directory - | Имя каталога, в который необходимо экспортировать OVA. | ||
| filename - | Имя экспортированного файла OVA. | ||
| host - | Имя целевого хоста, куда необходимо экспортировать OVA. | ||
| fetch_nested boolean |
| Если True, модуль получит дополнительные данные с API. Он получит идентификаторы дисков, снимков и т.д. ВМ. Пользователь может настроить получение других атрибутов вложенных сущностей, указав nested_attributes. | |
| force boolean |
| Для более подробного описания параметра force см. раздел Synopsis. Он может вести себя по-разному в разных ситуациях. | |
| force_migrate boolean added in 2.8 |
| Если true, ВМ будет мигрирована, когда placement_policy=user-migratable, но не когда placement_policy=pinned. | |
| graphical_console - added in 2.5 | Назначает графический консоль виртуальной машине. | ||
| headless_mode boolean |
| Если true, отключает графический консоль для этой виртуальной машины. | |
| protocol - | Графический протокол, список spice, vnc или оба. | ||
| high_availability boolean |
| Если 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 |
| Если 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 |
| Устанавливает политику выделения диска для полученной виртуальной машины. 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 |
| Если true, виртуальная машина будет мигрировать на любой доступный хост. | |
| name - | Имя виртуальной машины для управления. Если виртуальная машина не существует, name является обязательным. В противном случае можно использовать id или name. | ||
| nested_attributes list | Указывает список атрибутов, которые должны быть получены из API. Этот параметр применяется только когда fetch_nested равно true. | ||
| next_run boolean добавлено в 2.8 |
| Если true, обновление не будет применено к виртуальной машине сразу и будет применено только при перезапуске виртуальной машины. ПРИМЕЧАНИЕ — Если есть несколько изменений конфигурации next run для виртуальной машины, первое изменение может быть отменено, если этот параметр не передан. | |
| nics - | Список сетевых адаптеров, которые должны быть подключены к виртуальной машине. Сетевой адаптер описывается следующим словарем. | ||
| interface - |
| Тип сетевого адаптера. | |
| 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 |
| Указывает, как применяется распределение памяти для узлов 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 |
| Логическое значение, указывающее, нужно ли переназначать плохие 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 |
|
True включает консоль VirtIO, False — отключает её. По умолчанию выбирается движком oVirt/RHV. | |
| serial_policy - |
| Указывает политику присвоения серийного номера для виртуальной машины. Поддерживаются следующие варианты. vm — устанавливает UUID виртуальной машины в качестве серийного номера.host — устанавливает UUID хоста в качестве серийного номера виртуальной машины.custom — позволяет указать пользовательский серийный номер в serial_policy_value. | |
| serial_policy_value - | Позволяет указать пользовательский серийный номер. Этот параметр используется только когда serial_policy равен custom. | ||
| smartcard_enabled логическое добавлено в 2.5 |
| Если true, использовать аутентификацию с помощью смарт-карты. | |
| snapshot_name - добавлено в 2.9 | Снимок, с которого нужно клонировать виртуальную машину. Снимок с указанным описанием должен существовать. Необходимо указать параметр snapshot_vm с именем виртуальной машины этого снимка. | ||
| snapshot_vm - добавлено в 2.9 | Исходная виртуальная машина, с которой нужно клонировать виртуальную машину. У виртуальной машины должен быть указан снимок, определённый snapshot. Если snapshot_name указан, то snapshot_vm требуется. | ||
| soundcard_enabled логическое добавлено в 2.5 |
| Если true, звуковая карта добавлена в виртуальную машину. | |
| sso логическое добавлено в 2.5 |
|
True включает Single Sign On с помощью Guest Agent, False — отключает его. По умолчанию выбирается движком oVirt/RHV. | |
| state - |
| Виртуальная машина должна быть запущена/остановлена/в режиме присутствия/отсутствия/приостановлена/в очереди запуска/зарегистрирована/экспортирована. Если state равно registered, и имя незарегистрированной виртуальной машины принадлежит уже зарегистрированной виртуальной машине в том же центре обработки данных, регистрация не будет выполнена.
Состояние present создаст/обновит виртуальную машину и не изменит её состояние, если она уже существует.
Состояние running создаст/обновит виртуальную машину и запустит её.
Состояние next_run обновит виртуальную машину и, если у неё есть конфигурация для следующего запуска, перезагрузит её. Для более подробного описания состояний см. раздел примечания.
Состояние exported экспортирует виртуальную машину в домен экспорта или в формате OVA.
Состояние registered поддерживается с версии 2.4. | |
| stateless логическое |
| Если 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 |
| Если true, кроме того, вернёт remote_vv_file внутри словаря vm, который содержит совместимое содержимое для приложения удалённого просмотра. Работает только если state запущен. | |
| timeout integer | По умолчанию: 180 | Количество времени в секундах, которое модуль должен ждать, пока экземпляр не перейдёт в желаемое состояние. | |
| timezone - | Устанавливает смещение часового пояса системных часов гостевой ОС. Например Etc/GMT | ||
| type - |
| Тип виртуальной машины. Значение по умолчанию устанавливается движком oVirt/RHV.
high_performance поддерживается с Ansible 2.5 и oVirt/RHV 4.2. | |
| usb_support boolean added in 2.5 |
|
True включить поддержку USB, False для её отключения. По умолчанию выбирается движком oVirt/RHV. | |
| use_latest_template_version boolean |
| Указать, следует ли использовать последнюю версию шаблона при запуске бессостоятельной ВМ. Если этот параметр установлен в yes, создаётся бессостоятельная ВМ. | |
| vmware - | Словарь значений, используемых для подключения к VMware и импорта виртуальной машины в oVirt. | ||
| drivers_iso - | Имя ISO, содержащего драйверы, которые могут быть использованы во время процесса преобразования virt-v2v. | ||
| password - | Пароль для аутентификации в VMware. | ||
| sparse boolean |
| Устанавливает политику выделения диска для получившейся виртуальной машины. 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 |
| 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