|
|
# 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
|
|
|
``` |