MG-SOFT NETCONF/YANG Python Scripting System

Main features and Screen shots

The following is a brief list of the main features of MG-SOFT NETCONF/YANG Python Scripting System.

A powerful and easy-to-use NETCONF/YANG scripting framework
MG-SOFT NETCONF/YANG Python Scripting System is a NETCONF client scripting framework that enables performing fully automated network configuration tasks, including automated testing of NETCONF devices, by using the Python scripting language (screen shot).

The software package is ideally suited for NETCONF/YANG device testing (NETCONF protocol compliance testing, YANG module implementation conformance testing, performance stress testing, etc.), as well as for performing routine network configuration tasks on NETCONF devices. The package contains everything necessary to compose scripts for testing or manipulating the YANG-based data configuration model in a rapid and convenient manner, e.g., using typical IDE editor features, like code-completion, go-to-definition, find-usages, etc.

The framework consists of the following three main components:

MG-SOFT NETCONF Script API - providing connectivity and NETCONF operations to Python scripts
  • It is a NETCONF protocol stack implementation compliant with NETCONF v1.1 specification (RFC 6241) and NETCONF v1.0 specification (RFC 4741) - for backward compatibility reasons.
  • It enables communication with NETCONF devices over SSH (RFC 6242, RFC 4742) and TLS (RFC 5539) transport layers. Additional transports can be added transparently.
  • It supports performing all standard and proprietary NETCONF RPC operations (get, get-config, edit-config, lock, unlock, commit, confirmed-commit, get-schema, receive notifications, etc.).
  • It is a robust, multithreaded high-performance NETCONF protocol stack implementation.
  • Implemented in JavaTM and exposed to Python via JNI interface.
MG-SOFT YANG2Py API - YANG Python utility functions and base classes
  • It provides utility functions for validating and de/serializing NETCONF content to/from XML.
  • It contains generic YANG object-oriented model (base classes) used by specific Python code generated from YANG modules.
  • This framework enables rapid development of YANG-based scripts using object-oriented approach and auto-complete feature when using an IDE editor (e.g., Eclipse, PyCharm,...)(screen shot).
  • Resulting Python scripts are compact, content focused and easy to write and understand.
  • A set of bundled scripts enable testing some standard NETCONF operations and capabilities (get, get-config, edit-config, get-schema, notifications,...) and can be easily extended.
MG-SOFT YANG to Python Generator (YANG2PyGen)
  • It is a GUI tool that lets you take standard or proprietary YANG modules and generate Python code (binding classes that correspond to YANG statements) from them. One Python file per YANG module is generated (screen shot).
  • The generated Python classes offer great support for writing scripts for manipulating configuration data defined in YANG modules.