Web-based NETCONF management center
This tool is currently under development and not intended for production use. However, we welcome your feedback provided via the issue tracker.
Several screenshots can be found in the docs
.
- manage devices to connect to
- manage devices groupings for bulk configuration
- manage YANG schemas stored in GUI to represent received data
- interaction with user by asking unknown module used by the connected device
- display configuration and data of the connected device (data tree view)
- edit configuration data of the device
- bulk configuration (set configuration of multiple device at once)
- YANG explorer to display/browse YANG schema (currently just basic textual information)
- receive NETCONF notifications and present them to user
- accept NETCONF Call Home connections
- plugin interface for schema-specific applications
The application is created as a module to the liberouter-gui
framework, so to install it, follow the liberouter-gui instructions. When you decide to deploy production version, there is pre-built Netopeer2GUI as a release package. To configure your web server, please follow the mentioned liberouter-gui instructions or have a look at *-release
vagrant image(s).
The backend is a Flask server written in Python 3 and utilizing libyang and libnetconf2 Python bindings. Unfortunatelly, the code of the bindings is not yet finished, so please use the devel branches of the mentioned libraries:
$ git clone -b devel https://github.com/CESNET/libyang
$ mkdir -p libyang/build && cd libyang/build
$ cmake -DGEN_LANGUAGE_BINDINGS=ON ..
$ make
# make install
$ git clone -b devel https://github.com/CESNET/libnetconf2
$ mkdir -p libnetconf2/build && cd libnetconf2/build
$ cmake -DENABLE_PYTHON=ON ..
$ make
# make install
Or alternatively install binary packages of libyang and libnetconf2.
For fast and simple testing/development deployment, you can use the prepared Vagrantfiles for instantiating virtual machine. More information can be found here.