xlab_si.nuage_miq_automate

Ansible Rola: nuage_miq_automate

Ta rola uzyskuje dostęp do Przestrzeni Automatyzacji ManageIQ, aby dostarczyć Ci poświadczenia Nuage (zmienna nuage_auth) oraz dane dotyczące zdarzenia EMS (zmienna event).

  • Poświadczenia Nuage. Format jest zgodny z wymaganiami modułu Nuage Ansible, więc możesz użyć go bezpośrednio:
nuage_auth:
  api_username: użytkownik
  api_password: hasło
  api_enterprise: csp
  api_url: https://nuagedemo.net:8443
  api_version: v5_0
  • Dane zdarzenia EMS. Tutaj uzyskujesz szczegóły zdarzenia i możesz je wykorzystać do wszelkich powrotów, które chcesz uruchomić.
event:
  #
  # ID EMS, dla którego zdarzenie zostało wyemitowane.
  #
  ems_id: '2'
  #
  # Typ zdarzenia (taki sam jak `full_data.type`).
  #
  type: CREATE
  #
  # Typ encji, dla której zdarzenie zostało podniesione (taki sam jak `full_data.entityType`).
  #
  entityType: enterprise
  #
  # Encja, dla której zdarzenie zostało podniesione (taki sam jak `full_data.entities[0]`).
  # 
  entity:
    entity_type: enterprise
    ID: 07f2726a-7f83-4826-87bd-7f7664803938
    name: DEMO3
    # ... i inne atrybuty
  #
  # Cały hash zdarzenia, jak otrzymano z serwera 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

Zobacz ten post na blogu, aby lepiej zrozumieć, co ta rola ma robić. Jest też film na YouTube z pełną demonstracją jej użycia.

Wymagania

Musisz mieć następujące atrybuty zdefiniowane w swojej instancji Automate, która uruchamia rolę nuage_miq_automate:

  • nuage_username, np. użytkownik
  • nuage_password (szyfrowane), np. hasło
  • nuage_enterprise, np. csp
  • nuage_url, np. https://nuagedemo.net:8443
  • nuage_api_version, np. v5_0

Głównym celem tej roli jest wyodrębnienie tych atrybutów z Przestrzeni Automatyzacji.

UWAGA: Nie musisz za każdym razem określać pięciu atrybutów w każdej instancji Automate. Zamiast tego możesz po prostu zmodyfikować Schemat i ustawić wartości domyślne tam - w ten sposób wszystkie instancje klasy będą mogły z nich korzystać. Dzięki temu, jeśli Twoje poświadczenia się zmienią, musisz jedynie zaktualizować te wartości domyślne.

Zmienne Roli

Zmienna Domyślna Opis
manageiq / Ustawione przez Automate.
manageiq_connection / Ustawione przez Automate.
manageiq:
  X_MIQ_Group: Dostęp Tenanta Mojej Firmy
  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: Dostęp Tenanta Mojej Firmy
  token: 2d5d9031361a6ac570d810406f267cea
  url: 'http://localhost:4000'

Nie musisz się martwić o dane wejściowe roli, ponieważ Automate ManageIQ dostarczy je za Ciebie.

Wyjścia

Ta rola ustawia następujące zmienne dla Ciebie:

Nazwa statystyki Opis
nuage_auth Hash uwierzytelniający Nuage. Można go bezpośrednio przekazać do modułu nuage_vspk.
event Dane dotyczące zdarzenia EMS, patrz poniżej.
object Absolutna nazwa bieżącej instancji Automate.
event:
  type:        CREATE
  ems_id:      4
  entity_type: subnet
  full_data:   { ... } # pełne dane zdarzenia, jak wyemitowane przez dostawcę Nuage
  entity:      { ... } # event['entities'].first

Zależności

Ta rola wymaga następujących ról, które są również dostępne w Ansible Galaxy:

Przykładowy Playbook

Załóżmy, że chcemy stworzyć SzablonDomeny za każdym razem, gdy zostanie utworzona nowa Przedsiębiorstwo. Po prostu musimy podłączyć taki playbook:

- name: Przykład wywołania zdarzenia Nuage
  hosts: localhost
  connection: local
  gather_facts: False
  roles:
  - xlab_si.nuage_miq_automate
  tasks:
  - debug: msg="Jestem playbookiem uruchamianym jako wywołanie zdarzenia i mogę uzyskać dostęp do poświadczeń nuage"
  - debug: var=nuage_auth
  - debug: msg="A także szczegóły zdarzenia, które mnie wywołało"
  - debug: var=event
  - debug: msg="Więc jestem teraz gotowy do pracy!"
  
  - name: Utwórz SzablonDomeny na Przedsiębiorstwie
    delegate_to: localhost
    nuage_vspk:
      auth: "{{ nuage_auth }}"          # zauważ, że po prostu przekazujemy `nuage_auth`
      type: DomainTemplate
      parentType: Enterprise
      parentId: "{{ event.entity.ID }}" # zauważ, że po prostu uzyskujemy dostęp do zmiennej `event`
      state: present
      properties:
        name: "SzablonDomeny Demo"

do zdarzenia nuage_enterprise_create. Tadaaa :)

Licencja

BSD

O projekcie

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

Zainstaluj
ansible-galaxy install xlab_si.nuage_miq_automate
Licencja
Unknown
Pobrania
147
Właściciel
Research and development company based in Ljubljana, Slovenia.