17 KiB
03.02 Модуль decort_osimage
Обзор модуля decort_osimage
Модуль decort_osimage предназначен для выполнения следующих действий над образами, созданными в облачной платформе DECORT:
- Создание нового образа операционной системы для виртуальных машин.
- Создание виртуального образа для образа операционной системы.
- Изменение имени образа (в случае изменения имени виртуального образа, имя и id виртуального образа указываются как image_name и image_id.
- Привязка другого образа операционной системы к виртуальному образу.
- Удаление существующего образа, привязанного к аккаунту.
- Получение информации об образе.
Также данный модуль может быть полезен при массовом создании экземпляров compute (напр., виртуальных серверов) на базе одного и того же образа, так как позволяет оптимизировать количество API вызовов, инициируемых в адрес контроллера облачной платформы.
Параметры модуля decort_osimage
Ниже приведен полный список параметров для модуля decort_osimage. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
Параметр | Тип, допустимые значения | Описание |
---|---|---|
app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_APP_ID. |
app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения DECORT_APP_SECRET. |
authenticator | Значения:legacy oauth2 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 . |
verify_ssl | (bool) | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения. Данный параметр является опциональным. Функциональность callbacks в текущей версии модуля не реализована. |
workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к workflow_callback URL. Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов workflow_callback данные со своим внутренним состоянием и отслеживать инициированные им задачи. Параметр является опциональным и имеет значение только при условии, что также задан workflow_callback . Функциональность callbacks в текущей версии модуля не реализована. |
account_Id | (string) | Уникальный целочисленный идентификатор аккаунта. Используется для поиска образов, а тажке для их создания. |
account_name | (string) | Имя аккаунта. Используется для получения уникального целочисленного идентификатора аккаунта. |
virt_id | (integer) | Уникальный целочисленный идентификатор виртуального образа. Может использоваться для получения информации о виртуальном образе, а также для привязки к нему другого образа операционной системы. |
virt_name | (string) | Имя виртуального образа. Используется для получения virt_id , а в последвии информации о виртуальном образе, а также для создания виртуального образа и привязки к нему другого образа операционной системы. |
state | (string) | Состояние образов. При значении present идет создание образов операционной системы, к которым привязан указанный в account_Id или account_name аккаунт. При значении absent идет их удаление. |
drivers | (string) | Список типов compute (напр., виртуальных серверов), подходящих для образа операционной системы. Прим. KVM_X86 . Используется при создании образа операционной системы. |
architecture | (string) | Бинарная архитектура образа. Прим. X86_64 или PPC64_LE . Используется при создании образа операционной системы. |
imagetype | (string) | Тип образа. linux , windows или other . По умолчанию установлено linux . Используется при создании образа операционной системы. |
boottype | (string) | Тип загрузки образа. bios или uefi . По умолчанию установлено uefi . Используется при создании образа операционной системы. |
url | (string) | Унифицированный указатель ресурса (URL), указывающий на образ iso операционной системы. Используется при создании образа операционной системы. |
sepId | (integer) | Уникальный целочисленный идентификатор конечной точки провайдера хранения. Указывается в паре с poolName . Используется при создании образа операционной системы. |
poolName | (string) | Пул, в котором будет создан образ. Указывается в паре с sepId . Используется при создании образа операционной системы. |
hotresize | (bool) | Поддерживает ли образ "горячее" изменение размера. По умолчанию установлено false . Используется при создании образа операционной системы. |
image_username | (string) | Опциональное имя пользователя для образа. Используется при создании образа операционной системы. |
image_password | (string) | Опциональный пароль для образа. Используется при создании образа операционной системы. Используется при создании образа операционной системы. |
usernameDL | (string) | Имя пользователя для загрузки бинарного носителя. Используется в паре с passwordDL . Используется при создании образа операционной системы. |
passwordDL | (string) | Пароль для загрузки бинарного носителя. Используется в паре с usernameDL . Используется при создании образа операционной системы. |
permanently | (bool) | Навсегда ли удалить образ. Используется при удалении убраза. По умолчанию установлено false. |
Возвращаемые значения модуля decort_osimage
Модуль decort_osimage возвращает информацию о XXX в виде словаря facts со следующими ключами:
Ключ | Тип данных | Описание |
---|---|---|
arch | string | Аппаратная архитектура, с которой совместим данный образ. Возможные значения: X86_64 (Intel x86), PPC64_LE (IBM PowerPC). |
id | int | Уникальный целочисленный идентификатор данного образа. |
linkto | int | Уникальный целочисленный идентификатор образа операционной системы, который привязан к данному виртуальному. |
name | string | Имя образа. Обратите внимание, что имя образа может содержать пробелы. |
pool | string | Пул на системе хранения данных, в котором находится данный образ. |
sep_id | int | Идентификатор системы хранения (Storage Endpoint Provider), на которой хранится данный образ. |
size | int | Размер образа в ГБ. Загрузочный диск экземпляра compute, создаваемого на базе данного образа, должен иметь как минимум такой же размер. |
state | string | Текущий статус образа. Возможные значения: CREATED, DISABLED, DESTROYED. Экземпляры compute можно создавать только на базе образов, которые находятся в статусе CREATED. |
type | string | Тип операционной системы внутри данного образа. Возможные значения: Linux, Windows. |
Пример использования модуля decort_osimage
Пример создания образа операционной системы Alpine Linux.
- name: create_osimage
decort_osimage:
authenticator: oauth2
verify_ssl: False
controller_url: "https://ds1.digitalenergy.online"
state: present
image_name: "alpine_linux3.14.0"
account_Id: 12345
url: "https://dl-cdn.alpinelinux.org/alpine/v3.14/releases/x86_64/alpine-virt-3.14.0-x86_64.iso"
boottype: "uefi"
imagetype: "linux"
hotresize: False
image_username: "test"
image_password: "p@ssw0rd"
usernameDL: "testDL"
passwordDL: "p@ssw0rdDL"
architecture: "X86_64"
drivers: "KVM_X86"
delegate_to: localhost
register: osimage
Пример получения образа операционной системы по имени образа.
- name: get_osimage
decort_osimage:
authenticator: oauth2
controller_url: "https://ds1.digitalenergy.online"
image_name: "alpine_linux_3.14.0"
account_Id: 12345
delegate_to: localhost
register: osimage
Пример создания виртуального образа. Также в случае, если виртуальный образ уже существует, но к нему привязан другой образ операционной системы, он привяжет к себе указанный в примере образ операционной системы.
- name: create_virtual_osimage
decort_osimage:
authenticator: oauth2
controller_url: "https://ds1.digitalenergy.online"
image_name: "alpine_linux_3.14.0"
virt_name: "alpine_last"
delegate_to: localhost
register: osimage
Обратите внимание, что в данным примере можно использовать как image_name, так и image_id. Также можно использовать либо virt_name, либо virt_id.
Пример переименования образа.
- name: rename_osimage
decort_osimage:
authenticator: oauth2
controller_url: "https://ds1.digitalenergy.online"
image_name: "alpine_linux_3.14.0v2.0"
image_id: 54321
delegate_to: localhost
register: osimage