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.

103 lines
12 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 03.09 Модуль decort_group
## Обзор модуля decort_group
Модуль decort_group позволяет взаимодействовать с группами виртуальных серверов, которые находятся в Basic сервисе. `Взаимодействие с Basic сервисами происходит в модуле decort_bservice.`
Модуль decort_group позволяет:
- Получить информацию о группе виртуальных серверов.
- Запустить/остановить группу виртуальных серверов.
- Изменить параметры группы виртуальных серверов (cpu, ram, disk, role, name).
- Изменить количество виртуальных серверов в группе.
- Изменить параметры сети (ext_net, VINS).
- Создать группу виртуальных серверов и подключить её к Basic сервису.
- Удалить группу виртуальных серверов.
## Параметры модуля decort_group
Ниже приведен полный список параметров для модуля decort_group.
| Параметр | Тип, допустимые значения | Описание |
| ------ | ------ | ------ |
| account_id | (int) | Уникальный целочисленный идентификатор учётной записи (account), которой принадлежит данный диск. При идентификации диска по имени (см. параметр `name`) должно быть задан либо идентификатор, либо имя учётной записи (см. параметр `account_name`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется.|
|account_name | (string) | Имя учётной записи (account), которой принадлежит данный диск. При идентификации диска по имени (см. параметр name) должно быть задано либо имя, либо идентификатор учётной записи (см. параметр `account_id`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется. |
| app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_APP_ID`.|
|app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения `DECORT_APP_SECRET`.|
| authenticator | Значения:<br/>`legacy`<br/>`oauth2`<br/>`jwt` <- default | Режим аутентификации при подключении к контроллеру облачной платформы DECORT. |
|controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер. Данный параметр является обязательным.|
|jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt` Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения `DECORT_JWT`.|
|oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_OAUTH2_URL`.|
|id | (int) | Уникальный целочисленный идентификатор группы виртуальных серверов.|
| image_id | (int) | Уникальный целочисленный идентификатор образа операционной системы. Используется для создания виртуальных серверов в группе. |
| image_name | (string) | Имя образа операционной системы. Используется для создания виртуальных серверов в группе.|
| driver | (string) | Тип виртуального сервера. Прим. `KVM_X86` |
| boot_disk | (int) | Обьём виртуального диска на виртуальных серверах. |
| bservice_id | (int) | Уникальный целочисленный идентификатор Basic серфиса, в который необходимо добавить группу виртуальных серверов. |
| count | (int) | Количество виртуальных серверов в группе. |
| timeoutStart | (int) | Задержка в секундах до отображения группы виртуальных серверов. |
| role | (string) | Роль группы виртуальных серверов. |
| cpu | (int) | Количество ядер процессора на каждом виртуальном сервере в группе. |
| ram | (int) | Объём оперативной памяти на каждом виртуальном сервере в группе. |
| networks | (list) | Список сетей, которые необходимо подключить к каждому виртуальному серверу в группе |
| description | (string) | Описание группы виртуальных серверов. |
|verify_ssl | (bool) | True <- default False Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах.|
| workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения. Данный параметр является опциональным. Функциональность callbacks в текущей версии модуля не реализована. |
|workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL. Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов `workflow_callback` данные со своим внутренним состоянием и отслеживать инициированные им задачи. Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`.|
## Возвращаемые значения модуля decort_group
Модуль decort_group возвращает информацию о диске в виде словаря facts со следующими ключами:
|Ключ | Тип данных | Описание|
| ------ | ------ | ------ |
| account_id | int | Уникальный целочисленный идентификатор аккаунта, к которому привязана данная группа виртуальных серверов. |
| rg_id | int | Уникальный целочисленный идентификатор ресурсной группы, в которой находится данная группа виртуальных серверов. |
| id | int | Уникальный целочисленный идентификатор данной группы виртуальных серверов.|
| name | string | Имя данной группы виртуальных серверов.|
| techStatus | string | Технический статус данной группы виртуальных серверов. |
| state | string | Текущее состояние группы виртуальных серверов. Корректные состояния: absent, started, stopped, present, check.|
| Computes | string | Уникальные целочисленные идентификаторы виртуальных серверов, входящих в группу. |
## Пример использования модуля decort_group
Данный пример создаёт группу виртуальных серверов с названием test_group.
```
- hosts: localhost
tasks:
- name: create
decort_group:
authenticator: oauth2
verify_ssl: False
controller_url: "https://ds1.digitalenergy.online"
state: present
bservice_id: 1823
count: 2
name: "test_group"
cpu: 2
ram: 2
boot_disk: 10
image_id: 518
driver: "KVM_X86"
timeoutStart: 5
networks:
- type: VINS
id: 1987
delegate_to: localhost
register: group_test
```
Данный пример удаляет группу виртуальных серверов с названием test_group.
```
- hosts: localhost
tasks:
- name: create
decort_group:
authenticator: oauth2
verify_ssl: False
controller_url: "https://ds1.digitalenergy.online"
state: absent
bservice_id: 1823
name: "test_group"
delegate_to: localhost
register: group_test
```