Skip to main content

YANG Suite core application.

Project description

Copyright 2020-2021 Cisco Systems, Inc

Cisco YANG Suite

YANG Suite core Django application.

Capable of dynamic discovery of installed application plugins. Provides common library APIs for logging, filesystem access, GUI appearance and behavior, and client-server communication.

  • Authors: Members of the Cisco YANG Suite development team.

  • Supports: Python 3.6, Python 3.7, Python 3.8

YANG Suite can be installed as a Docker container or through Python package management. Docker-compose is the recommended install.

Requires about 3.5GB of memory to load large Cisco native models.

## YANG Suite Resources

DevNet landing page: [developer.cisco.com/yangsuite](https://developer.cisco.com/yangsuite)

Documentation: [developer.cisco.com/docs/yangsuite](https://developer.cisco.com/docs/yangsuite)

## Prerequisites

To use the resources in this repository, you must install Docker on the system where you want to run YANG Suite. In addition, since this YANG Suite repository uses Docker Compose, your system needs Docker Compose. Docker Desktop for Mac and Docker Desktop for Windows installations include Compose and you can install those using instructions at https://docs.docker.com/install. For Linux, follow [these specific instructions to install Docker Compose on Linux systems](https://docs.docker.com/compose/install/#install-compose-on-linux-systems).

## Quick Start with Docker:

  1. Clone this repository

  2. Run start_yang_suite.sh

  3. Access the tool at http://localhost or https://localhost:8443

` git clone https://github.com/CiscoDevNet/yangsuite cd yangsuite/docker/ ; ./start_yang_suite.sh `

Docker-based YANG Suite Installation

The yangsuite/docker/start_yang_suite.sh script performs the following:

  • Prompts for username, password, and email which will be the superuser to yangsuite.

  • Gives the choice of creating test SSL/TLS certificate and key.

  • Creates an environment file needed for the yangsuite docker container install.

  • Runs docker-compose up.

Self-signed Certificate for testing

The SSL/TLS certificates installed with the nginx container should be obtained or generated using a trusted certificate authority. As a convenience the yangsuite/docker/start_yang_suite.sh script will generate a self-signed certificate/key to get you going quickly.

WARNING: Official SSL/TLS certificate/key should be obtained and copied to yangsuite/docker/nginx directory rather than using the test SSL/TLS certificate/key generated by the start_yang_suite.sh script.

Customization

The yangsuite/docker/yangsuite/production.py file contains Django settings. The possible settings are extensive and information can found at https://www.djangoproject.com/.

Adding/Updating plugins can be done through the Admin–>Manage plugins page or by copying the plugin wheels into the yangsuite/docker/yangsuite/ directory, uncomment the appropriate lines in the yangsuite/docker/yangsuite/dockerfile, and run:

docker-compose up –build

Access YANG Suite Docker Install with web browser

  • The nginx container redirects port 80 to port 8443 which is used to interface with the yangsuite core. Connect to http://localhost or https://localhost:8443. NOTE: A complaint about the certificate will appear if it was generated using “start_yang_suite.sh”.

  • The yangsuite-restconf plugin uses port 443 to communicate to your Cisco device so enable restconf in the YANG Suite Device profile page for devices that support that protocol.

  • If port 8443 is not available for use on the server, change the port number in the docker-compose.yml file and the nginx.conf file.

  • If port 443 is not available for use on the server, change the port number in the docker-compose.yml file, configure the new restconf port on the Cisco device, and configure the correct restconf port in the YANG Suite Device profile.

  • Login using username set during install.

Python Virtualenv Installation

WARNING: HTTPS support is not available unless a web server is installed like NGINX and frontended with uwsgi. Instructions for that can be found searching online.

  • Create a Python 3.6, 3.7, or 3.8 virtural environment and activate it.

  • Type pip install yangsuite[core]

  • Use yangsuite to start the yangsuite server

  • User is prompted to set superuser credentials.

  • Use ctrl-c to stop the yangsuite server

  • Connect to http://localhost:8480.

  • Login using user set at install.

  • Install other plugins using Admin–>Manage plugins page.

Configuring yangsuite Server

  • Activate the virtual environment

  • Type yangsuite -h

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yangsuite-2.9.11-py3-none-any.whl (9.5 MB view details)

Uploaded Python 3

File details

Details for the file yangsuite-2.9.11-py3-none-any.whl.

File metadata

  • Download URL: yangsuite-2.9.11-py3-none-any.whl
  • Upload date:
  • Size: 9.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.16

File hashes

Hashes for yangsuite-2.9.11-py3-none-any.whl
Algorithm Hash digest
SHA256 ceee547817544a257d6867acda27020f96ad877819a802cd16856ed0ff028c58
MD5 f77fe01e7c5da85d11e4d00f409ece61
BLAKE2b-256 e4b5f373f9be17c78b199e46286caba808af6e780f299f2e15fbc429472a8122

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page