Home Installing NSO
Post
Cancel

Installing NSO

NSO Logo

I’ve been wanting to test Cisco’s NSO for a long time now and finally had some spare time to try and get it up and running on a local VM. It’s free for non-production use now so go ahead and grab it over at
https://developer.cisco.com/site/nso/ (available for both MacOS & Linux).

I installed Ubuntu 18.04 LTS on a fresh vmbox (I didn’t manage to get it working on a raspberry), the only other pre-requirements NSO has is:

  • Java JDK-7.0 or higher
  • Ant
  • python2 or python3
  • python-paramiko

To make life simpler I also installed python3-pip

1
2
3
4
5
6
7
8
9
10
$ sudo apt-get install python3-pip  
$ sudo apt-get install default-jdk  
$ sudo apt-get install ant  
$ pip3 install paramiko  
$ java -version  


 openjdk version "11.0.2" 2019-01-15  
 OpenJDK Runtime Environment (build 11.0.2+9-Ubuntu-3ubuntu118.04.3)  
 OpenJDK 64-Bit Server VM (build 11.0.2+9-Ubuntu-3ubuntu118.04.3, mixed mode, sharing)  

I then downloaded the file nso-4.7.linux.x86_64.signed.bin from Cisco, installation was actually much more simpler than I had imagined.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
joco02 at labb-nso in ~/Downloads
$ ls
nso-4.7.linux.x86_64.signed.bin

$ sh nso-4.7.linux.x86_64.signed.bin --skip-verification
Unpacking...

joco02 at labb-nso in ~/Downloads
$ ls
cisco_x509_verify_release.py  nso-4.7.linux.x86_64.installer.bin  nso-4.7.linux.x86_64.installer.bin.signature  nso-4.7.linux.x86_64.signed.bin  README.signature  tailf.cer

joco02 at labb-nso in ~/Downloads
$ sh nso-4.7.linux.x86_64.installer.bin $HOME/ncs-4.7 --local-install
INFO  Using temporary directory /tmp/ncs_installer.41189 to stage NCS installation bundle
INFO  Unpacked ncs-4.7 in /home/joco02/ncs-4.7
INFO  Found and unpacked corresponding DOCUMENTATION_PACKAGE
INFO  Found and unpacked corresponding EXAMPLE_PACKAGE
INFO  Generating default SSH hostkey (this may take some time)
INFO  SSH hostkey generated
INFO  Environment set-up generated in /home/joco02/ncs-4.7/ncsrc
INFO  NCS installation script finished
INFO  Found and unpacked corresponding NETSIM_PACKAGE
INFO  NCS installation complete

When then have to source our new folder to enable built-in variables and then setup our environment.

1
2
3
joco02 at labb-nso in ~/Downloads
$ source $HOME/ncs-4.7/ncsrc
$ ncs-setup --dest $HOME/ncs-run

That should be everything, we can now start NSO with ncs.

To check status we can use:

1
2
3
4
5
6
7
    joco02 at labb-nso in ~/ncs-run
    $ ncs --status | grep status
    status: started
    
    joco02 at labb-nso in ~/ncs-run
    $ ncs --version
    4.7

We should now also be able to reach NSO’s GUI/Webpage for administration at http://serverip:8080/login.html

Login page

Login credentials are admin / admin

If your like me and allergic to GUIs we can also connect to the CLI instead.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
joco02 at labb-nso in ~/ncs-4.7
$ ncs_cli -u admin

admin connected from 192.168.15.188 using ssh on labb-nso
admin@ncs> ?
Possible completions:
  clear      - Clear parameter
  compare    - Compare running configuration to another configuration or a file
  configure  - Manipulate software configuration information
  describe   - Display transparent command information
  exit       - Exit the management session
  file       - Perform file operations
  help       - Provide help information
  id         - Show user id information
  monitor    - Real-time debugging
  ping       - Ping a host
  ping6      - Ping an ipv6 host
  quit       - Exit the management session
  request    - Make system-level requests
  script     - Script actions
  set        - Set CLI properties
  set-path   - Set relative show path
  show       - Show information about the system
  source     - File to source
  switch     - Change CLI style
  templatize - Find patterns in subtree.
  top        - Exit to top level and optionally run command
  traceroute - Trace the route to a remote host
  up         - Exit one level of configuration

We should now be able to do some labs on NSO! :) Cisco luckily provides a few “Network Elements Driver” for their netsim-devices for lab purposes, if you want to manage your own devices (real/virtual) you will have to buy a license for it as I understand it.

1
2
3
joco02 at labb-nso in ~/ncs-4.7/packages/neds
$ ls
  a10-acos  cisco-ios  cisco-iosxr  cisco-nx  dell-ftos  juniper-junos
This post is licensed under CC BY 4.0 by the author.

Netmiko part 3 - YAML

NSO - Part 2