frontend AUX async-await example for later use
2 files changed
tree: 73c2b421aa977b534e0541aa0a5e0b99fac0f158
  1. .gitignore
  2. LICENSE
  3. README.md
  4. app.config.json
  5. backend/
  6. config.json
  7. frontend-assets/
  8. frontend/
  9. schema.svg
  10. vagrant/
README.md

Netopeer2GUI

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.

Netopeer2GUI schema

Features List

  • [x] manage devices to connect to
    • [ ] manage devices groupings for bulk configuration
  • [x] manage YANG schemas stored in GUI to represent received data
    • [ ] interaction with user by asking unknown module used by the connected device
  • [x] 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
  • [ ] receive NETCONF notifications and present them to user
  • [ ] accept NETCONF Call Home connections
  • [ ] plugin interface for schema=specific applications

Dependencies

The application is created as a module to the liberouter-gui framework, so to install it, follow the liberouter-gui instructions.

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

Vagrant

For fast and simple testing/development deployment, you can use the prepared Vagrantfiles for instantiating virtual machine. More information can be found here.