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 строка |
| Устанавливает тип BIOS, необходимый для некоторых операционных систем и безопасной загрузки. Если значение не передано, используется значение по умолчанию из кластера. ПРИМЕЧАНИЕ - Поддерживается с oVirt 4.3. | |
| boot_devices список / элементы=строка |
| Список устройств загрузки, которые должны быть использованы для загрузки. Например, [ 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 строка |
| Установите протокол загрузки сетевого интерфейса виртуальной машины. | |
| nic_boot_protocol_v6 строка |
| Установите протокол загрузки сетевого интерфейса виртуальной машины. | |
| 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 |
| Если 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 |
| Если yes, виртуальная машина будет защищена от удаления. Если no, виртуальная машина не будет защищена от удаления. Если значение не передано, значение по умолчанию устанавливается движком oVirt/RHV. | |
| description string | Описание виртуальной машины. | ||
| disk_format string |
| Укажите формат диска. Если используется формат cow, диск будет создан как разреженный, поэтому место для тома будет выделено по мере необходимости, также известен как разреженное выделение.Если используется формат raw, хранилище диска будет выделено сразу, также известен как предварительное выделение.Обратите внимание, что этот параметр не является идемпотентным, так как в настоящее время невозможно изменить формат диска через API. Этот параметр учитывается только при предоставлении template и storage domain. | |
| disks list / elements=dictionary | Список дисков, которые должны быть подключены к виртуальной машине. Диск описывается следующим словарем. | ||
| activate boolean |
|
True, если диск должен быть активирован, по умолчанию активирован. ПРИМЕЧАНИЕ - Этот параметр используется только тогда, когда state running или present и может только подключать диски. Чтобы более глубоко управлять дисками ВМ, используйте модуль ovirt.ovirt.ovirt_disk вместо этого. | |
| bootable boolean |
|
True, если диск должен быть загрузочным, по умолчанию не загрузочный. | |
| id string | Идентификатор диска. Требуется либо name, либо id. | ||
| interface string |
| Интерфейс диска. | |
| name string | Имя диска. Требуется либо name, либо id. | ||
| domain_mappings list / elements=dictionary | Маппинг, который отображает имя домена aaa между OVF виртуальной машины и целевым домена aaa, в который эта виртуальная машина должна быть зарегистрирована, актуально, когда state зарегистрирована. Отображение домена aaa описывается следующим словарем: | ||
| 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 |
| Если true, ВМ будет мигрировать на любой доступный хост. | |
| name string | Имя виртуальной машины для управления. Если ВМ не существует, name является обязательным. В противном случае можно использовать id или name. | ||
| nested_attributes list / elements=string | Указывает список атрибутов, которые должны быть получены из API. Этот параметр применяется только тогда, когда fetch_nested имеет значение true. | ||
| next_run boolean |
| Если true, обновление не будет применено к ВМ сразу и будет применено только при перезапуске виртуальной машины. ПРИМЕЧАНИЕ - Если есть несколько изменений конфигурации next_run на ВМ, первое изменение может быть отменено, если этот параметр не передан. | |
| nics list / elements=dictionary | Список сетевых адаптеров (NIC), которые должны быть подключены к виртуальной машине. NIC описывается следующим словарем. | ||
| interface string |
| Тип сетевого интерфейса. | |
| 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 |
| Устанавливает способ применения распределения памяти для узлов 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 |
| Указывает, следует ли переназначать плохие 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 |
|
True включает консоль VirtIO serial, False - отключает её. По умолчанию выбирается движком oVirt/RHV. | |
| serial_policy string |
| Указывает политику присвоения серийного номера виртуальной машины. Поддерживаются следующие варианты. vm - Устанавливает UUID виртуальной машины в качестве её серийного номера.host - Устанавливает UUID хоста в качестве серийного номера виртуальной машины.custom - Позволяет указать пользовательский серийный номер в serial_policy_value. | |
| serial_policy_value string | Позволяет указать пользовательский серийный номер. Этот параметр используется только при значении serial_policy custom. | ||
| smartcard_enabled boolean |
| Если true, используется аутентификация с помощью смарт-карты. | |
| snapshot_name string | Снимок для клонирования ВМ. Снимок с указанным описанием должен существовать. Необходимо указать параметр snapshot_vm с именем виртуальной машины этого снимка. | ||
| snapshot_vm string | Исходная ВМ для клонирования ВМ. ВМ должна иметь снимок, указанный параметром snapshot.Если указан snapshot_name, то необходим параметр snapshot_vm. | ||
| soundcard_enabled boolean |
| Если true, звуковая карта добавляется к виртуальной машине. | |
| sso boolean |
|
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