nuagenetworks / vspk-ansible

An ansible module to manage Nuage VSP environments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VSPK-Ansible

Archive notice

This repository has been archived in favor of using the upstream Ansible repository where this nuage_vspk module is available as a standard module available in every Ansible release.

Overview

The nuage_vspk module for Ansible allows you to manage or find Nuage VSP entities, including:

  • Create
  • Update
  • Delete
  • Assign
  • Unassign
  • Search for an entity
  • Wait for a job to finish
  • Change passwords on users (can not be done through regular update)
  • Wait for a job

More details on the Wiki

Trying the module

  1. Clone this repository onto a machine with Ansible and VSPK-Python installed, which has access to your VSD.
  2. Adapt the nuage-vspk-tests.yml file to reflect your environment and the roles you want to execute
  3. From within the repository folder, execute ansible-playbook nuage-vspk-tests.yml

Special considerations

  • type and parent_type are the CamelCase values of the classes in the Python VSPK (without the NU part). Example, a domain template should be mentioned as DomainTemplate, as can seen in the Domain Template VSPK doc: nudomaintemplate.NUDomainTemplate(bambou.nurest_object.NUMetaRESTObject,).
  • properties should be represented by there lowercase-underscore names, as documented in the Nuage Python VSPK docs.
  • match_filter is used as a way of finding a specific entiy (if no id is specified), if this is omitted, a filter is build based on all properties, which in most cases will fail.
  • For the match_filter, the filter should use the camelCase names of the properties as in the Nuage API docs, for instance: name == 'Allow all policy' and policyState == 'DRAFT'.

Useful links

Examples

The roles folder holds two roles that serve as examples. The basic role will show each functionality available for the module, creating, updating, assigning, unassigning and deleting entities.

The advanced role will create a Enterprise with an admin user, a domain template which holds 3 zones, 3 subnets, an ingress, egress and forward policy setup and 2 domains instantiated from the domain template. After this, it will pause so you can verify ths in your Nuage VSD Architect. When pressing enter, the role will clean up after itself. Aborting instead and running again will demonstrate idempotency.

State

This module is in active development and in beta stage. As such, this module is not officially supported from a Nuage Networks product perspective.

Tested with

  • Nuage 4.0R5 and VSPK-Python 4.0.5
  • Nuage 4.0R7 and VSPK-Python 4.0.7
  • Nuage 4.0R8 and VSPK-Python 4.0.8
  • Nuage 5.* and VSPK-Python 5.*
  • Nuage 6.* and VSPK-Python 6.*
  • NuageX (Nuage 4.0R5 and VSPK-Python 4.0.5)
  • Ansible 2.3-2.8

Requirements

  • Ansible 2.3+
  • VSPK-Python matching your Nuage VSP environment
  • Nuage VSP 4.0Rx, 5., 6.

About

An ansible module to manage Nuage VSP environments

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 100.0%