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.
22 KiB
22 KiB
Модуль decort_kvmvm
Обзор модуля decort_kvmvm
Модуль decort_kvmvm предназначен для выполнения следующих действий над виртуальными машинами:
- создать
- с образом
- без образа
- с загрузочным диском
- без загрузочного диска
- получить информацию
- остановить/приостановить/запустить
- подключить/отключить диски с данными
- подключить/отключить сети
- изменить
- объём загрузочного диска в большую сторону
- количество CPU
- объём ОЗУ
- тэги
- affinity метку
- affinity правила
- anti-affinity правила
- описание
- чипсет
- правило NUMA Affinity
- использование CPU Pinning
- использование Huge Pages
- имя
- XML виртуальной машины
- удалить (безвозвратно)
Параметры модуля decort_kvmvm
Ниже в алфавитном порядке приведен полный список параметров для модуля decort_kvmvm. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
ansible-doc -t module decort_kvmvm
Параметр | Тип, допустимые значения | Описание |
---|---|---|
aaff_rule | (list) | Список словарей, описывающих anti-affinity правила. Ключи словаря: • topology (string) (обязательный) - назначение правила; значения: node (узел) или compute (ВМ)• policy (string) (обязательный) - степень "необходимости" этого правила; значения: RECOMMENDED или REQUIRED • mode (string) (обязательный) - режим сравнения; значения: EQ (должно соответствовать), NE (не должно соответствовать), ANY (любое)• key (string) (обязательный) - ключ, который учитывается при анализе данного правила• value (string) (обязательный) - значение ключа, учитываемого при анализе данного правила (зависит от ключа mode ).Чтобы очистить anti-affinity правила, нужно указать пустой список [] . |
account_id | (int) | Идентификатор аккаунта. Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией account_id и rg_name . Если задан account_id , то account_name игнорируется. |
account_name | (string) | Имя аккаунта. Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией account_name и rg_name . Если задан account_id , то account_name игнорируется. |
aff_rule | (list) | Список словарей, описывающих affinity правила. Ключи словаря: • topology (string) (обязательный) - назначение правила; значения: node (узел) или compute (ВМ)• policy (string) (обязательный) - степень "необходимости" этого правила; значения: RECOMMENDED или REQUIRED • mode (string) (обязательный) - режим сравнения; значения: EQ (должно соответствовать), NE (не должно соответствовать), ANY (любое)• key (string) (обязательный) - ключ, который учитывается при анализе данного правила• value (string) (обязательный) - значение ключа, учитываемого при анализе данного правила (зависит от ключа mode ).Чтобы очистить affinity правила, нужно указать пустой список [] . |
affinity_label | (str) | Метка affinity. Чтобы очистить метку affinity, нужно указать пустую строку "" . |
description | (string) | Опциональное описание виртуальной машины. Этот параметр используется только при создании. |
app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль decort_kvmvm будет использовать значение переменной окружения DECORT_APP_ID . |
app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DCORT в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль decort_kvmvm будет использовать значение переменной окружения DECORT_APP_SECRET . |
authenticator | (str) Значения: oauth2 jwt |
Режим аутентификации при подключении к контроллеру облачной платформы DECORT. Обязательный параметр. |
boot_disk | (int) | Объём загрузочного диска виртуальной машины в ГБ. |
chipset | (string) Значения: Q35 i440fx |
Эмулируемый чипсет. |
ci_user_data | (dict) | конфигурация для cloud-init |
controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должен быть создан (или уже существует) данная виртуальная машина. Данный параметр является обязательным. |
cpu | (int) | Количество виртуальных процессоров, выделяемых виртуальной машине. |
cpu_pin | (bool) | Запуск виртуальной машины на выделенных процессорах. Чтобы использовать эту функцию, система должна быть предварительно сконфигурирована путем выделения процессоров на физическом узле. Значение по умолчанию при создании: false . |
custom_fields | (dict) | Словарь, управляющий XML виртуальной машины. Ключи словаря: • disable (bool) - отключение управления виртуальной машиной через XML. Значение по умолчанию при создании: true • fields (dict) - поля для управления XML виртуальной машины. |
data_disks | (list) | Список идентификаторов дисков, которые следует подключить к данной виртуальной машине как дополнительные. Чтобы отключить все диски, нужно указать пустой список [] . |
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) | Уникальный цифровой идентификатор образа, на базе которого следует создать виртуальную машину. При создании задать этот параметр или параметр image_name . При любых других операциях данные параметры игнорируются. Если заданы оба этих параметра (image_id и image_name ), то image_name игнорируется. |
image_name | (string) | Название образа, на базе которого следует создать ВМ. При создании требуется задать этот параметр или параметр image_id . При любых других операциях данные параметры игнорируются. |
jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме authenticator: jwt . Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль decort_kvmvm будет использовать значение переменной окружения DECORT_JWT . |
name | (string) | Имя ВМ. Чтобы модуль decort_kvmvm мог управлять сервером по его названию, также необходимо задать комбинацию account_name и rg_name или rg_id . Если для существующей ВМ указаны и name , и id , то параметр name игнорируется и идентификация сервера выполняется по id . |
network_order_changing | (bool) Default: false |
Соблюдение очерёдности сетей при их изменении. Если true , то сравнение списка уже подключённых к ВМ сетей со списком из параметра networks будет производится с учётом очерёдности сетей и, при выявлении несоответствия, сначала будет произведено отключение всех сетей от ВМ, а затем подключение сетей в соответствии с параметром networks .Если false , то очерёдность при сравнении учитываться не будет. Соответственно, сети, которые имеются в списке параметра networks и уже подключены к ВМ, переподключаться не будут, что может кратно уменьшить время выполнения изменения сетей. |
networks | (list) | Список словарей, описывающих сети ВМ. Ключи словаря: • type (string) (обязательный) - тип сети; значения: VINS (внутренняя), EXTNET (внешняя), VFNIC (вирт. функция), DPDK , EMPTY (без подключения к сети)• id (int) (необязательный) - идентификатор внутренней/внешней/DPDK сети или пула вирт. функций• ip_addr (string) (необязательный) - IP-адрес, используемый для подключения к данной сети; применимо только для VINS и EXTNET .ВМ не может одновременно быть подключена к сети DPDK и к сети другого типа. Чтобы отключить все сети, нужно указать пустой список [] . |
numa_affinity | (str) Значения: strict loose none |
Правило применения NUMA affinity к виртуальной машине. strict - строго с NUMA affinity, loose - использовать NUMA affinity, если возможно, none - отменить применение NUMA affinity. Значение по умолчанию при создании: none . |
oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль decort_kvmvm будет использовать значение переменной окружения DECORT_OAUTH2_URL . |
pool | (str) | Пул СХД, заданной параметром sep_id . Если пул не задан, то он будет выбран платформой. |
ram | (int) | Объем оперативной памяти в МБ, выделенной данной ВМ. Параметр является обязательным при создании. Если указать его для уже существующей ВМ, то будет выполнена попытка изменить объем выделенной памяти. |
rg_id | (int) | Уникальный цифровой идентификатор уже существующей ресурсной группы, в которой будет создана новая или находится уже существующая ВМ. Данный параметр является одним из методов идентификации существующей РГ (альтернативой является задание комбинации account_name и rg_name ). |
rg_name | (string) | Имя уже существующей ресурсной группы, в которой будет создаа новая или находится уже существующая ВМ. Данный параметр является одним из методов идентификации существующей РГ, когда задается пара account_name и rg_name (альтернативой является задание rg_id ). Если заданы и rg_id , и rg_name , то параметр rg_name игнорируется. |
sep_id | (int) | Идентификатор СХД для загрузочного диска ВМ. Если не задан, то будет использоваться СХД образа. |
ssh_key | (string) | Открытая часть SSH-ключа, который необходимо добавить на создаваемую ВМ для пользователя, заданного параметром ssh_key_user . Данный параметр применим только для ОС Linux, используется только при создании и игнорируется при других операциях. |
ssh_key_user | (string) | Имя пользователя в гостевой ОС (только для Linux), для которого добавляется SSH-ключ, заданный параметром ssh_key . Данный параметр является обязательным, если задан ssh_key . Используется только при создании и игнорируется при других операциях. |
state | (str) Значения: present absent poweredon poweredoff halted paused check Default: present |
Целевое состояние ВМ. Значение halted - синоним к poweredoff . Значения present и poweredon равнозначны. Значение check вызывает модуль в read-only режиме и считывает характеристики существующей ВМ. |
tag | (dict) | Словарь, пары ключ-значение которого, описывают тэги для ВМ. Чтобы очистить теги, нужно указать пустой словарь {} . |
verify_ssl | (bool) Default: true |
Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
Возвращаемые значения модуля decort_kvmvm
Модуль decort_kvmvm возвращает информацию о виртуальной машине в виде словаря facts
со следующими ключами:
Ключ | Тип данных | Описание |
---|---|---|
account_id | int | Идентификатор аккаунта. |
arch | string | Архитектура ВМ. |
chipset | string | Эмулируемый чипсет. |
cpu | int | Количество виртуальных процессоров. |
cpu_pin | bool | Запуск виртуальной машины на выделенных процессорах. |
custom_fields | dict | Словарь, управляющий XML виртуальной машины. Если null , то управление виртуальной машиной через XML отключено, иначе - управление через XML включено. |
data_disks | list | Список идентификаторов дисков с данными, подключенных к ВМ. |
disk_size | int | Размер загрузочного диска в ГБ. |
hp_backed | bool | Использовать Huge Pages для выделения оперативной памяти виртуальной машины. |
id | int | Идентификатор ВМ. |
image_id | id | Идентификатор образа. |
interfaces | list | Список словарей, описывающих сетевые интерфейсы ВМ. |
name | string | Имя ВМ. |
numa_affinity | str | Правило применения NUMA affinity к виртуальной машине. |
password | string | Пароль пользователя ОС по умолчанию. |
private_ips | list | Список IP-адресов на сетевых интерфейсах ВМ, которые подключены к внутренним сетям. |
public_ips | list | Список IP адресов на сетевых интерфейсах ВМ, которые подключены к внешним сетям. |
ram | int | Объём ОЗУ ВМ в МБ. |
rg_id | int | Идентификатор ресурсной группы, которой принадлежит данная ВМ. |
state | string | Состояние ВМ. |
tags | dict | Словарь, пары ключ-значение которого, описывают тэги ВМ. |
tech_status | str | Технический статус ВМ. |
username | string | Имя пользователя ОС по умолчанию. |
Пример использования модуля decort_kvmvm
В данном примере создается ВМ с именем MyFirstVM.
- name: Сreate VM
decort_kvmvm:
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
authenticator: oauth2
controller_url: "https://cloud.digitalenergy.online"
cpu: 2
image_id: "{{ my_img.facts.id }}"
name: MyFirstVM
networks:
- type: VINS
id: "{{ my_vins.facts.id }}"
oauth2_url: "https://sso.digitalenergy.online"
ram: 4096
rg_id: "{{ my_rg.facts.id }}"
chipset: Q35
custom_fields:
fields:
title: TestTitle
cpu:
mode: custom
cache:
mode: disable
register: my_vm