Documentation

nso_config - Manage Cisco NSO configuration and service synchronization.

New in version 2.5.

Synopsis

  • This module provides support for managing configuration in Cisco NSO and can also ensure services are in sync.

Requirements

The below requirements are needed on the host that executes this module.

  • Cisco NSO version 3.4.12 or higher, 4.2.7 or higher, 4.3.8 or higher, 4.4.3 or higher, 4.5 or higher.

Parameters

Parameter Choices/Defaults Comments
data
required
NSO data in format as | display json converted to YAML. List entries can be annotated with a __state entry. Set to in-sync/deep-in-sync for services to verify service is in sync with the network. Set to absent in list entries to ensure they are deleted if they exist in NSO.
password
required
NSO password
timeout
(added in 2.6)
Default:
300
JSON-RPC request timeout in seconds
url
required
NSO JSON-RPC URL, http://localhost:8080/jsonrpc
username
required
NSO username

Examples

- name: Create L3VPN
  nso_config:
    url: http://localhost:8080/jsonrpc
    username: username
    password: password
    data:
      l3vpn:vpn:
        l3vpn:
        - name: company
          route-distinguisher: 999
          endpoint:
          - id: branch-office1
            ce-device: ce6
            ce-interface: GigabitEthernet0/12
            ip-network: 10.10.1.0/24
            bandwidth: 12000000
            as-number: 65101
          - id: branch-office2
            ce-device: ce1
            ce-interface: GigabitEthernet0/11
            ip-network: 10.7.7.0/24
            bandwidth: 6000000
            as-number: 65102
          - id: branch-office3
            __state: absent
        __state: in-sync

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
changes
complex
always
List of changes

Sample:
[{'path': '/l3vpn:vpn/l3vpn{example}/endpoint{office}/bandwidth', 'type': 'set', 'to': '12000000', 'from': '6000000'}]
  path
string
always
Path to value changed

  type
Type of change. create|delete|set|re-deploy

  to
When new value is present on value change
Current value if any, else null.

  from
string
When previous value is present on value change
Previous value if any, else null

diffs
complex
always
List of sync changes

Sample:
[{'path': '/l3vpn:vpn/l3vpn{example}', 'diff': ' devices {\n device pe3 {\n config {\n alu:service {\n vprn 65101 {\n bgp {\n group example-ce6 {\n- peer-as 65102;\n+ peer-as 65101;\n }\n }\n }\n }\n }\n }\n }\n'}]
  path
string
always
keypath to service changed

  diff
string
always
configuration difference triggered the re-deploy



Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as certified which means that it is maintained by an Ansible Partner. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by an Ansible Partner, see here.

Author

  • Claes Nästén (@cnasten)

Hint

If you notice any issues in this documentation you can edit this document to improve it.