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_vins.md

18 KiB

03.06 Модуль decort_vins

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

Модуль decort_vins предназначен для создания, изменения, получения текущих характеристик и удаления виртуального сетевого сегмента (Virtual Network Segment, ViNS). Позволяет:

  • Создавать, удалять виртуальные сетевые сегменты.
  • Изменять виртуальные сетевые сегменты.
  • Запрашивать информацию о виртуальных сетевых сегментах.
  • Восстанавливать удалённые виртуальные сетевые сегменты.
  • Соединять виртуальные сетевые сегменты.

Параметры модуля decort_vins

Ниже в алфавитном порядке приведен полный список параметров для модуля decort_vins. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой: ansible-doc -t module decort_vins

Параметр Тип, допустимые значения Описание
account_id (int) Уникальный целочисленный идентификатор учётной записи (account), которой принадлежит данный ViNS. При идентификации виртуального сетевого сегмента по имени (см. параметр vins_name) должно быть задан либо идентификатор, либо имя учётной записи (см. параметр account_name). Если одновременно заданы и account_id, и account_name, то account_name игнорируется.
account_name (string) Имя учётной записи (account), которой принадлежит данный ViNS. При идентификации виртуального сетевого сегмента по имени (см. параметр vins_name) должно быть задано либо имя, либо идентификатор учётной записи (см. параметр account_id). Если одновременно заданы и account_id, и account_name, то account_name игнорируется.
annotation (string) Текстовое описание виртуального сетевого сегмента. Данный аргумент является опциональным и учитывается только при создании ViNS, а при всех прочих операциях игнорируется.
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, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер. Данный параметр является обязательным. ext_net_id (int) Данный аргумент контролирует подключение виртуального сетевого сегмента во внешнюю сеть: * -1 (default) - ViNS не подключён ко внешней сети; * 0 - ViNS подключён ко внешней сети, которую платформа выбирает по умолчанию; * >0 - ViNS подключён ко внешней сети с заданным идентификатором;
ext_ip_addr (string) Данный аргумент позволяет выбрать IP адрес для подключения виртуального сетевого сегмента ко внешней сети (когда значение аргумента ext_net_id больше либо равно 0) и учитывается только при новых подключених - в рамках модуля decort_vins вы не можете изменить внешний IP адрес не меняя идентификатор внешней сети. Параметр является опциональным: если он не задан, то в случае ViNS, подключённого во внешнюю сеть, платформа назначит IP адрес автоматически.
ipcidr string Адрес, которые надлежит присвоить внутренней сети сетевого сегмента. Данный аргумент является опциональным и используется только при создании нового виртуального сетевого сегмента, а при всех прочих операциях игнорируется. Если этот аргумент не задан, то платформа назначит адрес автоматически. Обратите внимание, что виртуальные сетевые сегменты, принадлежащие одной и той же учётной записи, не могут иметь пересекающихся диапазонов внутренних адресов.
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.
rg_id (int) Идентификатор ресурсной группы, в которой должен быть создан или уже существует ViNS. Если одновременно заданы rg_id и rg_name, то rg_name игнорируется.
rg_name (string) Имя ресурсной группы, в которой должен быть создан или уже существует ViNS. Если одновременно заданы rg_name и rg_id, то rg_name игнорируется.
state Значения:
present <- default
absent
enabled
disabled
Целевое состояние ViNS.
verify_ssl (bool)
True <- default
False
Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах.
vins_id (int) Идентификатор виртуального сетевого сегмента. Соответствующий сетевой сегмент должен существовать (таким образом, с помощью vins_id нельзя создать новый сегмент, а только управлять уже имеющимися. Если задан данный параметр, то параметры vins_name, account_name, account_id, rg_name и rg_id игнорируются.
vins_name (string) Имя виртуального сетевого сегмента. Для идентификации виртуального сетевого сегмента требуется либо vins_name и информация об учётной записи/ресурсной группе, которой принадлежит сегмент, либо vins_id. Обратите внимание, что это имя уникально только в рамках ресурсной группы или учетной записи, на уровне которой существует данный сетевой сегмент.
ext_net_id (int) Уникальный целочисленный идентификатор внешней сети.
mgmtaddr (str) Адрес менеджмента интерфейса. В данный параметр указывается ip адрес менеджмента интерфейса, который предоставляет доступ по SSH.
custom_config (bool) Параметр, отвечающий за использование пользовательской конфигурации. По умолчанию: False
config_save (bool) Параметр, отвечающий за сохранение файла конфигурации. По умолчанию: False
connect_to (list) Список, в котором необходимо указывать виртуальные сетевые сегменты, которые Вы хотите соединить. См. примеры.
workflow_callback (string) URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль desc_vm будет оперативно передавать информацию о своем статусе и текущей фазе исполнения. Данный параметр является опциональным. Функциональность callbacks в текущей версии модуля не реализована.
workflow_context (string) Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к workflow_callback URL. Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов workflow_callback данные со своим внутренним состоянием и отслеживать инициированные им задачи. Параметр является опциональным и имеет значение только при условии, что также задан workflow_callback. Функциональность callbacks в текущей версии модуля не реализована.

Возвращаемые значения модуля decort_vins

Модуль decort_vins возвращает информацию о виртуальном сетевом сегменте (Virtual Network Segment, ViNS) в виде словаря facts со следующими ключами:

Ключ Тип данных Описание
account_id int Уникальный целочисленный идентификатор учётной записи (account), которой принадлежит ViNS.
ext_ip_addr (string) IP адрес интерфейса, которым ViNS подключён во внешнюю сеть. Если ViNS не подключён к внешней сети, то пустая строка.
ext_net_id (int) Идентификатор внешней сети, к которой подключён ViNS. -1 означает, что ViNS в данный момент не подключён к внешней сети.
gid (int) Идентификатор физического кластера (Grid ID), на базе которого развёрнуты ресурсы данного ViNS.
id (int) Уникальный целочисленный идентификатор ViNS.
name (string) Имя ViNS. Обратите внимание, что это имя уникально только в рамках учётной записи или ресурсной группы, на уровне которых создан ViNS.
int_net_addr (string) Адрес внутренней сети ViNS. Обратите внимание, что адреса внутренних сетей всех ViNS, принадлежащих одной и той же учётной записи (независимо от того, создан ли ViNS на уровне учётной записи или ресурсной группы), не пересекаются.
rg_id (int) Уникальный целочисленный идентификатор учётной ресурсной группы, которой принадлежит данный ViNS. Если данный ViNS создан на уровне учётной записи, то rg_id=0.
state (string) Текущее состояние ViNS.
Корректные состояния: CREATED, ENABLED, DISABLED, DELETED, DESTROYED.

Пример использования модуля decort_vins

В данном примере создаётся виртуальный сетевой сегмент с именем "MyVins01" (vins_name: "MyVins01").

Сетевой сегмент создаётся на уровне ресурсной группы "MyRg01" (rg_name: "MyRg01"), принадлежащей учётной записи "MyMainAccount" (account_name: "MyMainAccount"). Виртуальный сетевой сегмент будет иметь подключение во внешнюю сеть по умолчанию (ext_net_id: 0).

  - name: Manage ViNS at resource group level
    decort_vins:
      authenticator: jwt
      jwt: "{{ my_jwt.jwt }}"
      controller_url: "https://ds1.digitalenergy.online"
      vins_name: "vins_created_by_decort_VINS_module"
      state: present
      rg_id: 198
      ext_net_id: -1
      ipcidr: "10.20.30.0/24"
      mgmtaddr: "10.20.30.1"
      custom_config: false
      config_save: false 
      verify_ssl: false
    register: my_vins

Здесь результат исполнения модуля decort_vins записывается в переменную my_vins, которую можно дальше использовать в Ansible playbooks. Ниже показано, как получить и использовать идентификатор ViNS для подключения к нему виртуального сервера.

- name: manage virtual server
  decort_kvmvm:
    << для краткости фрагмент опущен >>
    networks:
      - type: VINS
        id: "{{ my_vins.facts.id }}"
    << для краткости фрагмент опущен >>

В данном примере идёт создание виртуального сетевого сегмента, а потом его привязка к виртуальным сетевым сегментам с id 864 и 196.

  - name: Manage ViNS at resource group level
    decort_vins:
      authenticator: jwt
      jwt: "{{ my_jwt.jwt }}"
      controller_url: "https://cloud.digitalenergy.online"
      vins_name: "vins_connected_by_decort_vins_module"
      state: present
      rg_id: 98
      connect_to:
       - type: VINS
         id: 864
         ipaddr: 192.168.5.66
         netmask: 24
       - type: VINS
         id: 196
         ipaddr: 192.168.9.133
         netmask: 24
    register: managed_vins