xlab_si.nuage_miq_automate

Ansible Rolle: nuage_miq_automate

Diese Rolle greift auf den ManageIQ Automatisierungsarbeitsbereich zu, um Ihnen Nuage-Anmeldeinformationen (Variable nuage_auth) und EMS-Ereignisdaten (Variable event) bereitzustellen.

  • Nuage-Anmeldeinformationen. Das Format entspricht genau den Anforderungen des Nuage Ansible Moduls, so dass Sie es direkt verwenden können:
nuage_auth:
  api_username: benutzer
  api_password: passwort
  api_enterprise: csp
  api_url: https://nuagedemo.net:8443
  api_version: v5_0
  • EMS-Ereignisdaten. Hier greifen Sie auf die Ereignisdaten zu und verwenden sie für beliebige Rückrufe, die Sie ausführen möchten.
event:
  #
  # EMS ID, für die das Ereignis erzeugt wurde.
  #
  ems_id: '2'
  #
  # Ereignistyp (gleich wie `full_data.type`).
  #
  type: CREATE
  #
  # Typ der Entität, für die das Ereignis ausgelöst wurde (gleich wie `full_data.entityType`).
  #
  entityType: enterprise
  #
  # Entität, für die das Ereignis ausgelöst wurde (gleich wie `full_data.entities[0]`).
  # 
  entity:
    entity_type: enterprise
    ID: 07f2726a-7f83-4826-87bd-7f7664803938
    name: DEMO3
    # ... und andere Attribute
  #
  # Vollständige Ereignis-Hash wie vom Nuage-Server empfangen.
  #
  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

Bitte lesen Sie diesen Blogbeitrag, um besser zu verstehen, was die Rolle tun soll. Es gibt auch ein YouTube-Video mit einer vollständigen Demonstration ihrer Verwendung.

Anforderungen

Sie müssen die folgenden Attribute auf Ihrer Automatisierungsinstanz definieren, die die Rolle nuage_miq_automate ausführt:

  • nuage_username z.B. benutzer
  • nuage_password (verschlüsselt) z.B. passwort
  • nuage_enterprise z.B. csp
  • nuage_url z.B. https://nuagedemo.net:8443
  • nuage_api_version z.B. v5_0

Der Hauptzweck dieser Rolle besteht darin, diese Attribute aus dem Automatisierungsarbeitsbereich herauszuziehen.

HINWEIS: Sie müssen die fünf Attribute nicht auf jeder Automatisierungsinstanz angeben. Stattdessen können Sie einfach das Schema ändern und dort Standardwerte festlegen - dann können alle Instanzen einer Klasse darauf zugreifen. So müssen Sie, falls sich Ihre Anmeldeinformationen ändern, nur diese Standardwerte aktualisieren.

Rollenspezifische Variablen

Variable Standard Beschreibung
manageiq / Von Automate gesetzt.
manageiq_connection / Von Automate gesetzt.
manageiq:
  X_MIQ_Group: Tenant Mein Unternehmenszugang
  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: Tenant Mein Unternehmenszugang
  token: 2d5d9031361a6ac570d810406f267cea
  url: 'http://localhost:4000'

Sie sollten sich keine Gedanken über die Eingaben der Rolle machen, da ManageIQ Automate sie für Sie bereitstellt.

Ausgaben

Diese Rolle stellt Ihnen die folgenden Variablen zur Verfügung:

Name Statistiken Beschreibung
nuage_auth Nuage-Authentifizierungs-Hash. Kann direkt an das nuage_vspk-Modul übergeben werden.
event EMS-Ereignisdaten, siehe unten.
object Absoluter Name der aktuellen Automatisierungsinstanz.
event:
  type:        CREATE
  ems_id:      4
  entity_type: subnet
  full_data:   { ... } # vollständige Ereignisdaten wie vom Nuage-Anbieter ausgesendet
  entity:      { ... } # event['entities'].first

Abhängigkeiten

Diese Rolle erfordert die folgenden Rollen, die ebenfalls auf Ansible Galaxy verfügbar sind:

Beispiel-Playbook

Angenommen, wir möchten jedes Mal ein DomainTemplate erstellen, wenn ein neues Enterprise erstellt wird. Wir müssen einfach ein solches Playbook anschließen:

- name: Beispiel für Nuage-Ereignis-Rückruf
  hosts: localhost
  connection: local
  gather_facts: False
  roles:
  - xlab_si.nuage_miq_automate
  tasks:
  - debug: msg="Ich bin ein Playbook, das als Ereignis-Rückruf ausgeführt wird und ich kann auf die Nuage-Anmeldeinformationen zugreifen"
  - debug: var=nuage_auth
  - debug: msg="So wie auf die Details des Ereignisses, das mich ausgelöst hat"
  - debug: var=event
  - debug: msg="Jetzt bin ich bereit, einige Arbeiten zu erledigen!"
  
  - name: Erstelle Domain-Template auf Enterprise
    delegate_to: localhost
    nuage_vspk:
      auth: "{{ nuage_auth }}"          # beachten Sie, wie wir einfach die `nuage_auth` weitergeben
      type: DomainTemplate
      parentType: Enterprise
      parentId: "{{ event.entity.ID }}" # beachten Sie, wie wir einfach auf die `event`-Variable zugreifen
      state: present
      properties:
        name: "Demo Domain Template"

für das Ereignis nuage_enterprise_create. Tadaaa :)

Lizenz

BSD

Über das Projekt

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

Installieren
ansible-galaxy install xlab_si.nuage_miq_automate
GitHub Repository
Lizenz
Unknown
Downloads
147
Besitzer
Research and development company based in Ljubljana, Slovenia.