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.
decort-ansible/wiki/5.2.6/модуль-decort_osimage.md

17 KiB

03.02 Модуль decort_osimage

Обзор модуля decort_osimage

Модуль decort_osimage предназначен для выполнения следующих действий над образами, созданными в облачной платформе DECORT:

  1. Создание нового образа операционной системы для виртуальных машин.
  2. Создание виртуального образа для образа операционной системы.
  3. Изменение имени образа (в случае изменения имени виртуального образа, имя и id виртуального образа указываются как image_name и image_id.
  4. Привязка другого образа операционной системы к виртуальному образу.
  5. Удаление существующего образа, привязанного к аккаунту.
  6. Получение информации об образе.

Также данный модуль может быть полезен при массовом создании экземпляров 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