ovirt_vms — Модуль управления виртуальными машинами в oVirt/RHV
Новая версия с 2.2.
Обзор
- Этот модуль управляет полным жизненным циклом виртуальной машины (VM) в oVirt/RHV.
- Поскольку VM может иметь множество состояний в oVirt/RHV, см. раздел «Примечания», чтобы узнать, как обрабатываются состояния VM.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- 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 (добавлено в 2.4) | Логическое значение, указывающее, разрешить ли частичную регистрацию виртуальной машины при регистрации state. | |
| auth обязательно | Словарь со значениями, необходимыми для создания HTTP/HTTPS-соединения с oVirt: username[обязательно] - Имя пользователя, например admin@internal. Значение по умолчанию задается переменной среды OVIRT_USERNAME.password[обязательно] - Пароль пользователя. Значение по умолчанию задается переменной среды OVIRT_PASSWORD.url[обязательно] - Строка, содержащая базовый URL сервера, обычно что-то вроде `https://server.example.com/ovirt-engine/api`. Значение по умолчанию задается переменной среды OVIRT_URL.token - Токен, используемый вместо входа с именем пользователя/паролем. Значение по умолчанию задается переменной среды OVIRT_TOKEN.insecure - Логический флаг, указывающий, нужно ли проверять сертификат TLS сервера и имя хоста.ca_file - PEM-файл, содержащий доверенные сертификаты CA. Представленный сервером сертификат будет проверен с помощью этих сертификатов CA. Если параметр `ca_file` не задан, используется системный хранилище сертификатов CA. Значение по умолчанию задается переменной среды OVIRT_CAFILE.kerberos - Логический флаг, указывающий, использовать ли аутентификацию Kerberos вместо стандартной аутентификации.headers - Словарь HTTP-заголовков, которые необходимо добавить к каждому API-запросу. | |
| ballooning_enabled (добавлено в 2.5) | Если true, использовать динамическое изменение размера памяти. Динамическое изменение размера памяти - это виртуальное устройство гостевой системы, которое может использоваться для перераспределения/возврата памяти хоста в зависимости от потребностей виртуальной машины динамическим образом. Таким образом, можно создавать состояния избыточной загрузки памяти. | |
| boot_devices |
| Список устройств загрузки, которые должны быть использованы для загрузки. Например, [ cdrom, hd ].Значение по умолчанию задается движком oVirt/RHV. |
| boot_menu (добавлено в 2.5) |
True включает меню для выбора устройства загрузки, False - отключает его. По умолчанию выбирается движком oVirt/RHV. | |
| cd_iso | ISO-файл из хранилища ISO, который должен быть подключен к виртуальной машине. Если передать пустую строку, CD будет извлечён из ВМ. Если используется с state running или present и ВМ работает, CD будет подключен к ВМ.Если используется с state running или present и ВМ выключена, CD будет подключен к ВМ постоянно. | |
| clone |
| Если да, то диски созданной виртуальной машины будут клонированы и независимы от шаблона. Этот параметр используется только тогда, когда state running или present и ВМ ранее не существовала. |
| clone_permissions |
| Если да, то разрешения шаблона (только прямые, а не унаследованные) будут скопированы в созданную виртуальную машину. Этот параметр используется только тогда, когда 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 (добавлено в 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_properties (added in 2.5) | Свойства, передаваемые VDSM для настройки различных хуков. Пользовательские свойства представляют собой список словарей, которые могут содержать следующие значения: name — Имя пользовательского свойства. Например: hugepages, vhost, sap_agent и т. д.regexp — Регулярное выражение для пользовательского свойства.value — Значение для пользовательского свойства. | |
| delete_protected | Если yes, виртуальная машина будет защищена от удаления. Если no, виртуальная машина не будет защищена от удаления. Если значение не передано, используется значение по умолчанию, заданное движком oVirt/RHV. | |
| description (added in 2.3) | Описание виртуальной машины. | |
| disk_format (added in 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 (added in 2.5) | Отображения доменов, которые сопоставляют имя домена aaa между OVF ВМ и целевым именем домена aaa, к которому должна быть зарегистрирована данная ВМ, актуально при регистрации state. Отображение домена aaa описывается следующим словарем:source_name: Имя исходного домена aaa.dest_name: Имя целевого домена aaa. | |
| fetch_nested (added in 2.3) | Если True, модуль будет получать дополнительные данные из API. Он будет получать идентификаторы дисков ВМ, снимков и т. д. Пользователь может настроить получение других атрибутов вложенных сущностей, указав nested_attributes. | |
| force |
| Для более подробного описания параметра force обратитесь к разделу Описание, он может вести себя по-разному в разных ситуациях. |
| graphical_console (added in 2.5) | Назначает графический консоль виртуальной машине. Графическая консоль — это словарь, который может содержать следующие значения: headless_mode — Если true, отключить графический консоль для этой виртуальной машины.protocol — Протокол графики, один из VNC, SPICE или оба. | |
| high_availability |
| Если yes, виртуальная машина будет настроена на высокую доступность. Если no, виртуальная машина не будет настроена на высокую доступность. Если значение не передано, используется значение по умолчанию, заданное движком oVirt/RHV. |
| high_availability_priority (added in 2.5) | Указывает приоритет виртуальной машины в очередях выполнения и миграции. Виртуальные машины с более высокими приоритетами будут запускаться и мигрироваться перед виртуальными машинами с более низкими приоритетами. Значение представляет собой целое число от 0 до 100. Чем выше значение, тем выше приоритет. Если значение не передано, используется значение по умолчанию, заданное движком oVirt/RHV. | |
| host | Указывает хост, на котором должна работать виртуальная машина. По умолчанию хост выбирается планировщиком движка. Этот параметр используется только в том случае, если state равно running или present. | |
| id | Идентификатор виртуальной машины для управления. | |
| initrd_path (added in 2.3) | Путь к начальному образам памяти для использования с ядром, указанным параметром kernel_path.Образ памяти должен храниться в домене ISO или на хранилище хоста. | |
| instance_type (added in 2.3) | Имя конфигурации аппаратного обеспечения виртуальной машины. По умолчанию тип экземпляра не используется. | |
| io_threads (added in 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, которое сопоставляет 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 | Список сетевых адаптеров (NIC), которые должны быть подключены к виртуальной машине. NIC описывается следующим словарем. name - Название сетевого адаптера.profile_name - Имя профиля, к которому должен быть подключен сетевой адаптер.interface - Тип сетевого интерфейса. Один из следующих: virtio, e1000, rtl8139, по умолчанию virtio.mac_address - Пользовательский MAC-адрес сетевого интерфейса, по умолчанию он берется из пула MAC-адресов.ПРИМЕЧАНИЕ - Этот параметр используется только тогда, когда state находится в состоянии running или present и может только создавать сетевые адаптеры. Для более глубокой настройки сетевых адаптеров ВМ используйте модуль ovirt_nics вместо этого. | |
| operating_system |
| Операционная система виртуальной машины. Значение по умолчанию устанавливается движком oVirt/RHV. |
| placement_policy (добавлено в 2.5) | Конфигурация политики размещения виртуальной машины. Политика размещения может принимать следующие значения: migratable - Разрешить ручную и автоматическую миграцию.pinned - Не разрешать миграцию.user_migratable - Разрешить только ручную миграцию.Если значение не задано, используется значение по умолчанию движка oVirt/RHV. | |
| 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. Отображение ролей описывается следующим словарем:source_name: Имя исходной роли.dest_name: Имя целевой роли. | |
| serial_console (добавлено в 2.5) |
True включает консоль VirtIO, False - отключает ее. По умолчанию выбирается движком oVirt/RHV. | |
| serial_policy (добавлено в 2.3) | Указывает политику для задания серийного номера виртуальной машины. Поддерживаются следующие варианты: vm - Устанавливает UUID виртуальной машины в качестве ее серийного номера.host - Устанавливает UUID хоста в качестве серийного номера виртуальной машины.custom - Позволяет указать пользовательский серийный номер в serial_policy_value. | |
| serial_policy_value (добавлено в 2.3) | Позволяет указать пользовательский серийный номер. Этот параметр используется только когда serial_policy имеет значение custom. | |
| smartcard_enabled (добавлено в 2.5) | Если true, используется аутентификация с помощью смарт-карты. | |
| soundcard_enabled (добавлено в 2.5) | Если true, звуковая карта добавляется к виртуальной машине. | |
| sso (добавлено в 2.5) |
True включает Single Sign On (SSO) с помощью Guest Agent, False - отключает его. По умолчанию выбирается движком oVirt/RHV. | |
| state |
| Должна ли виртуальная машина быть запущена/остановлена/существовать/отсутствовать/приостановлена/запланирована на запуск/зарегистрирована. Когда state имеет значение registered и имя незарегистрированной виртуальной машины принадлежит уже зарегистрированной в движке виртуальной машине в том же ЦОД, то регистрация незарегистрированного шаблона не выполняется.Состояние present создаст/обновит ВМ и не изменит ее состояние, если она уже существует. Состояние running создаст/обновит ВМ и запустит ее. Состояние next_run обновляет ВМ и, если у ВМ есть конфигурация следующего запуска, она будет перезагружена. Обратитесь к разделу Примечания для более подробного описания состояний.
registered поддерживается начиная с версии 2.4. |
| stateless | Если да, виртуальная машина будет отмечена как бессостоятельная. Если нет, виртуальная машина будет отмечена как состоятельная. Если значение не задано, используется значение по умолчанию движка oVirt/RHV. | |
| storage_domain (добавлено в 2.4) | Имя хранилища, в котором должны быть созданы все дисковые образы шаблона. Этот параметр учитывается только при предоставлении template.ВАЖНО - Этот параметр не идемпотентен. Если виртуальная машина существует, и вы указываете другое хранилище, диск не будет перемещен. | |
| 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 | Имя шаблона, которое должно быть использовано для создания виртуальной машины. Требуется при создании ВМ. Если шаблон не указан и ВМ не существует, ВМ будет создана из шаблона Blank. | |
| template_version (добавлено в 2.3) | Номер версии шаблона, который будет использоваться для ВМ. По умолчанию используется последняя доступная версия шаблона. | |
| timeout | По умолчанию: 180 | Время в секундах, которое модуль должен ждать, пока экземпляр не перейдет в желаемое состояние. |
| timezone (добавлено в 2.3) | Устанавливает смещение часового пояса системных часов гостевого оборудования. Например Etc/GMT
| |
| type |
| Тип виртуальной машины. Значение по умолчанию устанавливается движком oVirt/RHV.
high_performance поддерживается с Ansible 2.5 и oVirt/RHV 4.2. |
| usb_support (добавлено в 2.5) |
True включает поддержку USB, False - отключает ее. По умолчанию выбирается движком oVirt/RHV. | |
| use_latest_template_version (добавлено в 2.3) |
| Указывает, использовать ли последнюю версию шаблона при запуске бессостоятельной ВМ. Если этот параметр установлен в yes, бессостоятельная ВМ будет создана. |
| 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 |
True, если модуль должен ожидать, пока сущность не перейдет в нужное состояние. | |
| watchdog (added in 2.5) | Назначает устройство отслеживания для виртуальной машины. Watchdogs — это словарь, который может иметь следующие значения: model - Модель устройства отслеживания. Например: i6300esb, diag288 или null.action - Действие отслеживания, которое должно выполняться при срабатывании отслеживания. Например: 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 - Указывает целевой домен хранения для преобразованных дисков. Это обязательный параметр. |
Примечания
Примечание
- Если ВМ находится в состоянии НЕПРИСОЕДИНЕННАЯ или НЕИЗВЕСТНАЯ перед любой операцией, модуль завершится ошибкой. Если ВМ находится в состоянии БЛОКИРОВАННОЕ_ИЗОБРАЖЕНИЕ перед любой операцией, мы пытаемся подождать, пока ВМ не перейдет в состояние ВЫКЛЮЧЕНА. Если ВМ находится в состоянии СОХРАНЕНИЕ_СОСТОЯНИЯ перед любой операцией, мы пытаемся подождать, пока ВМ не перейдет в состояние ПРИОСТАНОВЛЕНА. Если ВМ находится в состоянии ВЫКЛЮЧЕНИЕ перед любой операцией, мы пытаемся подождать, пока ВМ не перейдет в состояние ВКЛЮЧЕНА или ВЫКЛЮЧЕНА. ВМ может перейти в состояние ВКЛЮЧЕНА из состояния ВЫКЛЮЧЕНИЕ, когда нет ACPI или гостевого агента, работающего внутри ВМ, или если операция завершения работы завершается неудачно. Когда пользователь указывает ВКЛЮЧЕНА
state, мы всегда ждем, пока ВМ перейдет в состояние ВКЛЮЧЕНА, если ВМ находится в состоянии ПЕРЕМЕЩЕНИЕ, ПЕРЕЗАПУСК, ВКЛЮЧЕНИЕ, ВОССТАНОВЛЕНИЕ_СОСТОЯНИЯ, ОЖИДАНИЕ_ЗАПУСКА. В других состояниях мы выполняем операцию запуска на ВМ. Когда пользователь указывает остановленаstate, и Если пользователь передает параметрforceсо значением true, мы принудительно останавливаем ВМ в любом состоянии. Если пользователь не передает параметрforce, мы всегда ждем, пока ВМ перейдет в состояние ВКЛЮЧЕНА, если ВМ находится в состоянии ПЕРЕМЕЩЕНИЕ, ПЕРЕЗАПУСК, ВКЛЮЧЕНИЕ, ВОССТАНОВЛЕНИЕ_СОСТОЯНИЯ, ОЖИДАНИЕ_ЗАПУСКА. Если ВМ находится в состоянии ПАУЗА или ПРИОСТАНОВЛЕНА, мы запускаем ВМ. Затем мы плавно выключаем ВМ. Когда пользователь указывает приостановленаstate, мы всегда ждем, пока ВМ перейдет в состояние ВКЛЮЧЕНА, если ВМ находится в состоянии ПЕРЕМЕЩЕНИЕ, ПЕРЕЗАПУСК, ВКЛЮЧЕНИЕ, ВОССТАНОВЛЕНИЕ_СОСТОЯНИЯ, ОЖИДАНИЕ_ЗАПУСКА. Если ВМ находится в состоянии ПАУЗА или ВЫКЛЮЧЕНА, мы запускаем ВМ. Затем мы приостанавливаем ВМ. Когда пользователь указывает отсутствуетstate, мы принудительно останавливаем ВМ в любом состоянии и удаляем ее. - Для использования этого модуля необходимо установить oVirt Python SDK. Чтобы убедиться, что он установлен с правильной версией, можно создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.0.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_vms:
state: present
name: myvm
template: rhel7_template
cluster: mycluster
- name: Register VM
ovirt_vms:
state: registered
storage_domain: mystorage
cluster: mycluster
name: myvm
- name: Register VM using id
ovirt_vms:
state: registered
storage_domain: mystorage
cluster: mycluster
id: 1111-1111-1111-1111
- name: Register VM, allowing partial import
ovirt_vms:
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_vms:
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_vms:
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_vms:
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_vms:
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_vms:
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_vms:
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_vms:
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_vms:
state: running
name: myvm
host: host1
- name: Change VMs CD
ovirt_vms:
name: myvm
cd_iso: drivers.iso
- name: Eject VMs CD
ovirt_vms:
name: myvm
cd_iso: ''
- name: Boot VM from CD
ovirt_vms:
name: myvm
cd_iso: centos7_x64.iso
boot_devices:
- cdrom
- name: Stop vm
ovirt_vms:
state: stopped
name: myvm
- name: Upgrade memory to already created VM
ovirt_vms:
name: myvm
memory: 4GiB
- name: Hot plug memory to already created and running VM (VM won't be restarted)
ovirt_vms:
name: myvm
memory: 4GiB
# 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_vms:
state: next_run
name: myvm
boot_devices:
- network
- name: Import virtual machine from VMware
ovirt_vms:
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_vms:
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_vms:
state: absent
name: myvm
# Defining a specific quota for a VM:
# Since Ansible 2.5
- ovirt_quotas_facts:
data_center: Default
name: myquota
- ovirt_vms:
name: myvm
sso: False
boot_menu: True
usb_support: True
serial_console: True
quota_id: "{{ ovirt_quotas[0]['id'] }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| id str | При успехе, если ВМ найдена. | Идентификатор ВМ, которая управляется Пример: 7de90f31-222c-436c-a1ca-7e655bd5b60c |
| vm dict | При успехе, если ВМ найдена. | Словарь всех атрибутов ВМ. Атрибуты ВМ можно найти на вашем экземпляре oVirt/RHV по следующему URL-адресу: http://ovirt.github.io/ovirt-engine-api-model/master/#types/vm. |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимости.
Автор
- 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.5/modules/ovirt_vms_module.html