Skip to content

NSO Installation

Hugo Tinoco edited this page Apr 12, 2021 · 2 revisions

Installing NSO Evaluation Version (5.5)

For my studies, I decided to deploy an Ubuntu VM to host an NSO instance. Keep in mind there are several ways to take advantage of NSO. Within a CI/CD pipeline, as a docker container, a full blown production server and as a local install. An evaluation version has recently been released and is free to download.

Head on over to the following site and get the installer files.

NSO Eval

Although the EVAL version comes with a variety of NEDs included, go ahead and download the latest available NEDS as well. You will need a DevNet account to log in and download.

Later on, we will cover how to set up NSO in a docker container which is useful for CI/CD.

NSO Docker

At this point, you should have downloaded a local copy of the eval version on your machine. I will assume that you have a fresh install of Ubuntu 20.04 server running.

Our VM will have 2 CPU's and 4GB of ram. This should be plenty for our operations, although more RAM may be required if we add all 17 routers, as documentation suggests. We will be doing a Local Install on our remote server which allows the creation of multiple, unrelated NSO instances in one host.

Getting started

I won't bore you with the details, but the first step is to SCP the .bin file for the NSO appliance and any other NEDs you may have downloaded to our VM.

Start with a system package update and then lets make sure we have the following installed:

sudo apt-get install default-jdk &&\
python3-pip &&\

Now install paramiko via pip

pip3 install paramiko 

It's recommended to install our NSO instance in our HOME directory. But we must first unpack all the contents of our NSO .bin file.

Change directory to where you SCP'd the files onto the remote server and perform the following:

sh nso-5.5.linux.x86_64.signed.bin --skip-verification

Now that the files are unpacked, lets go ahead and install a local instance in our home directory. We are able to install several different instances this way. Only one of our instances can be running at any given time, but if you would like to have more than one, just simply create more with different names.

sh nso-5.5.linux.x86_64.installer.bin $HOME/ncs-5.5 --local-install

Finally, set up our env

source $HOME/ncs-5.5/ncsrc
ncs-setup --dest $HOME/ncs-run

Now back out to the root dir where we installed our local instance and run the NCS server from the ncs-run directory.

cd ..
cd ncs-run
ncs

Example:

htinoco@nso-dev-example:~$ cd NSO-Files/

htinoco@nso-dev-example:~/NSO-Files$ sh nso-5.5.linux.x86_64.installer.bin $HOME/ncs-5.5 --local-install
INFO  Using temporary directory /tmp/ncs_installer.12458 to stage NCS installation bundle
INFO  Unpacked ncs-5.5 in /home/htinoco/ncs-5.5
INFO  Found and unpacked corresponding DOCUMENTATION_PACKAGE
INFO  Found and unpacked corresponding EXAMPLE_PACKAGE
INFO  Found and unpacked corresponding JAVA_PACKAGE
INFO  Generating default SSH hostkey (this may take some time)
INFO  SSH hostkey generated
INFO  Environment set-up generated in /home/htinoco/ncs-5.5/ncsrc
INFO  NSO installation script finished
INFO  Found and unpacked corresponding NETSIM_PACKAGE
INFO  NCS installation complete
htinoco@nso-dev-example:~/NSO-Files$ 
htinoco@nso-dev-example:~/NSO-Files$ source $HOME/ncs-5.5/ncsrc
htinoco@nso-dev-example:~/NSO-Files$ ncs-setup --dest $HOME/ncs-run
htinoco@nso-dev-example:~/NSO-Files$ 
htinoco@nso-dev-example:~/NSO-Files$ cd ..
htinoco@nso-dev-example:~$ cd ncs-run/
htinoco@nso-dev-example:~/ncs-run$ ncs
htinoco@nso-dev-example:~/ncs-run$ 

Access Local Install of NSO

If you don't remember the IP of the server, simply do the following:

ip addr | grep inet

Example:


htinoco@nso-dev-example:~/ncs-run$ ip addr | grep inet
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
    inet 192.168.0.54/23 brd 192.168.1.255 scope global dynamic ens160

The local install should be reachable at http://x.x.x.x:8080/login.html.

So, based on our example.. open a web browser and go to the following address:

http://192.168.0.54:8080/login.html

Credentials

Default credentials are admin/admin.

Clone this wiki locally