This application provides RESTCONF north-bound interface and utilizes NETCONF south-bound plugin to manage NETCONF devices on the network. Application works as standalone SDN controller. It is capable to connect to NETCONF devices and expose connected devices over RESTCONF north-bound APIs.
This application starts:
- Lighty Controller
- OpenDaylight RESTCONF plugin
- OpenDaylight OpenApi servlet
- NETCONF south-bound plugin
This roughly translates to OpenDaylight feature set installed by karaf command:
feature:install odl-netconf-all
build the project: mvn clean install
- build the project using
mvn clean install
- go to target directory
cd lighty-examples/lighty-community-restconf-netconf-app/target
- unzip example application bundle
unzip lighty-community-restconf-netconf-app-22.0.0-SNAPSHOT-bin.zip
- go to unzipped application directory
cd lighty-community-restconf-netconf-app-22.0.0-SNAPSHOT
- start controller example controller application
java -jar lighty-community-restconf-netconf-app-22.0.0-SNAPSHOT.jar
Once example application has been started using command java -jar lighty-community-restconf-netconf-app-22.0.0-SNAPSHOT.jar
RESTCONF web interface is available at URL http://localhost:8888/restconf/*
- GET
http://localhost:8888/restconf/operations
- GET
http://localhost:8888/restconf/data/network-topology:network-topology?content=config
- GET
http://localhost:8888/restconf/data/network-topology:network-topology?content=nonconfig
This application example has active OpenApi UI for RESTCONF.
URLs for OpenApi: https://datatracker.ietf.org/doc/html/rfc8040
- OpenApi UI
http://localhost:8888/openapi/explorer/index.html
There are two separated config files: for NETCONF SBP single node and for cluster.
java -jar lighty-community-restconf-netconf-app-22.0.0-SNAPSHOT.jar /path/to/singleNodeConfig.json
Example configuration for single node is here
Default logging configuration may be overwritten by JVM option
-Dlog4j.configurationFile=path/to/log4j2.xml
Content of log4j2.xml
is described here.