xlab_si.nuage_miq_automate

Ansible Role: nuage_miq_automate

This role connects to the ManageIQ Automation Workspace to give you Nuage credentials (the variable nuage_auth) and EMS event data (the variable event).

nuage_auth:
  api_username: user
  api_password: pass
  api_enterprise: csp
  api_url: https://nuagedemo.net:8443
  api_version: v5_0
  • EMS event data. This data provides details about the event you're handling. Here’s a sample:
event:
  ems_id: '2'                   # EMS ID for the generated event
  type: CREATE                  # Event type
  entityType: enterprise         # Type of entity for the event
  entity:                       # Entity details
    entity_type: enterprise
    ID: 07f2726a-7f83-4826-87bd-7f7664803938
    name: DEMO3
  full_data:                   # Complete event data from Nuage server
    associatedEvent: false
    enterpriseName: csp
    entities:
    - entityType: enterprise
      ID: 07f2726a-7f83-4826-87bd-7f7664803938
      name: DEMO3
    eventReceivedTime: 1535011120658
    requestID: 62c58aa6-4150-46c7-95fe-ed4051e70864
    type: CREATE

For more information about what this role does, please check out this blog post and this YouTube video.

Requirements

Make sure you have the following attributes set up on your Automate Instance running the nuage_miq_automate role:

  • nuage_username, e.g. user
  • nuage_password (encrypted), e.g. pass
  • nuage_enterprise, e.g. csp
  • nuage_url, e.g. https://nuagedemo.net:8443
  • nuage_api_version, e.g. v5_0

This role's main purpose is to retrieve these attributes from the Automation Workspace.

NOTE: You don’t need to specify these five attributes for every Automate Instance. You can set default values in the Schema, making them accessible to all Instances of a class. If your credentials change, you only have to update those defaults.

Role Variables

Variable Default Description
manageiq / Provided by Automate.
manageiq_connection / Provided by Automate.
manageiq:
  X_MIQ_Group: Tenant My Company access
  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 My Company access
  token: 2d5d9031361a6ac570d810406f267cea
  url: 'http://localhost:4000'

You won’t need to manually provide the role inputs as ManageIQ Automate takes care of that.

Outputs

This role will set these variables for you:

Variable Description
nuage_auth Nuage authentication details. Can be used directly with the nuage_vspk module.
event EMS event data (as described above).
object The current Automate Instance's absolute name.
event:
  type:        CREATE
  ems_id:      4
  entity_type: subnet
  full_data:   { ... } # complete event data from Nuage provider
  entity:      { ... } # event['entities'].first

Dependencies

This role needs the following roles available on Ansible Galaxy:

Example Playbook

If you want to create a DomainTemplate every time a new Enterprise is created, here’s a playbook you can use:

- name: Nuage event callback example
  hosts: localhost
  connection: local
  gather_facts: False
  roles:
  - xlab_si.nuage_miq_automate
  tasks:
  - debug: msg="I am a playbook running as an event callback and I can access Nuage credentials"
  - debug: var=nuage_auth
  - debug: msg="I also have details of the event that triggered me"
  - debug: var=event
  - debug: msg="Now I'm ready to take action!"
  
  - name: Create Domain Template on Enterprise
    delegate_to: localhost
    nuage_vspk:
      auth: "{{ nuage_auth }}"            # forwarding `nuage_auth`
      type: DomainTemplate
      parentType: Enterprise
      parentId: "{{ event.entity.ID }}"  # accessing the `event` variable
      state: present
      properties:
        name: "Demo Domain Template"

This playbook can be hooked to the nuage_enterprise_create event.

License

BSD

Informazioni sul progetto

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

Installa
ansible-galaxy install xlab_si.nuage_miq_automate
Licenza
Unknown
Download
147
Proprietario
Research and development company based in Ljubljana, Slovenia.