Skip to content

A web application to extract and validate YANG modules. Built on the bottle web-framework for Python.

License

Notifications You must be signed in to change notification settings

YangCatalog/yang-validator-extractor

Repository files navigation

Django-based YANG Extractor and Validator

codecov


A web application that allows you to fetch, extract and validate YANG modules by RFC number, by IETF draft name, or by uploading YANG files. It is built on top of the Django Python web framework. xym tool is used to fetch and extract YANG modules from IETF specifications. Combination of the following YANG compilators/validators are used on the extracted modules:

Prerequisites

The following requirements will be installed by the pip installation script:

The following tools will need to be manually preinstalled:

  • The yanglint tool needs to be preinstalled
  • The confdc compiler needs to be preinstalled, use the --confd-install-path option to point to the ConfD install directory (i.e. $CONFD_DIR)
  • The default port is 8080 to avoid requiring root privileges. Use the --port=80 option with root privileges to listen to the default HTTP port.

Documentation

Information about the YANG Validator API can be found here:

Building and Deploying Docker Image

The NSO configuration is set up to listen to port 8080 to avoid requiring root to run it, so remember to use port mapping when you start the container:

docker run -p 0.0.0.0:80:8080

Running the Validator in AWS

The current yangvalidator.com instance is running on Docker on an AWS EC2 t2.micro instance. The docker image is pushed to a repository in Amazon ECS and then pulled from the EC2 instance.

Remember to set up the appropriate Security Group definition for the EC2 instance if you expect to reach the web server from the outside.