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.
Target Audience
-
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 and darwin
for OS
X).
ARCH
-
The CPU architecture (x86_64
).
Dependencies
-
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:
-
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:
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:
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.
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.
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:
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:
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.
Local Install
-
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.
System Install
-
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.