[Interop-dev] [NetJSON] DeviceConfiguration implementation: netjsonconfig

Nemesis (spam-protected)
Fri Sep 25 16:28:47 CEST 2015


Hi all,

over the last two weeks I have been working on an implementation of the
DeviceConfiguration spec:
https://github.com/openwisp/netjsonconfig

The idea is to have a relatively small python library to convert NetJSON
to real router configurations, at the moment I'm working exclusively on
OpenWRT UCI configs.
The openwisp project already has a UCI config generator, but the team is
not satisfied with it because adding features requires changing SQL
tables, the generated configs are too specific to a few use cases and
the generator code is embedded in a ruby on rails web app (OpenWISP
Manager), which makes it uninteresting for a lot of other potential
users and contributors.
The idea for the netjsonconfig library is to keep it small and well
documented, so that other more complex apps can easily integrate it if
they need.

For a practical example see the following test:
https://github.com/openwisp/netjsonconfig/blob/master/tests/openwrt/test_wireless.py#L186-L247
A few uci config blocks are generated from a NetJSON object.
Nothing special really, but this work it's allowing me to test and
improve the spec.
That's the reason for which I'm opening more issues on github regarding
this object and I will be sending more emails about it.

The (always up to date) DeviceConfiguration spec and its relative JSON
Schema definition are available at the following URLs:

  * spec: http://netjson.org/rfc.html#rfc.section.5
  * schema: http://netjson.org/rfc.html#DeviceConfiguration-schema

Nemesis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.funkfeuer.at/pipermail/interop-dev/attachments/20150925/8f044a83/attachment.html>


More information about the Interop-dev mailing list