Cisco Network Service Orchestrator (NSO) version 5.7.19 is an evolution of the Tail-f Network Control System (NCS). Tail-f was acquired by Cisco in 2014. The product has been enhanced and forms the base for Cisco NSO. Note that the terms 'ncs' and 'tail-f' are used extensively in file names, command-line command names, YANG models, application programming interfaces (API), etc. Throughout this document we will use NSO to mean the product, which consists of a number of tools and executables. These executable components will be referred to by their command line name, e.g. ncs, ncs-netsim, ncs_cli, etc.
The purpose of the document is to describe how to Install NSO step-by-step and to explain how to perform basic operations based on Installation.
-
The document is intended for evaluators, developers, system administrators, end users and others who would like to install NSO.
Installation can be performed in two ways.
-
Local Install for evaluation and development.
-
System Install for production deployment.
NSO Supports Linux and OS X platforms. On Linux platforms NSO can be deployed in bare-metal as well as in virtualized (virtual machines) or containerized (containers) environments.
You need to know your system specifications (Operating System and CPU architecture) to choose the appropriate NSO Installer.
NSO is delivered as a self-extract archive which is
OS/CPU specific. The archive file has the pattern
nso-VERSION.OS.ARCH.installer.bin
. The
variables in the pattern refer to:
VERSION
-
The NSO version to install.
OS
-
The Operating System (
linux
for all Linux distributions anddarwin
for OS X). ARCH
-
The CPU architecture (
x86_64
).
-
Before installing NSO, ensure that a Java JDK-8.0 or higher is installed. When JDK is properly installed the command java -version should indicate a java version of “1.8” or higher.
-
The supported target NSO releases for a NSO CDM release migration are from 4.x.y releases with x >= 5. For earlier NSO target releases the migration needs to be performed in two steps. First upgrade to a NSO release higher than 4.5 and verify that this works and then as a second step do the NSO migration to the NSO 5.x release. For more information, follow NSO CDM Migration Guide
-
After upgrading from a version below “4.7”, it is recommended to delete the default webui application meta data in webui:webui/webui-one:applications/application. This is to make sure the correct data is shown in the application hub.
-
Python 3.7 or higher is required.
-
For building NSO Examples, install:
Ant
-
1.9.3 or higher
-
For building the Python API, install:
Python Setuptools
-
Version must be supported by Python at the time of release
-
For using netconf-console, install:
Python Paramiko
-
2.2 or higher
-
For NSO GUI capabilities, install one of the below browsers.
Safari
-
Version must be supported by Apple at the time of release
Firefox
-
Version must be supported by Mozilla.org at the time of release
Chrome
-
Version must be supported by Google at the time of release
Edge
-
Version must be supported by Microsoft at the time of release
-
To allow for generation of SSH keys of currently recommended type, during NSO installation, install:
OpenSSH
-
6.5 or higher
The NED Packages that are available with the NSO Installation are netsim based example NEDs. These NEDs are used for NSO examples only.
You should fetch latest production grade NEDs from software.cisco.com using the URLs provided on your NED license certificates.
The installation program will unpack the NSO manual
pages from the documentation archive in
$NCS_DIR/man.
'ncsrc'
makes an addition to $MANPATH
, allowing you to
use the 'man' command to view them.
Here follows few list of the manual pages installed:
ncs(1)
-
Command to start and control the NSO daemon.
ncsc(1)
-
NSO Yang compiler.
ncs_cli(1)
-
Frontend to the NSO CLI engine.
ncs-netsim(1)
-
Command to create and manipulate a simulated network.
ncs-setup(1)
-
Command to create an initial NSO setup.
ncs.conf
-
NSO daemon configuration file format.
For example, to view the man page describing NSO configuration file you should type:
$ man ncs.conf
Apart from the man pages, extensive information about command line
options can be obtained by running ncs and
ncsc with the --help
(abbreviated
-h) flag.
$ ncs --help
$ ncsc --help
The NSO installation is delivered with a cryptographic signature to make it possible to verify that the installation has not been altered or corrupted. This can be guaranteed since the signature was created by using a combination of cryptographic hash and public key encryption.
Unpack of the NSO Installer, automatically verifies the digital signature.
$ sh nso-VERSION.OS.ARCH.signed.bin
The variables in the command VERSION
refers to the NSO version
to install, OS
refers to the Operating System (linux
for
any Linux distribution and darwin
for OS X) and ARCH
refers to the CPU architecture (x86_64
).
For Example:
$ sh nso-4.2.linux.x86_64.signed.bin
Once NSO is unpacked, all the files are unpacked in the current directory.
-
The NSO installer
nso-VERSION.OS.ARCH.installer.bin
-
Signature generated for the NSO image
nso-VERSION.OS.ARCH.installer.bin.signature
-
An enclosed Cisco signed
tailf.cer
x.509 end-entity certificate containing public key that is used to verify the signature. -
README.signature
file which briefs you more details on the unpacked content and the steps on "How to run the signature verification program". If you would like to manually verify the signature, please refer to the steps in this file. -
cisco_x509_verify_release.py
python program that can be used to verify the 3-tier x.509 certificate chain and signature.
Note
If you observe network connectivity issues that might impact the signature verification,
you can unpack the installer by using parameter
--skip-verification
. For example:
$ sh nso-4.2.linux.x86_64.signed.bin --skip-verification
Once the unpack is completed, the NSO nso-VERSION.OS.ARCH.installer.bin
installation can be performed either by Local Install or System Install as described in the next section.
-
Use Local Install
--local-install
option for Development, Evaluation, proof of concept and private lab purposes. -
All the NSO Examples and README steps provided with the installation are based on Local Install only. You should always use Local Install for evaluation and development purposes.
-
Steps for Local Installation, please follow NSO Local Install.
-
Local Install is possible on Linux OS and OS X.
-
Use System Install
--system-install
option for production and system-wide deployment in a central location. You need root priviliges for System Install procedure and administration of the installed NSO. As part of System install, the NSO daemon ncs is started at boot time.System Install should be used only for production deployment. For all other purposes, use Local Install procedure.
-
All the NSO examples and README steps are based on Local Install only. These cannot be run on System Install.
-
Steps for System Installation, Please follow NSO System Install.
-
NSO System Install is possible only on Linux OS.