ovirt_vm – Модуль управления виртуальными машинами в oVirt/RHV
Новое в версии 2.2.
Обзор
- Этот модуль управляет полным жизненным циклом виртуальной машины (ВМ) в oVirt/RHV.
- Поскольку ВМ может находиться во многих состояниях в oVirt/RHV, см. примечания, чтобы узнать, как обрабатываются состояния ВМ.
Псевдонимы: ovirt_vms
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- ovirt-engine-sdk-python >= 4.2.4
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| affinity_group_mappings - добавлен в 2.5 | Отображение, сопоставляющее имя группы сродства между OVF виртуальной машины и целевой группой сродства, к которой эта виртуальная машина должна быть зарегистрирована. Актуально при регистрации state. | |
| affinity_label_mappings - добавлен в 2.5 | Отображение, сопоставляющее имя метки сродства между OVF виртуальной машины и целевой меткой, к которой эта виртуальная машина должна быть зарегистрирована. Актуально при регистрации state. | |
| allow_partial_import boolean добавлен в 2.4 |
| Логическое значение, указывающее, разрешить ли частичную регистрацию виртуальной машины при регистрации state. |
| auth - / обязательно | Словарь со значениями, необходимыми для создания HTTP/HTTPS-соединения с oVirt: username[обязательно] - Имя пользователя, например admin@internal. Значение по умолчанию устанавливается переменной среды OVIRT_USERNAME.password[обязательно] - Пароль пользователя. Значение по умолчанию устанавливается переменной среды OVIRT_PASSWORD.url - Строка, содержащая URL API сервера, обычно `https://server.example.com/ovirt-engine/api`. Значение по умолчанию устанавливается переменной среды OVIRT_URL. Требуется либо url, либо hostname. hostname - Строка, содержащая имя хоста сервера, обычно `server.example.com`. Значение по умолчанию устанавливается переменной среды OVIRT_HOSTNAME. Требуется либо url, либо hostname. token - Токен, используемый вместо входа с именем пользователя/паролем. Значение по умолчанию устанавливается переменной среды OVIRT_TOKEN.insecure - Логический флаг, указывающий, следует ли проверять сертификат сервера TLS и имя хоста.ca_file - Файл PEM, содержащий доверенные сертификаты CA. Представленный сервером сертификат будет проверен с использованием этих сертификатов CA. Если параметр `ca_file` не задан, используется системный хранилище сертификатов CA. Значение по умолчанию устанавливается переменной среды OVIRT_CAFILE.kerberos - Логический флаг, указывающий, следует ли использовать аутентификацию Kerberos вместо стандартной аутентификации.headers - Словарь HTTP-заголовков, которые необходимо добавить к каждому API-запросу. | |
| ballooning_enabled boolean добавлен в 2.5 |
| Если true, использовать балон памяти. Баллон памяти — это виртуальное устройство гостя, которое может использоваться для динамического перераспределения/освобождения памяти хоста в зависимости от потребностей виртуальной машины. Это позволяет создавать состояния перераспределения памяти. |
| boot_devices - |
| Список устройств загрузки, которые должны использоваться для загрузки. Например, [ cdrom, hd ]. Значение по умолчанию устанавливается движком oVirt/RHV. |
| boot_menu boolean добавлен в 2.5 |
|
True — включает меню для выбора устройства загрузки, False — отключает его. По умолчанию выбирается движком oVirt/RHV. |
| cd_iso - | ISO-файл из хранилища ISO-доменов, который необходимо подключить к виртуальной машине. Если передать пустую строку, диск CD будет извлечён из виртуальной машины. Если используется с state running или present и виртуальная машина запущена, диск CD будет подключен к виртуальной машине.Если используется с state running или present и виртуальная машина выключена, диск CD будет подключен к виртуальной машине постоянно. | |
| clone boolean |
| Если да, то диски созданной виртуальной машины будут клонированы и независимы от шаблона. Этот параметр используется только когда state running или present, и виртуальная машина не существовала ранее. |
| clone_permissions boolean |
| Если да, то права шаблона (только прямые, не унаследованные) будут скопированы в созданную виртуальную машину. Этот параметр используется только когда state running или present, и виртуальная машина не существовала ранее. |
| cloud_init - | Словарь со значениями для инициализации виртуальной машины Unix-подобного типа с использованием cloud init. host_name - Имя хоста, которое должно быть установлено для виртуальной машины при развертывании.timezone - Часовой пояс, который должен быть установлен для виртуальной машины при развертывании.user_name - Имя пользователя, которое будет использоваться для установки пароля виртуальной машины при развертывании.root_password - Пароль, который будет установлен для пользователя, указанного параметром user_name. authorized_ssh_keys - Используйте эти SSH-ключи для входа в виртуальную машину.regenerate_ssh_keys - Если True, SSH-ключи будут пересозданы на виртуальной машине.custom_script - Скрипт cloud-init, который будет выполнен на виртуальной машине при развертывании. Он добавляется в конец скрипта cloud-init, сгенерированного другими параметрами.dns_servers - Серверы DNS, которые должны быть настроены на виртуальной машине.dns_search - Домены поиска DNS, которые должны быть настроены на виртуальной машине.nic_boot_protocol - Установите протокол загрузки сетевого интерфейса виртуальной машины. Может быть одним из none, dhcp или static. nic_ip_address - Если протокол загрузки статический, установите этот IP-адрес для сетевого интерфейса виртуальной машины.nic_netmask - Если протокол загрузки статический, установите эту маску подсети для сетевого интерфейса виртуальной машины.nic_gateway - Если протокол загрузки статический, установите этот шлюз для сетевого интерфейса виртуальной машины.nic_name - Установите имя сетевого интерфейса виртуальной машины.nic_on_boot - Если True, сетевой интерфейс будет установлен на запуск при загрузке. | |
| cloud_init_nics - добавлен в 2.3 | Список словарей, представляющих сетевые интерфейсы, которые должны быть настроены cloud init. Этот параметр используется, когда необходимо настроить больше сетевых интерфейсов через cloud init. Если достаточно одного сетевого интерфейса, пользователь должен использовать параметры cloud_init nic_*. Параметры cloud_init nic_* объединяются с параметрами cloud_init_nics. Словарь может содержать следующие значения. nic_boot_protocol - Установите протокол загрузки сетевого интерфейса виртуальной машины. Может быть одним из none, dhcp или static. nic_ip_address - Если протокол загрузки статический, установите этот IP-адрес для сетевого интерфейса виртуальной машины.nic_netmask - Если протокол загрузки статический, установите эту маску подсети для сетевого интерфейса виртуальной машины.nic_gateway - Если протокол загрузки статический, установите этот шлюз для сетевого интерфейса виртуальной машины.nic_name - Установите имя сетевого интерфейса виртуальной машины.nic_on_boot - Если True, сетевой интерфейс будет установлен на запуск при загрузке. | |
| cloud_init_persist boolean добавлен в 2.5 |
| Если true, параметры cloud_init или sysprep будут сохранены для виртуальной машины и она не будет запускаться как одноразовая.псевдонимы: sysprep_persist |
| cluster - | Имя кластера, в котором должна быть создана виртуальная машина. Обязательно при создании виртуальной машины. | |
| cluster_mappings - добавлен в 2.5 | Отображение, сопоставляющее имя кластера между OVF виртуальной машины и целевым кластером, к которому эта виртуальная машина должна быть зарегистрирована. Актуально при регистрации state. Карта сопоставления кластеров описывается следующим словарем:source_name: Имя исходного кластера.dest_name: Имя целевого кластера. | |
| comment - добавлен в 2.3 | Комментарий к виртуальной машине. |
| cpu_cores - | Количество виртуальных ядер процессора виртуальной машины. Значение по умолчанию устанавливается движком oVirt/RHV. | |
| cpu_mode - добавлено в 2.5 | Режим процессора виртуальной машины. Может быть одним из следующих: host_passthrough, host_model или custom. Для типа процессора host_passthrough необходимо установить placement_policy в значение pinned.Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV. | |
| cpu_pinning - добавлено в 2.5 | Топология привязки процессора виртуальной машины к процессору хоста. Топология привязки процессора — список словарей, которые могут содержать следующие значения: cpu - Номер процессора хоста.vcpu - Номер процессора виртуальной машины. | |
| cpu_shares - | Установить долю процессорного времени для этой виртуальной машины. Значение по умолчанию устанавливается движком oVirt/RHV. | |
| cpu_sockets - | Количество сокетов виртуальных процессоров виртуальной машины. Значение по умолчанию устанавливается движком oVirt/RHV. | |
| cpu_threads - добавлено в 2.5 | Количество сокетов виртуальных процессоров виртуальной машины. Значение по умолчанию устанавливается движком oVirt/RHV. | |
| custom_compatibility_version - добавлено в 2.7 | Разрешает настроить виртуальную машину на собственную версию совместимости. Если ' custom_compatibility_version' установлено, это переопределяет версию совместимости кластера для данной виртуальной машины. | |
| custom_properties - добавлено в 2.5 | Свойства, передаваемые VDSM для настройки различных хуков. Настраиваемые свойства — список словарей, которые могут содержать следующие значения: name - Имя настраиваемого свойства. Например: hugepages, vhost, sap_agent и т. д.regexp - Регулярное выражение для настраиваемого свойства.value - Значение для настраиваемого свойства. | |
| delete_protected boolean |
| Если yes, виртуальная машина будет защищена от удаления. Если no, виртуальная машина не будет защищена от удаления. Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV. |
| description - добавлено в 2.3 | Описание виртуальной машины. | |
| disk_format - добавлено в 2.4 |
| Укажите формат диска. Если используется формат cow, диск будет создан как разряженный, поэтому место будет выделено для тома по мере необходимости, что также известно как тонкое выделение.Если используется формат raw, хранилище диска будет выделено сразу, что также известно как предварительное выделение.Обратите внимание, что этот параметр не является идемпотентным, так как в настоящее время невозможно изменить формат диска через API. Этот параметр учитывается только при указании template и storage domain. |
| disks - | Список дисков, которые должны быть подключены к виртуальной машине. Диск описывается следующим словарем. name - Имя диска. Требуется либо name, либо id. id - Идентификатор диска. Требуется либо name, либо id. interface - Интерфейс диска, либо virtio, либо IDE, по умолчанию — virtio.bootable - True, если диск должен быть загрузочным, по умолчанию — нет.activate - True, если диск должен быть активирован, по умолчанию — активирован.ПРИМЕЧАНИЕ. Этот параметр используется только когда state — running или present и может только подключать диски. Чтобы более глубоко управлять дисками ВМ, используйте модуль ovirt_disks вместо этого. | |
| domain_mappings - добавлено в 2.5 | Маппинг, сопоставляющий доменное имя aaa между OVF ВМ и целевым доменным именем aaa, к которому ВМ должна быть зарегистрирована, актуально при регистрации state. Маппинг домена aaa описывается следующим словарем:source_name: Имя исходного домена aaa.dest_name: Имя целевого домена aaa. | |
| fetch_nested boolean добавлено в 2.3 |
| Если True, модуль извлечёт дополнительные данные из API. Он извлечёт идентификаторы дисков ВМ, снимков и т. д. Пользователь может настроить извлечение других атрибутов вложенных сущностей, указав nested_attributes. |
| force boolean |
| Для более подробного описания параметра force обратитесь к разделу Описание, он может по-разному работать в разных ситуациях. |
| graphical_console - добавлено в 2.5 | Назначить графический консоль виртуальной машине. Графическая консоль — словарь, который может содержать следующие значения: headless_mode - Если true, отключить графическую консоль для данной виртуальной машины.protocol - Графический протокол, список из spice, vnc или обоих. | |
| high_availability boolean |
| Если yes, виртуальная машина будет настроена на высокодоступность. Если no, виртуальная машина не будет настроена на высокодоступность. Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV. |
| high_availability_priority - добавлено в 2.5 | Указывает приоритет виртуальной машины в очередях запуска и миграции. Виртуальные машины с более высоким приоритетом будут запускаться и мигрироваться перед виртуальными машинами с более низким приоритетом. Значение — целое число от 0 до 100. Чем выше значение, тем выше приоритет. Если значение не указано, значение по умолчанию устанавливается движком oVirt/RHV. | |
| host - | Укажите хост, на котором должна выполняться виртуальная машина. По умолчанию хост выбирается планом задач двигателя. Этот параметр используется только когда state — running или present. | |
| host_devices - добавлено в 2.7 | Single Root I/O Virtualization — технология, которая позволяет одному устройству экспонировать несколько конечных точек, которые могут быть переданы ВМ. host_devices — список, содержащий словарь с именем и состоянием устройства. | |
| id - | Идентификатор виртуальной машины, которую нужно управлять. | |
| initrd_path - добавлено в 2.3 | Путь к начальному образам оперативной памяти, который будет использоваться с ядром, указанным параметром kernel_path.Изображение образов оперативной памяти должно храниться либо в домене ISO, либо в хранилище хоста. | |
| instance_type - добавлено в 2.3 | Имя конфигурации аппаратного обеспечения виртуальной машины. По умолчанию тип экземпляра не используется. | |
| io_threads - добавлено в 2.5 | Количество потоков ввода-вывода, используемых виртуальной машиной. 0 означает отключение потоков ввода-вывода. |
| kernel_params - added in 2.3 | Параметры командной строки ядра (форматированные как строка), которые следует использовать с ядром, указанным параметром kernel_path. | |
| kernel_path - added in 2.3 | Путь к изображению ядра, используемому для загрузки виртуальной машины. Изображение ядра должно храниться либо в домене ISO, либо в хранилище хоста. | |
| kvm - added in 2.3 | Словарь значений, используемых для подключения к kvm и импорта виртуальной машины в oVirt. Словарь может содержать следующие значения. name - Имя виртуальной машины KVM.username - Имя пользователя для аутентификации в KVM.password - Пароль для аутентификации в KVM.url - URL, который должен быть передан инструменту virt-v2v для преобразования. Например, qemu:///system. Этот параметр является обязательным.drivers_iso - Имя ISO, содержащего драйверы, которые могут быть использованы во время процесса преобразования virt-v2v.sparse - Указывает политику выделения дисков для полученной виртуальной машины. true для разреженных, false для предварительно выделенных. Значение по умолчанию — true.storage_domain - Указывает целевой домен хранилища для преобразованных дисков. Этот параметр является обязательным. | |
| lease - added in 2.4 | Имя домена хранилища, в котором находится аренда виртуальной машины. ПРИМЕЧАНИЕ. Поддерживается начиная с oVirt 4.1. | |
| lun_mappings - added in 2.5 | Карта, которая сопоставляет LUN между OVF виртуальной машины и целевым LUN, которое должна содержать эта виртуальная машина. Актуально, когда state зарегистрирована. lun_mappings описывается следующим словарем: - logical_unit_id: Логический номер устройства для идентификации логического устройства, - logical_unit_port: Порт, используемый для подключения к диску LUN, - logical_unit_portal: Портал, используемый для подключения к диску LUN, - logical_unit_address: Адрес хоста блочного хранилища, - logical_unit_target: Спецификация iSCSI, расположенная на сервере iSCSI, - logical_unit_username: Имя пользователя, используемое для подключения к хосту блочного хранилища, - logical_unit_password: Пароль, используемый для подключения к хосту блочного хранилища, - storage_type: Тип хранилища, на котором находится LUN (iscsi или fcp) | |
| memory - | Объем памяти виртуальной машины. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB). Значение по умолчанию устанавливается движком. | |
| memory_guaranteed - | Объем минимально гарантированной памяти виртуальной машины. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB). memory_guaranteed параметр не может быть меньше memory параметра.Значение по умолчанию устанавливается движком. | |
| memory_max - added in 2.5 | Верхний предел памяти виртуальной машины, до которого можно выполнять динамическое увеличение памяти. Префикс использует стандарт IEC 60027-2 (например, 1GiB, 1024MiB). Значение по умолчанию устанавливается движком. | |
| name - | Имя виртуальной машины для управления. Если виртуальная машина не существует, name требуется. В противном случае можно использовать id или name. | |
| nested_attributes - added in 2.3 | Указывает список атрибутов, которые должны быть извлечены из API. Этот параметр применяется только при fetch_nested равно true. | |
| nics - | Список сетевых адаптеров, которые должны быть подключены к виртуальной машине. Сетевой адаптер описывается следующим словарем. name - Имя сетевого адаптера.profile_name - Имя профиля, к которому должен быть подключен сетевой адаптер.interface - Тип сетевого интерфейса. Один из следующих: virtio, e1000, rtl8139, по умолчанию — virtio.mac_address - Пользовательский MAC-адрес сетевого интерфейса, по умолчанию он берется из пула MAC-адресов.ПРИМЕЧАНИЕ. Этот параметр используется только при state равно running или present и может только создавать сетевые адаптеры. Для более глубокого управления сетевыми адаптерами виртуальной машины используйте модуль ovirt_nics вместо этого. | |
| numa_nodes - added in 2.6 | Список узлов vNUMA для установки для этой виртуальной машины и привязки их к физическим узлам NUMA назначенного хоста. Каждый узел vNUMA описывается следующим словарем: index - Индекс этого узла NUMA (обязательно).memory - Размер памяти узла NUMA в MiB (обязательно).cores - список индексов ядер процессора виртуальной машины, которые должны быть включены в этот узел NUMA (обязательно).numa_node_pins - список индексов физических узлов NUMA, к которым нужно привязать этот виртуальный узел NUMA. | |
| numa_tune_mode - added in 2.6 |
| Устанавливает, как применяется распределение памяти для узлов NUMA этой виртуальной машины (актуально, если для этой виртуальной машины установлены узлы NUMA). Может принимать одно из следующих значений: interleave, preferred или strict. Если значение не передано, используется значение по умолчанию, установленное движком oVirt/RHV. |
| operating_system - | Операционная система виртуальной машины. Значение по умолчанию устанавливается движком oVirt/RHV. Возможные значения: debian_7, freebsd, freebsdx64, other, other_linux, other_linux_ppc64, other_ppc64, rhel_3, rhel_4, rhel_4x64, rhel_5, rhel_5x64, rhel_6, rhel_6x64, rhel_6_ppc64, rhel_7x64, rhel_7_ppc64, sles_11, sles_11_ppc64, ubuntu_12_04, ubuntu_12_10, ubuntu_13_04, ubuntu_13_10, ubuntu_14_04, ubuntu_14_04_ppc64, windows_10, windows_10x64, windows_2003, windows_2003x64, windows_2008, windows_2008x64, windows_2008r2x64, windows_2008R2x64, windows_2012x64, windows_2012R2x64, windows_7, windows_7x64, windows_8, windows_8x64, windows_xp | |
| placement_policy - added in 2.5 | Настройка политики размещения виртуальной машины. Политика размещения может принимать одно из следующих значений: migratable - Разрешить ручную и автоматическую миграцию.pinned - Не разрешать миграцию.user_migratable - Разрешить только ручную миграцию.Если значение не передано, используется значение по умолчанию, установленное движком oVirt/RHV. | |
| poll_interval - | По умолчанию: 3 | Количество секунд, которое модуль ожидает до отправки следующего запроса о статусе сущности. |
| quota_id - added in 2.5 | Идентификатор квоты виртуальной машины, который будет использоваться для диска. По умолчанию квота выбирается движком oVirt/RHV. | |
| reassign_bad_macs boolean added in 2.5 |
| Булево значение, указывающее, нужно ли переназначать плохие MAC-адреса при регистрации state. |
| rng_device - added in 2.5 | Генератор случайных чисел (RNG). Можно выбрать одно из следующих устройств: urandom, random или hwrng. Для выбора hwrng необходимо предварительно включить его на кластере. /dev/urandom используется для версии кластера ≥ 4.1, а /dev/random для версии кластера ≤ 4.0 | |
| role_mappings - added in 2.5 | Карта, которая сопоставляет имя роли между OVF виртуальной машины и целевой ролью, к которой должна быть зарегистрирована эта виртуальная машина. Актуально, когда state зарегистрирована. Сопоставление ролей описывается следующим словарем:source_name: Имя исходной роли.dest_name: Имя целевой роли. |
| serial_console boolean added in 2.5 |
|
True включает виртуальную консоль VirtIO, False — отключает её. По умолчанию выбирается движком oVirt/RHV. |
| serial_policy - added in 2.3 |
| Укажите политику задания серийного номера для виртуальной машины. Поддерживаются следующие варианты. vm — устанавливает UUID виртуальной машины в качестве серийного номера.host — устанавливает UUID хоста в качестве серийного номера виртуальной машины.custom — позволяет указать произвольный серийный номер в serial_policy_value. |
| serial_policy_value - added in 2.3 | Позволяет указать произвольный серийный номер. Этот параметр используется только когда serial_policy равен custom. | |
| smartcard_enabled boolean added in 2.5 |
| Если true, использовать аутентификацию по смарт-карте. |
| soundcard_enabled boolean added in 2.5 |
| Если true, звуковая карта добавляется к виртуальной машине. |
| sso boolean added in 2.5 |
|
True — включить Single Sign On с помощью Guest Agent, False — отключить. По умолчанию выбирается движком oVirt/RHV. |
| state - |
| Виртуальная машина должна быть запущена/остановлена/настоящая/отсутствующая/приостановленная/next_run/зарегистрированная. Если state равно registered, а имя незарегистрированной VM принадлежит уже зарегистрированной в движке VM в том же ЦОД, регистрация незарегистрированной шаблона не выполняется.Состояние present создаст/обновит VM и не изменит её состояние, если оно уже существует. Состояние running создаст/обновит VM и запустит её. Состояние next_run обновит VM и, если у VM есть конфигурация next run, она будет перезагружена. Пожалуйста, обратитесь к примечаниям для более подробного описания состояний.
registered поддерживается с версии 2.4. |
| stateless boolean |
| Если yes, виртуальная машина будет установлена как бессостояниевая. Если no, виртуальная машина будет снята как бессостояниевая. Если значение не передано, значение по умолчанию устанавливается движком oVirt/RHV. |
| storage_domain - added in 2.4 | Имя хранилища, где должны быть созданы все диски шаблона. Этот параметр учитывается только когда template предоставлен.ВАЖНО - Этот параметр не идемпотентен, если VM существует, и вы указываете другой домен хранилища, диск не переместится. | |
| sysprep - | Словарь со значениями для инициализации Windows виртуальной машины с помощью sysprep. host_name — Имя хоста, которое будет установлено для виртуальной машины при развертывании.active_directory_ou — Организационная единица Active Directory, используемая для входа пользователя.org_name — Имя организации, которое будет установлено для Windows виртуальной машины.domain — Домен, который будет установлен для Windows виртуальной машины.timezone — Часовой пояс, который будет установлен для Windows виртуальной машины.ui_language — Язык интерфейса Windows виртуальной машины.system_locale — Системная локализация Windows виртуальной машины.input_locale — Локализация ввода Windows виртуальной машины.windows_license_key — Ключ лицензии, который будет установлен для Windows виртуальной машины.user_name — Имя пользователя, которое будет использоваться для установки пароля Windows виртуальной машины.root_password — Пароль, который будет установлен для имени пользователя Windows виртуальной машины. | |
| template - | Имя шаблона, которое должно быть использовано для создания виртуальной машины. Требуется при создании VM. Если шаблон не указан и VM не существует, VM будет создана из шаблона Blank. | |
| template_version - added in 2.3 | Номер версии шаблона, который будет использован для VM. По умолчанию используется последняя доступная версия шаблона. | |
| ticket boolean added in 2.7 |
| Если true, дополнительно возвращается remote_vv_file внутри словаря vm, содержащий совместимое содержимое для приложения remote-viewer. Работает только если state равно running. |
| timeout - | Default: 180 | Время в секундах, которое модуль должен ждать, пока экземпляр не перейдет в нужное состояние. |
| timezone - added in 2.3 | Устанавливает смещение часового пояса системных часов гостевой среды. Например 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 added in 2.3 |
| Указывает, должна ли использоваться последняя версия шаблона при запуске бессостояниевой VM. Если этот параметр установлен в yes, бессостояниевая VM создаётся. |
| vmware - added in 2.3 | Словарь значений, используемых для подключения к VMware и импорта виртуальной машины в oVirt. Словарь может содержать следующие значения. username — имя пользователя для аутентификации в VMware.password — пароль для аутентификации в VMware.url — URL, который передается инструменту virt-v2v для преобразования. Например, vpx://wmware_user@vcenter-host/DataCenter/Cluster/esxi-host?no_verify=1
drivers_iso — имя ISO, содержащего драйверы, которые могут использоваться во время процесса преобразования virt-v2v.sparse — Указывает политику распределения диска для полученной виртуальной машины. true для разрежённого, false для предварительно выделенного. Значение по умолчанию — true.storage_domain — Указывает целевой домен хранилища для преобразованных дисков. Это обязательный параметр. | |
| vnic_profile_mappings - added in 2.5 | Маппинг, который сопоставляет внешний профиль виртуальной сетевой карты с профилем, существующим в движке, когда state зарегистрирован. Профиль vnic описан следующим словарем:source_network_name: Имя сети источника.source_profile_name: Имя профиля, связанного с исходной сетью.target_profile_id: Идентификатор целевого профиля для сопоставления в движке. | |
| wait boolean |
|
True, если модуль должен ждать, пока сущность не перейдет в нужное состояние. |
| watchdog - added in 2.5 | Назначить устройство watchdog для виртуальной машины. Watchdogs — это словарь, который может содержать следующие значения: model — Модель устройства watchdog. Например: i6300esb, diag288 или null.action — Действие watchdog, которое должно выполняться при срабатывании watchdog. Например: none, reset, poweroff, pause или dump. | |
| xen - added in 2.3 | Словарь значений, используемых для подключения к XEN и импорта виртуальной машины в oVirt. Словарь может содержать следующие значения. url — URL, который должен быть передан инструменту virt-v2v для преобразования. Например, xen+ssh://root@zen.server. Это обязательный параметр.drivers_iso — Имя ISO-образа, содержащего драйверы, которые могут использоваться во время процесса преобразования virt-v2v.sparse — Указывает политику выделения диска для полученной виртуальной машины. true для разрежённого, false для предварительно выделенного. Значение по умолчанию — true.storage_domain — Указывает целевую область хранения для преобразованных дисков. Это обязательный параметр. |
Примечания
Примечание
- Если состояние ВМ до любого действия — UNASSIGNED или UNKNOWN, модуль завершится с ошибкой. Если состояние ВМ — IMAGE_LOCKED, модуль попытается подождать, пока состояние ВМ не станет DOWN. Если состояние ВМ — SAVING_STATE, модуль попытается подождать, пока состояние ВМ не станет SUSPENDED. Если состояние ВМ — POWERING_DOWN, модуль попытается подождать, пока состояние ВМ не станет UP или DOWN. ВМ может перейти в состояние UP из состояния POWERING_DOWN, если в ВМ не работают ACPI или гостевой агент, или если операция завершения работы завершилась с ошибкой. Когда пользователь указывает UP
state, модуль всегда ожидает, пока состояние ВМ не станет UP, если ВМ находится в состоянии MIGRATING, REBOOTING, POWERING_UP, RESTORING_STATE, WAIT_FOR_LAUNCH. В других состояниях модуль запускает операцию запуска ВМ. Когда пользователь указывает stoppedstate, и если пользователь передаёт параметрforceсо значением true, модуль насильственно останавливает ВМ в любом состоянии. Если пользователь не передаёт параметрforce, модуль всегда ожидает, пока состояние ВМ не станет UP, если ВМ находится в состоянии MIGRATING, REBOOTING, POWERING_UP, RESTORING_STATE, WAIT_FOR_LAUNCH. Если ВМ находится в состояниях PAUSED или SUSPENDED, модуль запускает ВМ. Затем ВМ выключается в штатном режиме. Когда пользователь указывает suspendedstate, модуль всегда ожидает, пока состояние ВМ не станет UP, если ВМ находится в состоянии MIGRATING, REBOOTING, POWERING_UP, RESTORING_STATE, WAIT_FOR_LAUNCH. Если ВМ находится в состояниях PAUSED или DOWN, модуль запускает ВМ. Затем ВМ приостанавливается. Если пользователь указывает absentstate, модуль насильственно останавливает ВМ в любом состоянии и удаляет её. - Для использования этого модуля необходимо установить oVirt Python SDK. Чтобы убедиться, что он установлен с правильной версией, можно создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.2.4
Примеры
# Examples don't contain auth parameter for simplicity,
# look at ovirt_auth module to see how to reuse authentication:
- name: Creates a new Virtual Machine from template named 'rhel7_template'
ovirt_vm:
state: present
name: myvm
template: rhel7_template
cluster: mycluster
- name: Register VM
ovirt_vm:
state: registered
storage_domain: mystorage
cluster: mycluster
name: myvm
- name: Register VM using id
ovirt_vm:
state: registered
storage_domain: mystorage
cluster: mycluster
id: 1111-1111-1111-1111
- name: Register VM, allowing partial import
ovirt_vm:
state: registered
storage_domain: mystorage
allow_partial_import: "True"
cluster: mycluster
id: 1111-1111-1111-1111
- name: Register VM with vnic profile mappings and reassign bad macs
ovirt_vm:
state: registered
storage_domain: mystorage
cluster: mycluster
id: 1111-1111-1111-1111
vnic_profile_mappings:
- source_network_name: mynetwork
source_profile_name: mynetwork
target_profile_id: 3333-3333-3333-3333
- source_network_name: mynetwork2
source_profile_name: mynetwork2
target_profile_id: 4444-4444-4444-4444
reassign_bad_macs: "True"
- name: Register VM with mappings
ovirt_vm:
state: registered
storage_domain: mystorage
cluster: mycluster
id: 1111-1111-1111-1111
role_mappings:
- source_name: Role_A
dest_name: Role_B
domain_mappings:
- source_name: Domain_A
dest_name: Domain_B
lun_mappings:
- source_storage_type: iscsi
source_logical_unit_id: 1IET_000d0001
source_logical_unit_port: 3260
source_logical_unit_portal: 1
source_logical_unit_address: 10.34.63.203
source_logical_unit_target: iqn.2016-08-09.brq.str-01:omachace
dest_storage_type: iscsi
dest_logical_unit_id: 1IET_000d0002
dest_logical_unit_port: 3260
dest_logical_unit_portal: 1
dest_logical_unit_address: 10.34.63.204
dest_logical_unit_target: iqn.2016-08-09.brq.str-02:omachace
affinity_group_mappings:
- source_name: Affinity_A
dest_name: Affinity_B
affinity_label_mappings:
- source_name: Label_A
dest_name: Label_B
cluster_mappings:
- source_name: cluster_A
dest_name: cluster_B
- name: Creates a stateless VM which will always use latest template version
ovirt_vm:
name: myvm
template: rhel7
cluster: mycluster
use_latest_template_version: true
# Creates a new server rhel7 Virtual Machine from Blank template
# on brq01 cluster with 2GiB memory and 2 vcpu cores/sockets
# and attach bootable disk with name rhel7_disk and attach virtio NIC
- ovirt_vm:
state: present
cluster: brq01
name: myvm
memory: 2GiB
cpu_cores: 2
cpu_sockets: 2
cpu_shares: 1024
type: server
operating_system: rhel_7x64
disks:
- name: rhel7_disk
bootable: True
nics:
- name: nic1
- name: Run VM with cloud init
ovirt_vm:
name: rhel7
template: rhel7
cluster: Default
memory: 1GiB
high_availability: true
high_availability_priority: 50 # Available from Ansible 2.5
cloud_init:
nic_boot_protocol: static
nic_ip_address: 10.34.60.86
nic_netmask: 255.255.252.0
nic_gateway: 10.34.63.254
nic_name: eth1
nic_on_boot: true
host_name: example.com
custom_script: |
write_files:
- content: |
Hello, world!
path: /tmp/greeting.txt
permissions: '0644'
user_name: root
root_password: super_password
- name: Run VM with cloud init, with multiple network interfaces
ovirt_vm:
name: rhel7_4
template: rhel7
cluster: mycluster
cloud_init_nics:
- nic_name: eth0
nic_boot_protocol: dhcp
nic_on_boot: true
- nic_name: eth1
nic_boot_protocol: static
nic_ip_address: 10.34.60.86
nic_netmask: 255.255.252.0
nic_gateway: 10.34.63.254
nic_on_boot: true
- name: Run VM with sysprep
ovirt_vm:
name: windows2012R2_AD
template: windows2012R2
cluster: Default
memory: 3GiB
high_availability: true
sysprep:
host_name: windowsad.example.com
user_name: Administrator
root_password: SuperPassword123
- name: Migrate/Run VM to/on host named 'host1'
ovirt_vm:
state: running
name: myvm
host: host1
- name: Change VMs CD
ovirt_vm:
name: myvm
cd_iso: drivers.iso
- name: Eject VMs CD
ovirt_vm:
name: myvm
cd_iso: ''
- name: Boot VM from CD
ovirt_vm:
name: myvm
cd_iso: centos7_x64.iso
boot_devices:
- cdrom
- name: Stop vm
ovirt_vm:
state: stopped
name: myvm
- name: Upgrade memory to already created VM
ovirt_vm:
name: myvm
memory: 4GiB
- name: Hot plug memory to already created and running VM (VM won't be restarted)
ovirt_vm:
name: myvm
memory: 4GiB
# Create/update a VM to run with two vNUMA nodes and pin them to physical NUMA nodes as follows:
# vnuma index 0-> numa index 0, vnuma index 1-> numa index 1
- name: Create a VM to run with two vNUMA nodes
ovirt_vm:
name: myvm
cluster: mycluster
numa_tune_mode: "interleave"
numa_nodes:
- index: 0
cores: [0]
memory: 20
numa_node_pins: [0]
- index: 1
cores: [1]
memory: 30
numa_node_pins: [1]
- name: Update an existing VM to run without previously created vNUMA nodes (i.e. remove all vNUMA nodes+NUMA pinning setting)
ovirt_vm:
name: myvm
cluster: mycluster
state: "present"
numa_tune_mode: "interleave"
numa_nodes:
- index: -1
# When change on the VM needs restart of the VM, use next_run state,
# The VM will be updated and rebooted if there are any changes.
# If present state would be used, VM won't be restarted.
- ovirt_vm:
state: next_run
name: myvm
boot_devices:
- network
- name: Import virtual machine from VMware
ovirt_vm:
state: stopped
cluster: mycluster
name: vmware_win10
timeout: 1800
poll_interval: 30
vmware:
url: vpx://user@1.2.3.4/Folder1/Cluster1/2.3.4.5?no_verify=1
name: windows10
storage_domain: mynfs
username: user
password: password
- name: Create vm from template and create all disks on specific storage domain
ovirt_vm:
name: vm_test
cluster: mycluster
template: mytemplate
storage_domain: mynfs
nics:
- name: nic1
- name: Remove VM, if VM is running it will be stopped
ovirt_vm:
state: absent
name: myvm
# Defining a specific quota for a VM:
# Since Ansible 2.5
- ovirt_quotas_facts:
data_center: Default
name: myquota
- ovirt_vm:
name: myvm
sso: False
boot_menu: True
usb_support: True
serial_console: True
quota_id: "{{ ovirt_quotas[0]['id'] }}"
- name: Create a VM that has the console configured for both Spice and VNC
ovirt_vm:
name: myvm
template: mytemplate
cluster: mycluster
graphical_console:
protocol:
- spice
- vnc
# Execute remote viever to VM
- block:
- name: Create a ticket for console for a running VM
ovirt_vms:
name: myvm
ticket: true
state: running
register: myvm
- name: Save ticket to file
copy:
content: "{{ myvm.vm.remote_vv_file }}"
dest: ~/vvfile.vv
- name: Run remote viewer with file
command: remote-viewer ~/vvfile.vv
# Default value of host_device state is present
- name: Attach host devices to virtual machine
ovirt_vm:
name: myvm
host: myhost
placement_policy: pinned
host_devices:
- name: pci_0000_00_06_0
- name: pci_0000_00_07_0
state: absent
- name: pci_0000_00_08_0
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращённое значение | Описание |
|---|---|---|
| id строка | При успехе, если ВМ найдена. | ID ВМ, которая управляется Пример: 7de90f31-222c-436c-a1ca-7e655bd5b60c |
| vm словарь | При успехе, если ВМ найдена. | Словарь всех атрибутов ВМ. Атрибуты ВМ можно найти на вашем экземпляре oVirt/RHV по следующему URL: http://ovirt.github.io/ovirt-engine-api-model/master/#types/vm. Кроме того, если пользователь отправил ticket=true, этот модуль также вернёт параметр remote_vv_file в словаре vm, который содержит совместимый с удалённым просмотрщиком файл для открытия консоли виртуальной машины. Обратите внимание, что этот файл содержит конфиденциальную информацию. |
Статус
- Гарантии обратной совместимости этого модуля нет. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Ondra Machacek (@machacekondra)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/ovirt_vm_module.html