Welcome to Cisco YANG Suite!

YANG Suite is a set of tools related to YANG models (RFC 6020, RFC 7950) and related technologies such as NETCONF (RFC 6241).

It provides a modular infrastructure which various YANG application plugins can be used.

Please check developer.cisco.com/yangsuite for information, learning labs, and announcements.

Docker-based 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 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

Getting Started

If this is your first time running YANG Suite, you have two ways to begin:

  1. Configure YANG Suite to connect to a device (router or switch) “Setup –> Device profile” and then download supported YANG models from the device at “Setup –> YANG files and repositories”.

  2. Upload YANG model files from your computer to YANG Suite at “Setup –> YANG files and repositories”.

Once you have provided YANG models to YANG Suite by either of the above methods, you can then proceed to define sets of YANG models of interest at “Setup –> YANG module sets”.

Once this is done you can proceed to learn how to explore the contents of these YANG models at “Explore –> YANG”, or use these models to send NETCONF at “Protocols –> NETCONF”.

For more information on any of these topics, use the table of contents or the search box, both on the right side of this page. To return to this page at any time, use the “Help” menu in the sidebar to the left of any YANG Suite page. For page-specific help, click the (?) icon in the top right corner.

About YANG Suite

The core application plugins for YANG Suite are:

yangsuite-filemanager

Manages storage of YANG schema files within the application. Allows users to upload YANG schema files to the application.

yangsuite-devices

Manages device profile definitions and access to devices.

yangsuite-yangtree

Provides basic browsing of YANG models in a tree format.

yangsuite-netconf

Download supported YANG models from a device, construct and send NETCONF (RFC 6241) RPCs to a device.

User Administration

From the menu bar at the top of any YANG Suite page, select “Admin → Manage users”. In the page that loads, you can manage users and groups to access the YANG Suite server.

Troubleshooting

You can browse the server logs generated by YANG Suite by selecting “Admin → View logs”.

If you face any issues, checkout developer.cisco.com/yangsuite. To provide feedback, email us at yangsuite-support-ext@cisco.com.