A web application to extract and validate YANG modules. Built on the bottle web-framework for Python.
Smarty Python Shell CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bottle-yang-extractor-validator
.gitignore
CHANGES
Dockerfile
LICENSE
MANIFEST.in
README.md
setup.cfg
setup.py
sync.sh

README.md

Bottle-based YANG Extractor and Validator

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 bottle python micro-web framework using a combination of xym to fetch and extract YANG modules from IETF specifications, and pyang, confdc and yanglint YANG compilers to validate the extracted modules.

Prerequisites

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

  • The bottle micro-framework
  • The bottle application defaults to requiring the cherrypy web framework
  • The pyang tool
  • The xym tool

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)
  • YANG modules commonly required for validation (e.g. the IETF modules for interface and ip configuration as well as the types) are expected to be in /var/tmp/yangmodules/extracted
  • 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.

Preparing the YANG modules

The sync.sh script uses rsync to download all IETF RFCs and drafts to a temporary directory, and then extracts all found YANG modules using xym. Please read and understand the script before you run it.