nuage_miq_automate

Ansible Роль: nuage_miq_automate

Эта роль предоставляет доступ к Рабочему пространству автоматизации ManageIQ, чтобы вы могли получить учетные данные Nuage (переменная nuage_auth) и данные событий EMS (переменная event).

  • Учетные данные Nuage. Формат точно такой, как требуют модули Nuage Ansible, так что вы можете использовать их напрямую:
nuage_auth:
  api_username: user
  api_password: pass
  api_enterprise: csp
  api_url: https://nuagedemo.net:8443
  api_version: v5_0
  • Данные события EMS. Здесь вы получаете детали события и можете использовать их для любых обратных вызовов, которые хотите выполнить.
event:
  #
  # EMS id, для которого было излучено событие.
  #
  ems_id: '2'
  #
  # Тип события (такой же, как `full_data.type`).
  #
  type: CREATE
  #
  # Тип сущности, для которой было вызвано событие (такой же, как `full_data.entityType`).
  #
  entityType: enterprise
  #
  # Сущность, для которой было вызвано событие (такой же, как `full_data.entities[0]`).
  # 
  entity:
    entity_type: enterprise
    ID: 07f2726a-7f83-4826-87bd-7f7664803938
    name: DEMO3
    # ... и другие атрибуты
  #
  # Полный хэш события, полученный от сервера Nuage.
  #
  full_data:
    assoicatedEvent: false
    diffMap: 
    enterpriseName: csp
    entities:
    - entityType: enterprise
      ID: 07f2726a-7f83-4826-87bd-7f7664803938
      name: DEMO3
      # ...
    entityType: enterprise
    entityVersion: 
    eventReceivedTime: 1535011120658
    ignoreDiffInMediationEvents: false
    requestID: 62c58aa6-4150-46c7-95fe-ed4051e70864
    sourceEnterpriseID: 07f2726a-7f83-4826-87bd-7f7664803938
    type: CREATE
    updateMechanism: DEFAULT
    userName: xlab

Пожалуйста, посмотрите этот блог, чтобы лучше понять, что должна делать эта роль. Также есть видео на YouTube с полной демонстрацией ее использования.

Требования

Вам нужно определить следующие атрибуты на вашей Автоматизированной Инстанции, работающей с ролью nuage_miq_automate:

  • nuage_username, например user
  • nuage_password (зашифрованный), например pass
  • nuage_enterprise, например csp
  • nuage_url, например https://nuagedemo.net:8443
  • nuage_api_version, например v5_0

Основная цель этой роли - извлечение этих Атрибутов из Рабочего пространства автоматизации.

ПРИМЕЧАНИЕ: Вам не обязательно указывать все пять Атрибутов на каждом экземпляре Автоматизации. Вместо этого вы можете просто изменить Схему и установить значения по умолчанию там - в этом случае все экземпляры класса смогут получить к ним доступ. Таким образом, если ваши учетные данные изменятся, вам будет достаточно обновить только эти значения по умолчанию.

Переменные роли

Переменная Значение по умолчанию Описание
manageiq / Установлено Автоматизацией.
manageiq_connection / Установлено Автоматизацией.
manageiq:
  X_MIQ_Group: Доступ для арендатора My Company
  api_token: 2d5d9031361a6ac570d810406f267cea
  api_url: 'http://localhost:4000'
  automate_workspace: automate_workspaces/82632486-7529-45c6-8fa7-fc53ebbb157d
  group: groups/1
  user: users/1
manageiq_connection:
  X_MIQ_Group: Доступ для арендатора My Company
  token: 2d5d9031361a6ac570d810406f267cea
  url: 'http://localhost:4000'

Вам не нужно беспокоиться о вводе переменных роли, потому что ManageIQ Automate предоставит их для вас.

Выходные данные

Эта роль устанавливает для вас следующие переменные:

Название статистики Описание
nuage_auth Хэш аутентификации Nuage. Может быть передан непосредственно в модуль nuage_vspk.
event Данные события EMS, см. ниже.
object Полное абсолютное имя текущего экземпляра автоматизации.
event:
  type:        CREATE
  ems_id:      4
  entity_type: subnet
  full_data:   { ... } # полные данные события, как было выдано поставщиком Nuage
  entity:      { ... } # event['entities'].first

Зависимости

Эта роль требует следующие роли, которые также доступны в Ansible Galaxy:

Пример плейбука

Предположим, мы хотим создать DomainTemplate каждый раз, когда создается новый Enterprise. Нам просто нужно подключить такой плейбук:

- name: Пример обратного вызова события Nuage
  hosts: localhost
  connection: local
  gather_facts: False
  roles:
  - xlab_si.nuage_miq_automate
  tasks:
  - debug: msg="Я плейбук, который запускается в качестве обратного вызова события и я могу получить учетные данные nuage."
  - debug: var=nuage_auth
  - debug: msg="А также детали события, которое вызвало меня."
  - debug: var=event
  - debug: msg="Теперь я готов выполнить какую-то работу!"
  
  - name: Создать шаблон домена для предприятия
    delegate_to: localhost
    nuage_vspk:
      auth: "{{ nuage_auth }}"          # обратите внимание, как мы просто передаем `nuage_auth`
      type: DomainTemplate
      parentType: Enterprise
      parentId: "{{ event.entity.ID }}" # обратите внимание, как мы просто обращаемся к переменной `event`
      state: present
      properties:
        name: "Demo Domain Template"

к событию nuage_enterprise_create. Ура! :)

Лицензия

BSD

О проекте

This role accesses ManageIQ Automation Workspace for you to provide you with Nuage credentials and EMS event data.

Установить
ansible-galaxy install xlab-si/ansible-role-nuage-miq-automate
Лицензия
Unknown
Загрузки
136
Владелец
Research and development company based in Ljubljana, Slovenia.