This section discusses the troubleshooting process with respect to the multi-bundle/OSGi aspects of ONOS.

Bundle Internals

As mentioned in ONOS : An Overview, ONOS is a multi-module project managed as OSGi bundles by Karaf. 

Each bundle is represented by a Maven project with its own POM file, and each project may implement zero or more services. The bundles describe dependencies via:

Notably, both prohibit circular references, and the POM file hierarchy, the cross-linking of projects not indicated to be dependencies. As such, the following result in failed builds or the failure to load modules at runtime: 

Symptoms

In addition to direct build failures, the above may manifest as the IDE not recognizing the usage of certain packages within others. 

Unloaded modules may manifest as failures of certain commands from the Karaf command line, and the absence of bundles in the output of list.

Webconsole