Sign inSign up

ductusndp/nso-developer-portal

By ductusndp

•Updated over 2 years ago

Portal for viewing and interacting with Ciscos NSO

Image
Networking
Developer tools
0

426

ductusndp/nso-developer-portal repository overview

⁠NSO Developer Portal

The NSO Developer Portal is a web-based tool that provides a graphical user interface for interacting with the NSO system. It is designed to be used by network operators, developers, and other users who need to interact with the NSO system.

The Portal is provided by Ductus⁠ and free to use for all NSO users.

⁠Features

  • Configuration View: View configuration, inspect schema and execute actions
  • Service View: View configuration, nano plan and service relations
  • Device View: Rudimentary device onboarding and management
  • Alarm View: View and interact with the alarms raised in NSO.
  • Tools: Execute queries or evaluate XPath expressions.

⁠Use Cases

  • Reload packages, perform actions or inspect the configuration.
  • Load and merge new configuration.
  • Onboard devices or work with alarms.
  • Use the bundled tools to execute queries or evaluate XPath expressions.

⁠Usage

The image is based on NGINX to serve the static files and proxy the requests to one or more NSO systems.

The NSO Developer Portal can have multiple NSO's to connect too, letting the developer easily switch between the NSO's in their ecosystem.

The NSO Developer Portal docker image launched with a set of environment variables that describes the name of the NSO and how to proxy to it.

Important: This portal requires that you have the Web UI enabled on the NSO.

These are:

  • NSO_ADDRESS_X: The address or URL and the port for the WEB server, for example http://172.22.0.1:8080⁠ or http://nso:8082⁠.
  • NSO_LABEL_X: A label of this NSO instance. This is the label shown in the dropdown at the login page. Examples "Localhost" or "LSA Top Node".
  • NSO_DESCRIPTION_X: Provide a brief description of the NSO instance, if needed.

The X is the 1-based index of the NSO instance, so when specifying multiple instances the X increases for each instance. All NSO_* environment variables needs to have an index.

⁠Example Configurations
⁠Command Line

To run the NSO Developer Portal from command line, you can use the following command:

docker run -d -t -i -e NSO_ADDRESS_1="http://<nos-ip>:<nso-webui-port>" \
-e NSO_LABEL_1="Localhost" \
-e NSO_DESCRIPTION_1="Testing environment" \
-p 9300:9000 \
--name nso-developer-portal \
ductusndp/nso-developer-portal:latest

Note: Replace <nso-ip> with the IP address of your NSO system and <nso-webui-port> with the port number of the NSO WebUI.

Note: Using localhost in the NSO_ADDRESS will not work as the container is isolated from the host network, see more information here: Docker Networking⁠

Note: The -p 9300:9000 flag maps the NGINX server running on port 9000 to port 9300 on the host machine.

⁠Docker Compose

Incorporating the NSO Developer Portal in a docker-compose file, you can use the following configuration:

version: "3"
services:
  nso-developer-portal:
    hostname: 'nso-developers-portal'
    image: 'ductusndp/nso-developer-portal:latest'
    container_name: nso-developer-portal
    ports:
      - 9300:9000
    environment:
      - NSO_ADDRESS_1=http://<nso-ip>:<nso-webui-port>
      - NSO_LABEL_1=Localhost
      - NSO_DESCRIPTION_1=Testing environment
      - NSO_ADDRESS_2=http://lsa-top-node:8080
      - NSO_LABEL_2=LSA Top Node
      - NSO_ADDRESS_3=http://lsa-bottom-node:8080
      - NSO_LABEL_3=LSA Top Node

Note: Replace <nso-ip> with the IP address of your NSO system and <nso-webui-port> with the port number of the NSO WebUI.

Note: Using localhost in the NSO_ADDRESS will not work as the container is isolated from the host network, see more information here: Docker Networking⁠

Note: The -p 9300:9000 flag maps the NGINX server running on port 9000 to port 9300 on the host machine.

⁠NSO Developer Portal history

Ductus⁠ have been creating and maintaining Operational Portals since 2018 for large telecom operators around the world.

What is an operational portal?

  • A view for the operator to interact and manage services.
  • Operator tools for easy navigation, like a breadcrumb with history that only remembers the endpoints or shortcuts that gives easy access to the daily job.
  • All pages are hand made to contain relevant information in the correct places. Not in YANG order, relevance!
  • Supports roles and NACM rules. Only show what the operator is allowed to see or edit.
⁠The NSO WebUI Toolkit

The NSO Developer Portal was born from the in-house NSO WebUI Toolkit, a toolkit we use to create operational portals for customers so that they can let service or support personnel do the network experts' work. i.e. create network services without the intricate knowledge of how it works.

The toolkit contains a set of tools and views used to develop a Portal

  • Schema inspection
  • Query and Xpath evaluation
  • Configuration view
  • Leverage schema to create forms
  • Reusable components

This makes the development of operational portals streamlined and efficient.

In the process of using this toolkit, an idea of consolidating the tools into a portal, so the NSO Developer Portal was born.

⁠Contact us

Reporting bugs, feature requests, or general feedback is always welcome.

Or are you looking for a custom solution, Operational Portal or need help with your NSO system?

Please contact us at [email protected]⁠

Tag summary

Content type

Image

Digest

sha256:4abe0e7ff…

Size

69.8 MB

Last updated

over 2 years ago

docker pull ductusndp/nso-developer-portal