Cisco NSO introduction – vendor agnostic network management

Late last year, Cisco posted “Get NSO for Free!” and since NSO is available for Lab/PoC use for developers. This post is to introduce how to install NSO on Ubuntu16.04, and brief introduction of what it can do.


  • Service Lifecycle management, not just a configuration management
  • Service provisioning of multiple vendor
  • Versatile vendor support –ref. “Network Services Orchestrator Network Element Drivers“. You can create your own NED as well.
  • High Resiliency, Scalable
  • Low learning cost to model services because it uses generic YANG model(with xml)
  • Expose API


  • Subscription is required

1. Install pre-requisite

You can follow instruction in Getting NSO to run NSO. I used ubuntu 16.04 on GCP to install NSO.

First, you need to install Java:

And install Apache ant:

2. Install NSO

From “Get NSO for evaluation (Linux)“, get NSO packages. You need CCO account to download this.

In NSO, you need to have a project folder to launch. I create a directory called “ncs-run” for this test.

To use network devices, you need Network Element Drivers. Usually you need to get a separate subscription, but some of them are bundled in this edition of NSO. Copy them to the project folder.

Now NSO is ready to run.

3. Register devices on NSO

I configured Cisco CSR1000v for this test. Minimum configuration is as follows:

On NSO, first we need to create auth group.

Using this group, register a device to be managed.

Once configured, commit the config

4. Test the connection

Everything is prepared to start managing the device. Let’s test.

Once device configuration is sync’ed from the device, you can check the configuration on NSO.

That’s all for now. I will introduce more on service in the next post.