xlab_si.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
このロールの主な目的は、自動化ワークスペースからこれらの属性を抽出することです。
注: すべての自動化インスタンスでこれらの5つの属性を指定する必要はありません。代わりに、スキーマを修正してデフォルト値を設定することができるため、すべてのクラスのインスタンスがそれらにアクセスできます。この方法では、認証情報が変更された場合、デフォルト値だけを更新すればよいのです。
ロール変数
変数 | デフォルト | 説明 |
---|---|---|
manageiq | / | 自動化によって設定されます。 |
manageiq_connection | / | 自動化によって設定されます。 |
manageiq:
X_MIQ_Group: テナントマイ会社のアクセス
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: テナントマイ会社のアクセス
token: 2d5d9031361a6ac570d810406f267cea
url: 'http://localhost:4000'
ロールの入力について心配する必要はありません。ManageIQの自動化がそれらを提供します。
出力
このロールは次の変数を設定します:
スタット名 | 説明 |
---|---|
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を作成したいとします。そのためには、次のようにプレイブックをフックすれば簡単です。
- 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: "デモドメインテンプレート"
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.nuage_miq_automate
ライセンス
Unknown
ダウンロード
147
所有者
Research and development company based in Ljubljana, Slovenia.