You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 KiB
95 KiB
Модуль decort_kvmvm
Обзор модуля decort_kvmvm
Модуль decort_kvmvm предназначен для выполнения следующих действий над виртуальными машинами:
- создать (см. примеры)
- с указанием описания (см. параметр description и примеры)
- с указанием объёма загрузочного диска (см. параметр boot.disk_size и примеры)
- с указанием СХД (см. параметр sep_id и параметр pool и примеры)
- с указанием Cloud-init user data (см. параметр ci_user_data и примеры)
- с указанием SSH-ключа (см. параметр ssh_key и параметр ssh_key_user и примеры)
- с указанием NUMA Affinity (см. параметр numa_affinity и примеры)
- с указанием запуска на выделенных ядрах ЦП (см. параметр cpu_pin и примеры)
- с использованием Huge Pages (см. параметр hp_backed и примеры)
- с указанием custom_fields (см. параметр custom_fields и примеры)
- с указанием affinity-метки (см. параметр affinity_label и примеры)
- с указанием affinity правил (см. параметр aff_rule и примеры)
- с указанием anti-affinity правил (см. параметр aaff_rule и примеры)
- с указанием тэгов (см. параметр tag и примеры)
- с образом (см. параметр image_id и примеры)
- без образа (см. параметр image_id и примеры)
- с загрузочным диском (см. параметр boot.disk_size и примеры)
- без загрузочного диска (см. примеры)
- с указанием режима загрузки (см. параметр boot.mode и примеры)
- с указанием типа загрузчика ОС (см. параметр boot.loader_type и примеры)
- с указанием именования сетевых интерфейсов (см. параметр network_interface_naming и примеры)
- с поддержкой изменения объема ОЗУ и количества ЦП у запущенной ВМ (см. параметр hot_resize и примеры)
- с включением автоматического запуска ВМ после перезапуска вычислительного узла, за которым она закреплена (см. параметр auto_start и примеры)
- с указанием чипсета (см. параметр chipset и примеры)
- с указанием предпочтительных ядер (см. параметр preferred_cpu_cores и примеры)
- путём клонирования другой ВМ (см. параметр clone_from и примеры)
- с указанием зоны (см. параметр zone_id и примеры)
- с указанием версии операционной системы (см. параметр os_version и примеры)
- получить основную информацию (см. возвращаемые значения и примеры)
- получить ссылку на консоль (см. параметр get_console_url и примеры)
- остановить/приостановить/запустить (см. параметр state и примеры)
- запустить с загрузкой с образа CD-ROM (см. параметр boot.from_cdrom и примеры)
- подключить/отключить диски (см. параметр disks и примеры)
- подключить/отключить сети (см. параметр networks и параметр network_order_changing и примеры)
- включить/выключить сетевой интерфейс (см. параметр networks.enabled и примеры)
- откатить ВМ к состоянию снимка (см. параметр rollback_to и примеры)
- взаимодействовать c QEMU Guest Agent (см. параметр guest_agent и примеры)
- получить статус копирования данных из удаляемого снимка на СХД Shared (см. параметр get_snapshot_merge_status и примеры)
- взаимодействовать с CD-ROM (см. параметр cdrom и примеры)
- получить статус клонирования (см. параметр get_cloning_status и примеры)
- отменить клонирование (см. параметр abort_cloning и примеры)
- изменить (см. примеры)
- объём загрузочного диска в большую сторону (см. параметр boot.disk_size и примеры)
- количество ЦП (см. параметр cpu и примеры)
- объём ОЗУ (см. параметр ram и примеры)
- тэги (см. параметр tag и примеры)
- affinity метку (см. параметр affinity_label и примеры)
- affinity правила (см. параметр aff_rule и примеры)
- anti-affinity правила (см. параметр aaff_rule и примеры)
- описание (см. параметр description и примеры)
- чипсет (см. параметр chipset и примеры)
- правило NUMA Affinity (см. параметр numa_affinity и примеры)
- запуск на выделенных ядрах ЦП (см. параметр cpu_pin и примеры)
- использование Huge Pages (см. параметр hp_backed и примеры)
- имя (см. параметр name и примеры)
- XML виртуальной машины (см. параметр custom_fields и примеры)
- автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена (см. параметр auto_start и примеры)
- предпочтительные ядра (см. параметр preferred_cpu_cores и примеры)
- загрузочный диск (см. параметр boot.disk_id и примеры)
- режим загрузки (см. параметр boot.mode и примеры)
- тип загрузчика ОС (см. параметр boot_loader_type и примеры)
- именование сетевых интерфейсов (см. параметр network_interface_naming и примеры)
- поддержку изменения объема ОЗУ и количества ЦП у запущенной ВМ (см. параметр hot_resize и примеры)
- MAC-адрес сетевого интерфейса (см. параметр networks.mac и примеры)
- зону ВМ (см. параметр zone_id и примеры)
- порядок загрузки (см. параметр boot.order и примеры)
- образ загрузочного диска (см. параметр image_id и примеры)
- группы безопасности сетевого интерфейса (см. параметр networks.security_group_ids и параметр networks.security_group_mode и примеры)
- версию операционной системы (см. параметр os_version и примеры)
- пересоздать загрузочный диск (см. параметр boot.disk_redeploy и примеры)
- удалить (безвозвратно) (см. параметр state и примеры)
Параметры модуля decort_kvmvm
Ниже приведен список параметров для модуля decort_kvmvm (за исключением общих параметров авторизации):
| Параметр | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| aaff_rule | (list) |
Список словарей, описывающих anti-affinity правила.
Чтобы очистить anti-affinity правила, нужно указать пустой список [].
|
|||||
| topology |
(str)
Значения: node
compute
|
Назначение правила. | |||||
| policy |
(str)
Значения: RECOMMENDED
REQUIRED
|
Степень "необходимости" этого правила. | |||||
| mode |
(str)
Значения: EQ
NE
ANY
|
Режим сравнения.
EQ - должно соответствовать.
NE - не должно соответствовать.
ANY - любое.
|
|||||
| key | (str) | Ключ, который учитывается при анализе данного правила. | |||||
| value | (str) |
Значение ключа, учитываемого при анализе данного правила (зависит от ключа mode).
|
|||||
| account_id | (int) |
Идентификатор аккаунта. Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией account_id и rg_name.
Если задан account_id, то account_name игнорируется. |
|||||
| account_name | (str) |
Имя аккаунта. Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией account_name и rg_name.
Если задан account_id, то account_name игнорируется. |
|||||
| aff_rule | (list) |
Список словарей, описывающих affinity правила.
Чтобы очистить affinity правила, нужно указать пустой список [].
|
|||||
| topology |
(str)
Значения: node
compute
|
Назначение правила. | |||||
| policy |
(str)
Значения: RECOMMENDED
REQUIRED
|
Степень "необходимости" этого правила. | |||||
| mode |
(str)
Значения: EQ
NE
ANY
|
Режим сравнения.
EQ - должно соответствовать.
NE - не должно соответствовать.
ANY - любое.
|
|||||
| key | (str) | Ключ, который учитывается при анализе данного правила. | |||||
| value | (str) |
Значение ключа, учитываемого при анализе данного правила (зависит от ключа mode).
|
|||||
| affinity_label | (str) |
Метка affinity.
Чтобы очистить метку affinity, нужно указать пустую строку "".
|
|||||
| auto_start | (bool) |
Включить/выключить автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена.
Если параметр не задан при создании ВМ, то значение будет выбрано платформой. |
|||||
| abort_cloning | (bool) | Отменить клонирование ВМ. Может быть задан только для существующей ВМ. | |||||
| boot | (dict) | Параметры загрузки. | |||||
| disk_id | (int) | Идентификатор диска, который будет установлен как загрузочный. | |||||
| disk_size | (int) | Объём загрузочного диска виртуальной машины в ГБ. Если параметр не задан, размер будет равен размеру образа. Если не заданы этот параметр и параметр image_id, то виртуальная машина будет создана без загрузочного диска. | |||||
| mode |
(str)
Значения: bios
uefi
|
Режим загрузки.
Значение по умолчанию при создании: bios.
|
|||||
| loader_type |
(str)
Значения: linux
windows
unknown
|
Тип загрузчика операционной системы.
Значение по умолчанию при создании: unknown.
|
|||||
| from_cdrom | (int) | Идентификатор образа CD-ROM, с которого должна загрузиться ВМ при запуске. | |||||
| order |
(list)
Значения: cdrom
hd
network
|
Порядок загрузки. | |||||
| disk_redeploy | (bool) | Пересоздание загрузочного диска. | |||||
| cdrom | (dict) | Словарь параметров для взаимодействия с CD-ROM. | |||||
| image_id | (int) | Идентификатор образа CD-ROM. | |||||
| mode |
(str)
Значения: insert
eject
Default: insert
|
Режим работы. | |||||
| chipset |
(str)
Значения: Q35
i440fx
|
Эмулируемый чипсет.
Значение по умолчанию при создании: i440fx.
|
|||||
| ci_user_data | (dict) | Конфигурация для cloud-init. | |||||
| clone_from | (dict) |
Словарь параметров для создания ВМ путём клонирования другой ВМ.
Для создания клона также должен быть указан параметр name для указания имени клона. |
|||||
| id | (int) | Идентификатор клонируемой ВМ (обязательный). | |||||
| force |
(bool)
Default: false
|
Игнорировать, что ВМ запущена. | |||||
| sep_pool_name | (str) | Название пула СХД. | |||||
| sep_id | (int) | Идентификатор СХД. | |||||
| snapshot | (dict) | Параметры клонируемого снимка ВМ. | |||||
| name | (str) | Название снимка. | |||||
| timestamp | (int) | Unix-время. | |||||
| datetime | (str) |
Дата и время в формате ггггммддччммсс, альтернатива параметру timestamp. Допустимо использовать любой разделитель между группами цифр для повышения читаемости, например, гггг-мм-дд чч:мм:сс.
|
|||||
| storage_policy_id | (int) | Идентификатор политики хранения. Обязательный параметр. | |||||
| cpu | (int) | Количество виртуальных процессоров, выделяемых виртуальной машине. | |||||
| cpu_pin | (bool) |
Запуск виртуальной машины на выделенных ядрах ЦП.
Значение по умолчанию при создании: false.
|
|||||
| custom_fields | (dict) | Словарь, управляющий XML виртуальной машины. | |||||
| disable | (bool) |
Отключение управления виртуальной машиной через XML. Значение по умолчанию при создании: true.
|
|||||
| fields | (dict) | Поля для управления XML виртуальной машины. | |||||
| description | (str) | Опциональное описание виртуальной машины. | |||||
| disks | (dict) | Словарь, описывающий диски ВМ. | |||||
| mode |
(str)
Значения: update
detach
delete
match
Default: update
|
Режим работы параметра.
update - указанные диски подключены.
detach - указанные диски отключены.
delete - указанные диски отключены и удалены; удаляются только отключаемые диски.
match - подключены только указанные диски.
|
|||||
| objects | (list) | Список словарей, описывающих диски. | |||||
| id | (int) | Идентификатор диска. Обязательный параметр. | |||||
| pci_slot_num_hex | (str) | Номер слота PCI. | |||||
| bus_num_hex | (str) | Номер шины. | |||||
| get_console_url |
(bool)
Default: false
|
Получить ссылку на консоль ВМ. | |||||
| get_cloning_status | (bool) | Получить статус клонирования ВМ. | |||||
| get_snapshot_merge_status | (bool) | Получить статус копирования данных из удаляемого снимка на СХД Shared. | |||||
| guest_agent | (dict) | Параметры для взаимодействия с QEMU Guest Agent. | |||||
| enabled | (bool) | Включить/выключить QEMU Guest Agent. | |||||
| exec | (dict) | Команда, которую необходимо выполнить. | |||||
| cmd | (str) | Название. Обязательный параметр. | |||||
| args |
(dict)
Default: {}
|
Аргументы. | |||||
| update_available_commands | (bool) | Обновить список доступных команд. | |||||
| hot_resize | (bool) |
Поддержка изменения объёма ОЗУ и количества процессоров у запущенной ВМ.
Значение по умолчанию при создании: false.
|
|||||
| hp_backed | (bool) |
Использовать Huge Pages для выделения оперативной памяти виртуальной машины. Система должна быть предварительно сконфигурирована путем выделения Huge Pages на физическом узле.
Значение по умолчанию при создании: false.
|
|||||
| id | (int) |
Уникальный цифровой идентификатор виртуальной машины. Этот параметр используется как один из методов идентификации существующей ВМ (альтернатива – по комбинации name, rg_name и account_name).
Если при вызове модуля decort_kvmvm существующая ВМ идентифицируется по id, то параметры account_id, account_name, rg_id и rg_name игнорируются.
|
|||||
| image_id | (int) |
Уникальный цифровой идентификатор образа.
Если этот параметр не задан при создании ВМ, то ВМ будет создана без образа. Изменение образа у существующей ВМ возможно только при пересоздании загрузочного диска (см. disk_redeploy). |
|||||
| name | (str) |
Имя ВМ. Чтобы модуль decort_kvmvm мог управлять сервером по его названию, также необходимо задать комбинацию account_name и rg_name или rg_id.
Если для существующей ВМ указаны и name, и id, то параметр name используется для переименования. |
|||||
| network_interface_naming |
(str)
Значения: ens
eth
|
Шаблон именования сетевых интерфейсов в ОС Linux.
Значение по умолчанию при создании: ens.
|
|||||
| network_order_changing |
(bool)
Default: false
|
Соблюдение очерёдности сетей при их изменении.
Если true, то сравнение списка уже подключённых к ВМ сетей со списком из параметра networks будет производится с учётом очерёдности сетей и, при выявлении несоответствия, сначала будет произведено отключение всех сетей от ВМ, а затем подключение сетей в соответствии с параметром networks.
Если false, то очерёдность при сравнении учитываться не будет. Соответственно, сети, которые имеются в списке параметра networks и уже подключены к ВМ, переподключаться не будут, что может кратно уменьшить время выполнения изменения сетей.
|
|||||
| networks | (list) |
Список словарей, описывающих сети ВМ.
ВМ не может одновременно быть подключена к сети DPDK и к сети другого типа, кроме EMPTY.
ВМ не может одновременно быть подключена к сети SDN и к сети другого типа, кроме EMPTY, VFNIC.
Чтобы отключить все сети, нужно указать пустой список [].
|
|||||
| enabled | (bool) |
Включен или выключен сетевой интерфейс. Изменение доступно для сетей VINS, EXTNET, DPDK, SDN, TRUNK.
Значение по умолчанию при подключении новой сети: true.
|
|||||
| type |
(str)
Значения: VINS
EXTNET
VFNIC
DPDK
SDN
TRUNK
EMPTY
|
Тип сети. Обязательный параметр. | |||||
| id | (int | str) | Идентификатор внутренней/внешней/DPDK сети, пула вирт. функций или логического порта SDN. | |||||
| ip_addr | (str) |
IP-адрес, используемый для подключения к данной сети.
Применимо только для VINS и EXTNET.
|
|||||
| mac | (str) |
MAC-адрес сетевого интерфейса.
Не применим для сети типа EMPTY.
|
|||||
| mtu | (int) |
MTU интерфейса.
Применимо только для EXTNET и DPDK.
|
|||||
| security_group_ids | (list) | Идентификаторы групп безопасности. | |||||
| security_group_mode | (bool) |
Включить/выключить группы безопасности.
Значение по умолчанию при подключении новой сети: false.
|
|||||
| numa_affinity |
(str)
Значения: strict
loose
none
|
Правило применения NUMA affinity к виртуальной машине.
strict - строго с NUMA affinity.
loose - использовать NUMA affinity, если возможно.
none - отменить применение NUMA affinity.
Значение по умолчанию при создании: none.
|
|||||
| os_version | (str) | Версия операционной системы. Если не задано при создании ВМ с образом или при пересоздании загрузочного диска, то наследуется от названия образа. | |||||
| pool | (str) | Пул СХД, заданной параметром sep_id. Если пул не задан, то он будет выбран платформой. | |||||
| preferred_cpu_cores | (list) |
Список номеров предпочтительных выделенных ядер ЦП (см. параметр cpu_pin).
Чтобы очистить список номеров предпочтительных выделенных ядер ЦП, нужно указать пустой список [].
|
|||||
| ram | (int) | Объем оперативной памяти в МБ, выделенной данной ВМ. Параметр является обязательным при создании. Если указать его для уже существующей ВМ, то будет выполнена попытка изменить объем выделенной памяти. | |||||
| rg_id | (int) |
Уникальный цифровой идентификатор уже существующей ресурсной группы, в которой будет создана новая или находится уже существующая ВМ.
Данный параметр является одним из методов идентификации существующей РГ (альтернативой является задание комбинации account_name и rg_name). |
|||||
| rg_name | (str) |
Имя уже существующей ресурсной группы, в которой будет создана новая или находится уже существующая ВМ.
Данный параметр является одним из методов идентификации существующей РГ, когда задается пара account_name и rg_name (альтернативой является задание rg_id). Если заданы и rg_id, и rg_name, то параметр rg_name игнорируется. |
|||||
| rollback_to | (str) | Имя снимка, к состоянию которого необходимо совершить откат ВМ. | |||||
| sep_id | (int) | Идентификатор СХД для загрузочного диска ВМ. Если не задан, то будет использоваться СХД образа. | |||||
| ssh_key | (str) |
Открытая часть SSH-ключа, который необходимо добавить на создаваемую ВМ для пользователя, заданного параметром ssh_key_user.
Данный параметр применим только для ОС Linux, используется только при создании и игнорируется при других операциях. |
|||||
| ssh_key_user | (str) |
Имя пользователя в гостевой ОС (только для Linux), для которого добавляется SSH-ключ, заданный параметром ssh_key.
Данный параметр является обязательным, если задан ssh_key. Используется только при создании и игнорируется при других операциях. |
|||||
| state |
(str)
Значения: present
absent
started
stopped
paused
|
Целевое состояние ВМ.
present - виртуальная машина существует и не удалена. Если удалена в корзину, то будет восстановлена из корзины.
absent - виртуальная машина безвозвратно удалена.
started - виртуальная машина запущена. Если остановлена, то будет запущена. Если удалена в корзину, то будет восстановлена из корзины.
stopped - виртуальная машина остановлена. Если запущена, то будет остановлена.
paused - виртуальная машина приостановлена.
Значение по умолчанию при создании: present
|
|||||
| storage_policy_id | (int) | Идентификатор политики хранения. Обязателен при создании виртуальной машины с диском/дисками и пересоздании загрузочного диска. Не поддерживается изменение в существующей виртуальной машине. | |||||
| tag | (dict) |
Словарь, пары ключ-значение которого, описывают тэги для ВМ.
Чтобы очистить теги, нужно указать пустой словарь {}.
|
|||||
| zone_id | (int) | Идентификатор зоны ВМ. | |||||
Возвращаемые значения модуля decort_kvmvm
Модуль decort_kvmvm возвращает информацию о виртуальной машине в виде словаря facts со следующими ключами:
Основная информация
| Ключ | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| account_id | int | Идентификатор аккаунта. | |||||
| affinity_label | str | Метка affinity. | |||||
| affinity_rules | list | Список словарей, описывающих affinity правила. | |||||
| anti_affinity_rules | list | Список словарей, описывающих anti-affinity правила. | |||||
| arch | str | Архитектура ВМ. | |||||
| auto_start | bool | Автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена. | |||||
| boot_mode | str | Режим загрузки. | |||||
| cd_image_id | int | Идентификатор диска CD-ROM. | |||||
| clones | list | Список идентификаторов клонов ВМ. | |||||
| clone_reference | int | Идентификатор ВМ, клоном которой является данная ВМ. | |||||
| chipset | str | Эмулируемый чипсет. | |||||
| cpu | int | Количество виртуальных процессоров. | |||||
| cpu_pin | bool | Запуск виртуальной машины на выделенных ядрах ЦП. | |||||
| custom_fields | dict | null |
Словарь, управляющий XML виртуальной машины.
Если null, то управление виртуальной машиной через XML отключено, иначе - управление через XML включено.
|
|||||
| disks | list | Список словарей, описывающих диски, подключенные к ВМ. | |||||
| disk_size | int | Размер загрузочного диска в ГБ. | |||||
| guest_agent | dict | Информация о QEMU Guest Agent ВМ. | |||||
| enabled | bool | Включен/выключен. | |||||
| enabled_agent_features | list | Список доступных команд. | |||||
| exec_result | any | Результат выполнения команды. | |||||
| guid | str | Идентификатор. | |||||
| last_update | int | Временная метка последнего обновления доступных команд. | |||||
| user | str | Пользователь, совершивший последнее обновление доступных команд. | |||||
| hot_resize | bool | Поддержка изменения объёма ОЗУ и количества процессоров у запущенной ВМ. | |||||
| hp_backed | bool | Использовать Huge Pages для выделения оперативной памяти виртуальной машины. | |||||
| id | int | Идентификатор ВМ. | |||||
| image_id | int | null | Идентификатор образа. | |||||
| interfaces | list | Список словарей, описывающих сетевые интерфейсы ВМ, отсортированный по номеру слота PCI. | |||||
| boot_loader_type | str | Тип загрузчика операционной системы. | |||||
| boot_loader_metaiso | dict | null | Информация об образе загрузчика ВМ. | |||||
| device_name | str | Имя устройства | |||||
| path | str | Путь к файлу образа. | |||||
| name | str | Имя ВМ. | |||||
| network_interface_naming | str | Шаблон именования сетевых интерфейсов в ОС Linux. | |||||
| numa_affinity | str | Правило применения NUMA affinity к виртуальной машине. | |||||
| os_version | str | Версия операционной системы. | |||||
| password | str | Пароль пользователя ОС по умолчанию. | |||||
| pinned_to_stack | bool | ВМ привязана к вычислительному узлу. | |||||
| preferred_cpu_cores | list | Список номеров предпочтительных выделенных ядер ЦП. | |||||
| private_ips | list | Список IP-адресов на сетевых интерфейсах ВМ, которые подключены к внутренним сетям. | |||||
| public_ips | list | Список IP адресов на сетевых интерфейсах ВМ, которые подключены к внешним сетям. | |||||
| ram | int | Объём ОЗУ ВМ в МБ. | |||||
| rg_id | int | Идентификатор ресурсной группы, которой принадлежит данная ВМ. | |||||
| snapshots | list | Список словарей, описывающих снимки ВМ. | |||||
| state | str | Состояние ВМ. | |||||
| tags | dict | Словарь, пары ключ-значение которого, описывают тэги ВМ. | |||||
| tech_status | str | Технический статус ВМ. | |||||
| username | str | Имя пользователя ОС по умолчанию. | |||||
| vnc_password | str | Пароль, используемый для подключения к ВМ через VNC. | |||||
| zone_id | int | Идентификатор зоны ВМ. | |||||
Ссылка на консоль
| Ключ | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| console_url | str | Ссылка на консоль ВМ. | |||||
Статус копирования данных из удаляемого снимка на СХД Shared
| Ключ | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| snapshot_merge_status | dict | Словарь, где ключ - идентификатор диска, а значение - статус. | |||||
Статус клонирования
| Ключ | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| cloning_status | dict | Словарь, описывающий статус клонирования. | |||||
| disk_id | int | Идентификатор клонируемого диска | |||||
| status | dict |
Словарь с подробным описанием статуса.
Может быть пустым словарем {}.
|
|||||
| type | int | Тип клонирования. | |||||
| bandwidth | int | Скорость клонирования данных. | |||||
| cur | int | Объём переданных данных. | |||||
| end | int | Общий объём передаваемых данных. | |||||
| ready | bool | Готовность клонирования. | |||||
| progress_percent | int | Прогресс клонирования в процентах. | |||||
Примеры использования
Создать
С указанием описания
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
description: vm description
state: present
С указанием объёма загрузочного диска
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
boot:
disk_size: 10
state: present
С указанием СХД
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
sep_id: "{{ sep_id }}"
pool: "{{ sep_pool_name }}"
state: present
С указанием Cloud-init user data
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
ci_user_data:
packages:
- apache2
write_files:
- content: |
<div>
Hello World!
</div>
owner: user:user
path: /var/www/html/index.html
hostname: test-apache
ssh_keys:
- rsa_public: ssh-rsa AAAAOasDmLxnD= user@pc
state: present
С указанием SSH-ключа
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...
ssh_key_user: user
state: present
С указанием NUMA Affinity
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
numa_affinity: strict
state: present
С указанием запуска на выделенных ядрах ЦП
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
cpu_pin: true
state: present
С использованием Huge Pages
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
hp_backed: true
state: present
С указанием custom_fields
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
custom_fields:
fields:
title: Title
cpu:
mode: custom
vendor: Intel
cache:
mode: disable
topology:
sockets: 1
cores: 14
threads: 1
match: minimum
check: partial
state: present
С указанием affinity-метки
- name: Example
hosts: localhost
tasks:
- name: Create VM with affinity-label
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
affinity_label: label
state: present
С указанием affinity правил
- name: Example
hosts: localhost
tasks:
- name: Create VM with affinity rules
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
aff_rule:
- topology: compute
policy: RECOMMENDED
mode: EQ
key: key
value: value
state: present
С указанием anti-affinity правил
- name: Example
hosts: localhost
tasks:
- name: Create VM with anti-affinity rules
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
aaff_rule:
- topology: node
policy: REQUIRED
mode: ANY
key: key
value: value
state: present
С указанием тэгов
- name: Example
hosts: localhost
tasks:
- name: Create VM with tags
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
tag:
tag1_key: tag1_value
tag2_key: tag2_value
state: present
С образом
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
state: present
Без образа
С загрузочным диском
- name: Example
hosts: localhost
tasks:
- name: Create VM without image and with boot disk
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
boot:
disk_size: 10
state: present
Без загрузочного диска
- name: Example
hosts: localhost
tasks:
- name: Create VM without image and without boot disk
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
state: present
С указанием режима загрузки
- name: Example
hosts: localhost
tasks:
- name: Create VM without image and with boot mode
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
boot:
mode: bios
С указанием типа загрузчика ОС
- name: Example
hosts: localhost
tasks:
- name: Create VM without image and with loader type
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
boot:
loader_type: linux
С указанием именования сетевых интерфейсов
- name: Example
hosts: localhost
tasks:
- name: Create VM without image and with network interface naming
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
network_interface_naming: ens
С поддержкой изменения объема ОЗУ и количества ЦП у запущенной ВМ
- name: Example
hosts: localhost
tasks:
- name: Create VM without image and with hot resize
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
hot_resize: true
С включением автоматического запуска ВМ после перезапуска вычислительного узла, за которым она закреплена
- name: Example
hosts: localhost
tasks:
- name: Create VM
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
auto_start: true
state: present
С указанием чипсета
- name: Example
hosts: localhost
tasks:
- name: Create VM
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
chipset: Q35
state: present
С указанием предпочтительных ядер
- name: Example
hosts: localhost
tasks:
- name: Create VM with preferred CPU cores
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
cpu_pin: true
preferred_cpu_cores:
- 0
- 1
state: present
Путём клонирования другой ВМ
Без указания снимка
- name: Example
hosts: localhost
tasks:
- name: Create VM clone
decort_kvmvm:
# Параметры для авторизации упущены
name: vm_clone
clone_from:
id: "{{ vm_id }}"
force: true
storage_policy_id: "{{ storage_policy_id }}"
С указанием имени снимка
- name: Example
hosts: localhost
tasks:
- name: Create VM clone
decort_kvmvm:
# Параметры для авторизации упущены
name: vm_clone
clone_from:
id: "{{ vm_id }}"
snapshot:
name: snapshot_01
force: true
storage_policy_id: "{{ storage_policy_id }}"
С указанием временной метки снимка
- name: Example
hosts: localhost
tasks:
- name: Create VM clone
decort_kvmvm:
# Параметры для авторизации упущены
name: vm_clone
clone_from:
id: "{{ vm_id }}"
snapshot:
timestamp: 1739792809
force: true
storage_policy_id: "{{ storage_policy_id }}"
С указанием даты создания снимка
- name: Example
hosts: localhost
tasks:
- name: Create VM clone
decort_kvmvm:
# Параметры для авторизации упущены
name: vm_clone
clone_from:
id: "{{ vm_id }}"
snapshot:
datetime: 2024-02-17 14:50:22
force: true
storage_policy_id: "{{ storage_policy_id }}"
С указанием СХД
- name: Example
hosts: localhost
tasks:
- name: Create VM clone
decort_kvmvm:
# Параметры для авторизации упущены
name: vm_clone
clone_from:
id: "{{ vm_id }}"
force: true
sep_pool_name: "{{ sep_pool_name }}"
sep_id: "{{ sep_id }}"
storage_policy_id: "{{ storage_policy_id }}"
С указанием зоны
- name: Example
hosts: localhost
tasks:
- name: Create VM with zone id
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
zone_id: 2
state: present
С указанием версии операционной системы
- name: Example
hosts: localhost
tasks:
- name: Create VM with OS version
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
os_version: "{{ os_version }}"
state: present
Получение основной информации о виртуальной машине
По идентификатору
- name: Example
hosts: localhost
tasks:
- name: Get basic VM info by ID
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
По имени
- name: Example
hosts: localhost
tasks:
- name: Get basic VM info by name
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
Получение ссылки на консоль
- name: Example
hosts: localhost
tasks:
- name: Get VM console URL
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
get_console_url: true
Остановить/приостановить/запустить
Остановить
- name: Example
hosts: localhost
tasks:
- name: Stop VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: stopped
Запустить
- name: Example
hosts: localhost
tasks:
- name: Start VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: started
Приостановить
- name: Example
hosts: localhost
tasks:
- name: Pause VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: paused
Запустить с загрузкой с образа CD-ROM
- name: Example
hosts: localhost
tasks:
- name: Boot from CD-ROM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
from_cdrom: 10
state: started
Подключить/отключить диски
Подключить
- name: Example
hosts: localhost
tasks:
- name: Connect data disks to VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
disks:
mode: update
objects:
- id: "{{ datadisk1_id }}"
pci_slot_num_hex: "{{ pci_slot_num_hex }}"
bus_num_hex: "{{ bus_num_hex }}"
- id: "{{ datadisk2_id }}"
Отключить
- name: Example
hosts: localhost
tasks:
- name: Disconnect data disks from VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
disks:
mode: match
objects: []
Подключить/отключить сети
Подключить VINS/EXTNET/VFNIC-сети
- name: Example
hosts: localhost
tasks:
- name: Connect networks to VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: VINS
id: "{{ vins_id }}"
ip_addr: 192.168.4.0
mac: "00:11:22:33:44:55"
- type: EMPTY
- type: EXTNET
id: "{{ extnet_id }}"
mtu: 1500
ip_addr: 35.21.230.0
- type: VFNIC
id: "{{ vfpool_id }}"
- type: TRUNK
id: "{{ trunk_id }}"
state: stopped
Подключить VINS/EXTNET/VFNIC-сети с соблюдением очередности
- name: Example
hosts: localhost
tasks:
- name: Connect networks to VM with network order changing
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: VINS
id: "{{ vins_id }}"
ip_addr: 192.168.4.0
mac: "00:11:22:33:44:55"
- type: EMPTY
- type: EXTNET
id: "{{ extnet_id }}"
mtu: 1500
ip_addr: 35.21.230.0
- type: VFNIC
id: "{{ vfpool_id }}"
- type: TRUNK
id: "{{ trunk_id }}"
network_order_changing: true
state: stopped
Подключить DPDK сети
- name: Example
hosts: localhost
tasks:
- name: Connect DPDK networks to VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
hp_backed: true
networks:
- type: DPDK
id: "{{ dpdk1_id }}"
- type: DPDK
id: "{{ dpdk2_id }}"
mtu: 1500
state: stopped
Подключить сеть с выключенным интерфейсом
- name: Example
hosts: localhost
tasks:
- name: Connect network with disabled interface
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: "{{ network_type }}"
id: "{{ network_id }}"
enabled: false
state: stopped
Подключить SDN сеть
- name: Example
hosts: localhost
tasks:
- name: Connect SDN network to VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: SDN
mac: "11:22:33:44:55:66"
id: "{{ sdn_logical_port_id }}"
state: stopped
Отключить
- name: Example
hosts: localhost
tasks:
- name: Disconnect networks from VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks: []
state: stopped
Включить/выключить сетевой интерфейс
Включить
- name: Example
hosts: localhost
tasks:
- name: Enable VM interface
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: "{{ network_type }}"
id: "{{ network_id }}"
enabled: true
Выключить
- name: Example
hosts: localhost
tasks:
- name: Disable VM interface
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: "{{ network_type }}"
id: "{{ network_id }}"
enabled: false
Откатить ВМ к состоянию снимка
- name: Example
hosts: localhost
tasks:
- name: Rollback VM to snapshot
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
rollback_to: snapshot_01
state: stopped
Взаимодействовать c QEMU Guest Agent
Включить
- name: Example
hosts: localhost
tasks:
- name: Enable guest agent
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
guest_agent:
enabled: true
Выключить
- name: Example
hosts: localhost
tasks:
- name: Disable guest agent
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
guest_agent:
enabled: false
Обновить список доступных команд
- name: Example
hosts: localhost
tasks:
- name: Update available guest agent commands
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
guest_agent:
update_available_commands: true
Выполнить команду
- name: Example
hosts: localhost
tasks:
- name: Execute guest agent command
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
guest_agent:
exec:
cmd: guest-set-user-password
args:
username: user
password: newPassword
Получение статуса копирования данных из удаляемого снимка на СХД Shared
- name: Example
hosts: localhost
tasks:
- name: Get snapshot merge status
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
get_snapshot_merge_status: true
Получение статуса клонирования
- name: Example
hosts: localhost
tasks:
- name: Get cloning status
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
get_cloning_status: true
Отменить клонирование
- name: Example
hosts: localhost
tasks:
- name: Abort cloning
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
abort_cloning: true
Взаимодействовать с CD-ROM
Вставить диск
- name: Example
hosts: localhost
tasks:
- name: Insert disk
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cdrom:
mode: insert
image_id: 19
Извлечь диск
- name: Example
hosts: localhost
tasks:
- name: Eject disk
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cdrom:
mode: eject
Изменить
Объём загрузочного диска в большую сторону
- name: Example
hosts: localhost
tasks:
- name: Increase boot disk size
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
disk_size: 15
state: stopped
Количество ЦП
- name: Example
hosts: localhost
tasks:
- name: Change CPU amount
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu: 1
state: stopped
Объём ОЗУ
- name: Example
hosts: localhost
tasks:
- name: Change RAM size
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
ram: 512
state: stopped
Тэги
- name: Example
hosts: localhost
tasks:
- name: Change tags
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
tag:
tag1_key: tag1_value
tag2_key: tag2_value
Affinity метку
- name: Example
hosts: localhost
tasks:
- name: Change affinity label
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
affinity_label: Affinity label 1
Affinity правила
- name: Example
hosts: localhost
tasks:
- name: Change affinity rules
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
aff_rule:
- topology: compute
policy: REQUIRED
mode: EQ
key: app
value: main
- topology: node
policy: RECOMMENDED
mode: NE
key: state
value: started
Anti-affinity правила
- name: Example
hosts: localhost
tasks:
- name: Change anti-affinity rules
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
aaff_rule:
- topology: compute
policy: REQUIRED
mode: ANY
key: app
value: main
Описание
- name: Example
hosts: localhost
tasks:
- name: Change description
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
description: vm description
Чипсет
- name: Example
hosts: localhost
tasks:
- name: Change chipset
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
chipset: i440fx
state: stopped
Правило NUMA Affinity
- name: Example
hosts: localhost
tasks:
- name: Change NUMA affinity rule
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
numa_affinity: loose
state: stopped
Запуск на выделенных ядрах ЦП
- name: Example
hosts: localhost
tasks:
- name: Change CPU Pinning usage
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu_pin: true
state: stopped
Использование Huge Pages
- name: Example
hosts: localhost
tasks:
- name: Change Huge Pages usage
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
hp_backed: true
state: stopped
Имя
- name: Example
hosts: localhost
tasks:
- name: Rename VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
name: "{{ new_vm_name }}"
XML виртуальной машины
Изменение
- name: Example
hosts: localhost
tasks:
- name: Change XML management
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
custom_fields:
fields:
cpu:
mode: custom
vendor: Intel
cache:
mode: enable
os:
type:
machine: pc-i440fx-artful
Отключение управления ВМ через XML
- name: Example
hosts: localhost
tasks:
- name: Disable XML management
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
custom_fields:
disable: true
Автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена
Включить
- name: Example
hosts: localhost
tasks:
- name: Enable auto starting pinned VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
auto_start: true
Выключить
- name: Example
hosts: localhost
tasks:
- name: Disable auto starting of pinned VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
auto_start: false
Предпочтительные ядра
- name: Example
hosts: localhost
tasks:
- name: Change preferred CPU cores
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu_pin: true
preferred_cpu_cores:
- 0
- 1
- 2
state: stopped
Загрузочный диск
- name: Example
hosts: localhost
tasks:
- name: Make the disk bootable
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
disk_id: "{{ vm_disk1_id }}"
Режим загрузки
- name: Example
hosts: localhost
tasks:
- name: Change boot mode
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
mode: uefi
Тип загрузчика ОС
- name: Example
hosts: localhost
tasks:
- name: Change loader type
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
loader_type: windows
Именование сетевых интерфейсов
- name: Example
hosts: localhost
tasks:
- name: Change network interface naming
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
network_interface_naming: eth
Поддержку изменения объема ОЗУ и количества ЦП у запущенной ВМ
- name: Example
hosts: localhost
tasks:
- name: Change hot resize support
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
hot_resize: true
MAC-адрес сетевого интерфейса
- name: Example
hosts: localhost
tasks:
- name: Change network interface MAC address
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: VINS
id: "{{ vins_id }}"
mac: "11:22:33:44:55:66"
Зону ВМ
- name: Example
hosts: localhost
tasks:
- name: Change VM zone
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
zone_id: 2
Порядок загрузки
- name: Example
hosts: localhost
tasks:
- name: Change boot order
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
order:
- hd
- network
- cdrom
Группы безопасности сетевого интерфейса
- name: Example
hosts: localhost
tasks:
- name: Change interface's security groups
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: VINS
id: "{{ vins_id }}"
security_group_mode: true
security_group_ids:
- "{{ security_group1_id }}"
- "{{ security_group2_id }}"
Версию операционной системы
- name: Example
hosts: localhost
tasks:
- name: Change VM OS version
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
os_version: "{{ os_version }}"
Пересоздать загрузочный диск
Без изменения образа
- name: Example
hosts: localhost
tasks:
- name: Redeploy boot disk
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
storage_policy_id: "{{ storage_policy_id }}"
boot:
disk_redeploy: true
С изменением образа
- name: Example
hosts: localhost
tasks:
- name: Redeploy boot disk with image changing
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
storage_policy_id: "{{ storage_policy_id }}"
boot:
disk_redeploy: true
image_id: "{{ image_id }}"
Удалить
Безвозвратно
- name: Example
hosts: localhost
tasks:
- name: Delete VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: absent