Have questions? Stuck? Please check our FAQ for some common questions and answers.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This section describes some aspects of troubleshooting ONOS, with respect to its multi-bundle/OSGi aspects.

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:

  • POM files -  interdependencies between various projects, used by Maven during the build process
  • annotations (e.g. @Reference) within the code - interdependencies between various services, used by Karaf to resolve module dependencies during system startup

Notably, both prohibit circular references, and the POM file hierarchy, the cross-linking of projects not indicated to be dependencies.

Symptoms and Causes

The following result in failed dependency resolution and builds, and/or the failure to load modules at runtime: 

  • Not adhering to the dependencies indicated in the POM file(s)
  • Circular annotation references among services 
  • Misconfiguration e.g. circular dependency references in the POM file(s)

We focus on the first two, as these are more common as programmatic errors. 

 

 

 

  • No labels