102 KiB
102 KiB
Модуль decort_vm
Обзор модуля decort_vm
Модуль decort_vm предназначен для выполнения следующих действий над виртуальными машинами:
- создать (см. примеры)
- с указанием описания (см. параметр 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 и примеры)
- с указанием профиля выравнивания виртуальных процессоров (см. параметр cpu_alignment_profile_name и примеры)
- с указанием режима синхронизации времени (см. параметр clock_sync_mode и примеры)
- получить основную информацию (см. возвращаемые значения и примеры)
- получить ссылку на консоль (см. параметр 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 и примеры)
- длину сетевого префикса (см. параметр networks.net_prefix и примеры)
- режим синхронизации времени (см. параметр clock_sync_mode и примеры)
- профиль выравнивания виртуальных процессоров (см. параметр cpu_alignment_profile_name и примеры)
- пересоздать загрузочный диск (см. параметр boot.disk_redeploy и примеры)
- удалить (безвозвратно) (см. параметр state и примеры)
Параметры модуля decort_vm
Ниже приведен список параметров для модуля decort_vm (за исключением общих параметров):
| Параметр | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| 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
|
Эмулируемый чипсет.
Значение по умолчанию, если объект не найден или безвозвратно удалён: Q35.
|
|||||
| ci_user_data | (dict) | Конфигурация для cloud-init. | |||||
| clock_sync_mode |
(str)
Значения: default
linux
windows
none
Default: default
|
Режим синхронизации времени. | |||||
| 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_alignment_profile_name | (str) |
Имя профиля выравнивания виртуальных процессоров.
Чтобы очистить профиль выравнивания, нужно указать пустую строку "".
|
|||||
| 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_vm существующая ВМ идентифицируется по id, то параметры account_id, account_name, rg_id и rg_name игнорируются.
|
|||||
| image_id | (int) |
Уникальный цифровой идентификатор образа.
Если этот параметр не задан при создании ВМ, то ВМ будет создана без образа. Изменение образа у существующей ВМ возможно только при пересоздании загрузочного диска (см. disk_redeploy). |
|||||
| name | (str) |
Имя ВМ. Чтобы модуль decort_vm мог управлять сервером по его названию, также необходимо задать комбинацию 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.
|
|||||
| enable_default_gateway | (bool) |
Включено ли получение маршрута по умолчанию. Изменение доступно для сетей VINS.
|
|||||
| type |
(str)
Значения: VINS
EXTNET
VFNIC
DPDK
SDN
TRUNK
EMPTY
|
Тип сети. Обязательный параметр. | |||||
| id | (int | str) | Идентификатор внутренней/внешней/DPDK сети, пула вирт. функций или логического порта SDN. | |||||
| ip_addr | (str) |
IP-адрес, используемый для подключения к данной сети.
Применимо только для VINS, EXTNET, DPDK, VFNIC.
|
|||||
| mac | (str) |
MAC-адрес сетевого интерфейса.
Не применим для сети типа EMPTY.
|
|||||
| mtu | (int) |
MTU интерфейса.
Применимо только для EXTNET, DPDK, TRUNK.
|
|||||
| net_prefix | (int) |
Длина сетевого префикса.
Применимо только для DPDK, VFNIC.
|
|||||
| 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_vm
Модуль decort_vm возвращает информацию о виртуальной машине в виде словаря 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 | Режим загрузки. | |||||
| boot_order | list[str] | Порядок загрузки. | |||||
| cd_image_id | int | Идентификатор диска CD-ROM. | |||||
| clock_sync_mode | str | Синхронизация времени между гипервизором и гостевой ОС. | |||||
| clones | list | Список идентификаторов клонов ВМ. | |||||
| clone_reference | int | Идентификатор ВМ, клоном которой является данная ВМ. | |||||
| chipset | str | Эмулируемый чипсет. | |||||
| cpu | int | Количество виртуальных процессоров. | |||||
| cpu_alignment_profile | dict[str, str] | Профиль выравнивания виртуальных процессоров. | |||||
| 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_node | bool | ВМ привязана к вычислительному узлу. | |||||
| preferred_cpu_cores | list | Список номеров предпочтительных выделенных ядер ЦП. | |||||
| private_ips | list | Список IP-адресов на сетевых интерфейсах ВМ, которые подключены к внутренним сетям. | |||||
| public_ips | list | Список IP адресов на сетевых интерфейсах ВМ, которые подключены к внешним сетям. | |||||
| ram | int | Объём ОЗУ ВМ в МБ. | |||||
| read_only | bool | Ограничена ли возможность изменения ВМ. | |||||
| resized_online | bool | Изменён ли объем ОЗУ или количество ядер у запущенной ВМ. | |||||
| rg_id | int | Идентификатор ресурсной группы, которой принадлежит данная ВМ. | |||||
| snapshots | list | Список словарей, описывающих снимки ВМ. | |||||
| state | str | Состояние ВМ. | |||||
| tags | dict | Словарь, пары ключ-значение которого, описывают тэги ВМ. | |||||
| tech_status | str | Технический статус ВМ. | |||||
| username | str | Имя пользователя ОС по умолчанию. | |||||
| vnc_password | str | Пароль, используемый для подключения к ВМ через VNC. | |||||
| zone_id | int | Идентификатор зоны ВМ. | |||||
| weight | 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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
storage_policy_id: "{{ storage_policy_id }}"
chipset: i440fx
state: present
С указанием предпочтительных ядер
- name: Example
hosts: localhost
tasks:
- name: Create VM with preferred CPU cores
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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: Create VM with cpu alignment profile name
decort_vm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
cpu_alignment_profile_name: "{{ cpu_alignment_profile_name }}"
state: present
С указанием режима синхронизации времени
- name: Example
hosts: localhost
tasks:
- name: Create VM with clock sync mode
decort_vm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
storage_policy_id: "{{ storage_policy_id }}"
clock_sync_mode: "{{ clock_sync_mode }}"
state: present
Получение основной информации о виртуальной машине
По идентификатору
- name: Example
hosts: localhost
tasks:
- name: Get basic VM info by ID
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
По имени
- name: Example
hosts: localhost
tasks:
- name: Get basic VM info by name
decort_vm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
Получение ссылки на консоль
- name: Example
hosts: localhost
tasks:
- name: Get VM console URL
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
get_console_url: true
Остановить/приостановить/запустить
Остановить
- name: Example
hosts: localhost
tasks:
- name: Stop VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: stopped
Запустить
- name: Example
hosts: localhost
tasks:
- name: Start VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: started
Приостановить
- name: Example
hosts: localhost
tasks:
- name: Pause VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: paused
Запустить с загрузкой с образа CD-ROM
- name: Example
hosts: localhost
tasks:
- name: Boot from CD-ROM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
from_cdrom: 10
state: started
Подключить/отключить диски
Подключить
- name: Example
hosts: localhost
tasks:
- name: Connect data disks to VM
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
disks:
mode: match
objects: []
Подключить/отключить сети
Подключить VINS/EXTNET/VFNIC-сети
- name: Example
hosts: localhost
tasks:
- name: Connect networks to VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: VINS
id: "{{ vins_id }}"
ip_addr: 192.168.4.0
mac: "00:11:22:33:44:55"
enable_default_gateway: false
- type: EMPTY
- type: EXTNET
id: "{{ extnet_id }}"
mtu: 1500
ip_addr: 35.21.230.0
- type: VFNIC
id: "{{ vfpool_id }}"
ip_addr: 192.168.4.5
net_prefix: 10
- type: TRUNK
id: "{{ trunk_id }}"
mtu: 2000
state: stopped
Подключить VINS/EXTNET/VFNIC-сети с соблюдением очередности
- name: Example
hosts: localhost
tasks:
- name: Connect networks to VM with network order changing
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: VINS
id: "{{ vins_id }}"
ip_addr: 192.168.4.0
mac: "00:11:22:33:44:55"
enable_default_gateway: false
- type: EMPTY
- type: EXTNET
id: "{{ extnet_id }}"
mtu: 1500
ip_addr: 35.21.230.0
- type: VFNIC
id: "{{ vfpool_id }}"
ip_addr: 192.168.4.5
- type: TRUNK
id: "{{ trunk_id }}"
mtu: 2000
network_order_changing: true
state: stopped
Подключить DPDK сети
- name: Example
hosts: localhost
tasks:
- name: Connect DPDK networks to VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
hp_backed: true
networks:
- type: DPDK
id: "{{ dpdk1_id }}"
- type: DPDK
id: "{{ dpdk2_id }}"
mtu: 1500
ip_addr: 192.168.4.1
net_prefix: 10
state: stopped
Подключить сеть с выключенным интерфейсом
- name: Example
hosts: localhost
tasks:
- name: Connect network with disabled interface
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks: []
state: stopped
Включить/выключить сетевой интерфейс
Включить
- name: Example
hosts: localhost
tasks:
- name: Enable VM interface
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: "{{ network_type }}"
id: "{{ network_id }}"
enabled: true
Выключить
- name: Example
hosts: localhost
tasks:
- name: Disable VM interface
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: "{{ network_type }}"
id: "{{ network_id }}"
enabled: false
Откатить ВМ к состоянию снимка
- name: Example
hosts: localhost
tasks:
- name: Rollback VM to snapshot
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
rollback_to: snapshot_01
state: stopped
Взаимодействовать c QEMU Guest Agent
Включить
- name: Example
hosts: localhost
tasks:
- name: Enable guest agent
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
guest_agent:
enabled: true
Выключить
- name: Example
hosts: localhost
tasks:
- name: Disable guest agent
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
guest_agent:
enabled: false
Обновить список доступных команд
- name: Example
hosts: localhost
tasks:
- name: Update available guest agent commands
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
guest_agent:
update_available_commands: true
Выполнить команду
- name: Example
hosts: localhost
tasks:
- name: Execute guest agent command
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
get_snapshot_merge_status: true
Получение статуса клонирования
- name: Example
hosts: localhost
tasks:
- name: Get cloning status
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
get_cloning_status: true
Отменить клонирование
- name: Example
hosts: localhost
tasks:
- name: Abort cloning
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
abort_cloning: true
Взаимодействовать с CD-ROM
Вставить диск
- name: Example
hosts: localhost
tasks:
- name: Insert disk
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cdrom:
mode: insert
image_id: 19
Извлечь диск
- name: Example
hosts: localhost
tasks:
- name: Eject disk
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cdrom:
mode: eject
Изменить
Объём загрузочного диска в большую сторону
- name: Example
hosts: localhost
tasks:
- name: Increase boot disk size
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
disk_size: 15
state: stopped
Количество ЦП
- name: Example
hosts: localhost
tasks:
- name: Change CPU amount
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu: 1
state: stopped
Объём ОЗУ
- name: Example
hosts: localhost
tasks:
- name: Change RAM size
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
ram: 512
state: stopped
Тэги
- name: Example
hosts: localhost
tasks:
- name: Change tags
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
tag:
tag1_key: tag1_value
tag2_key: tag2_value
Affinity метку
- name: Example
hosts: localhost
tasks:
- name: Change affinity label
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
affinity_label: Affinity label 1
Affinity правила
- name: Example
hosts: localhost
tasks:
- name: Change affinity rules
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
aaff_rule:
- topology: compute
policy: REQUIRED
mode: ANY
key: app
value: main
Описание
- name: Example
hosts: localhost
tasks:
- name: Change description
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
description: vm description
Чипсет
- name: Example
hosts: localhost
tasks:
- name: Change chipset
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
chipset: i440fx
state: stopped
Правило NUMA Affinity
- name: Example
hosts: localhost
tasks:
- name: Change NUMA affinity rule
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
numa_affinity: loose
state: stopped
Запуск на выделенных ядрах ЦП
- name: Example
hosts: localhost
tasks:
- name: Change CPU Pinning usage
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu_pin: true
state: stopped
Использование Huge Pages
- name: Example
hosts: localhost
tasks:
- name: Change Huge Pages usage
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
hp_backed: true
state: stopped
Имя
- name: Example
hosts: localhost
tasks:
- name: Rename VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
name: "{{ new_vm_name }}"
XML виртуальной машины
Изменение
- name: Example
hosts: localhost
tasks:
- name: Change XML management
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
custom_fields:
disable: true
Автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена
Включить
- name: Example
hosts: localhost
tasks:
- name: Enable auto starting pinned VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
auto_start: true
Выключить
- name: Example
hosts: localhost
tasks:
- name: Disable auto starting of pinned VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
auto_start: false
Предпочтительные ядра
- name: Example
hosts: localhost
tasks:
- name: Change preferred CPU cores
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
disk_id: "{{ vm_disk1_id }}"
Режим загрузки
- name: Example
hosts: localhost
tasks:
- name: Change boot mode
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
mode: uefi
Тип загрузчика ОС
- name: Example
hosts: localhost
tasks:
- name: Change loader type
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
loader_type: windows
Именование сетевых интерфейсов
- name: Example
hosts: localhost
tasks:
- name: Change network interface naming
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
network_interface_naming: eth
Поддержку изменения объема ОЗУ и количества ЦП у запущенной ВМ
- name: Example
hosts: localhost
tasks:
- name: Change hot resize support
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
hot_resize: true
MAC-адрес сетевого интерфейса
- name: Example
hosts: localhost
tasks:
- name: Change network interface MAC address
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
zone_id: 2
Порядок загрузки
- name: Example
hosts: localhost
tasks:
- name: Change boot order
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
order:
- hd
- network
- cdrom
Группы безопасности сетевого интерфейса
- name: Example
hosts: localhost
tasks:
- name: Change interface's security groups
decort_vm:
# Параметры для авторизации упущены
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_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
os_version: "{{ os_version }}"
Длину сетевого префикса
- name: Example
hosts: localhost
tasks:
- name: Change interface net prefix
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: DPDK
id: "{{ dpdk_id }}"
net_prefix: 22
Режим синхронизации времени
- name: Example
hosts: localhost
tasks:
- name: Change VM clock sync mode
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
clock_sync_mode: "{{ clock_sync_mode }}"
Профиль выравнивания виртуальных процессоров
- name: Example
hosts: localhost
tasks:
- name: Change cpu alignment profile name
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu_alignment_profile_name: "{{ cpu_alignment_profile_name }}"
Пересоздать загрузочный диск
Без изменения образа
- name: Example
hosts: localhost
tasks:
- name: Redeploy boot disk
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
disk_redeploy: true
С изменением образа
- name: Example
hosts: localhost
tasks:
- name: Redeploy boot disk with image changing
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
disk_redeploy: true
image_id: "{{ image_id }}"
С указанием политики хранения
- name: Example
hosts: localhost
tasks:
- name: Redeploy boot disk with storage policy
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
storage_policy_id: "{{ storage_policy_id }}"
boot:
disk_redeploy: true
С указанием версии операционной системы
- name: Example
hosts: localhost
tasks:
- name: Redeploy boot disk with os version
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
os_version: "{{ os_version }}"
boot:
disk_redeploy: true
С указанием размера загрузочного диска
- name: Example
hosts: localhost
tasks:
- name: Redeploy boot disk with disk size
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot:
disk_redeploy: true
disk_size: 10
Удалить
Безвозвратно
- name: Example
hosts: localhost
tasks:
- name: Delete VM
decort_vm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: absent