-
Notifications
You must be signed in to change notification settings - Fork 10
NSO Installation
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.
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.
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.
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
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$
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
Default credentials are admin/admin.