Skip to content
This repository has been archived by the owner. It is now read-only.
An ansible module to manage Nuage VSP environments
Branch: master
Clone or download
Latest commit b956330 Aug 1, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
library Sync of version in upstream Ansible Jul 25, 2017
LICENSE Facilitate move to Nuage Networks github repo Feb 20, 2017 Fix #7 Aug 1, 2019
nuage-vspk-children-tests.yml Extra cleanup and updating examples for 5.0 VSPK May 26, 2017
nuage-vspk-negative-tests.yml Extra cleanup and updating examples for 5.0 VSPK May 26, 2017


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.


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


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.


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


  • Ansible 2.3+
  • VSPK-Python matching your Nuage VSP environment
  • Nuage VSP 4.0Rx, 5., 6.
You can’t perform that action at this time.