Introduction

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.

Purpose

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.

  1. Local Install for evaluation and development.

  2. System Install for production deployment.

Prerequisites

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:

    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

NED Packages

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.

Man Pages

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

Unpack NSO Installer

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.

  1. The NSO installer nso-VERSION.OS.ARCH.installer.bin

  2. Signature generated for the NSO image nso-VERSION.OS.ARCH.installer.bin.signature

  3. An enclosed Cisco signed tailf.cer x.509 end-entity certificate containing public key that is used to verify the signature.

  4. 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.

  5. 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.

Install Types

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.