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
, например usernuage_password
(зашифрованный), например passnuage_enterprise
, например cspnuage_url
, например https://nuagedemo.net:8443nuage_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