cisco.nso.nso_config – Manage Cisco NSO configuration and service synchronization.
Note
This plugin is part of the cisco.nso collection (version 1.0.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install cisco.nso
.
To use it in a playbook, specify: cisco.nso.nso_config
.
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 |
Comments |
---|---|
A list containing commit flags. See the API documentation for supported commit flags. https://developer.cisco.com/docs/nso/guides/#!life-cycle-operations-how-to-manipulate-existing-services-and-devices/commit-flags-and-device-service-actions |
|
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. |
|
NSO password |
|
JSON-RPC request timeout in seconds Default: 300 |
|
NSO JSON-RPC URL, http://localhost:8080/jsonrpc |
|
NSO username |
|
When set to true, validates the SSL certificate of NSO when using SSL Choices:
|
See Also
See also
- Cisco DevNet NSO Sandbox
Provides a reservable pod with NSO, virtual network topology simulated with Cisco CML and a Linux host running Ansible
- NSO Developer Resources on DevNet
Documentation for getting started using NSO
- NSO Developer Hub
Collaboration community portal for NSO developers
- NSO Developer Github
Code for NSO on Github
Examples
- name: CREATE DEVICE IN NSO
cisco.nso.nso_config:
url: https://10.10.20.49/jsonrpc
username: developer
password: C1sco12345
data:
tailf-ncs:devices:
device:
- address: 10.10.20.175
description: CONFIGURED BY ANSIBLE!
name: dist-rtr01
authgroup: "labadmin"
device-type:
cli:
ned-id: "cisco-ios-cli-6.44"
port: "22"
state:
admin-state: "unlocked"
- name: ADD NEW LOOPBACK
cisco.nso.nso_config:
url: https://10.10.20.49/jsonrpc
username: developer
password: C1sco12345
data:
tailf-ncs:devices:
device:
- name: dist-rtr01
config:
tailf-ned-cisco-ios:interface:
Loopback:
- name: "1"
description: Created by Ansible!
- name: CONFIGURE IP ADDRESS ON LOOPBACK
cisco.nso.nso_config:
url: https://10.10.20.49/jsonrpc
username: developer
password: C1sco12345
data:
tailf-ncs:devices:
device:
- name: dist-rtr01
config:
tailf-ned-cisco-ios:interface:
Loopback:
- name: "1"
description: Created by Ansible!
ip:
address:
primary:
address: 10.10.10.10
mask: 255.255.255.255
- name: CONFIGURE NTP SERVER ON DEVICE
cisco.nso.nso_config:
url: https://10.10.20.49/jsonrpc
username: developer
password: C1sco12345
data:
tailf-ncs:devices:
device:
- name: dist-rtr01
config:
tailf-ned-cisco-ios:ntp:
server:
peer-list:
- name: 2.2.2.2
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
List of changes Returned: always Sample: [{“from”: null, “path”: “/ncs:devices/device{dist-rtr01}/config/ios:interface/Loopback{1}/ip/address/primary/address”, “to”: “10.10.10.10”, “type”: “set”}] |
|
Previous value if any, else null Returned: When previous value is present on value change |
|
Path to value changed Returned: always |
|
Return values from commit operation Returned: always Sample: [{“commit_queue”: {“id”: 1611776004976, “status”: “async”}}] |
|
Commit queue ID and status, if any Returned: When commit-queue is set in commit_flags |
|
List of sync changes Returned: always |
|
configuration difference triggered the re-deploy Returned: always |
|
keypath to service changed Returned: always |
Authors
Claes Nästén (@cnasten)