Programming network stuff, playing in the clouds, and running it all on conatiners

RSS

OpenDaylight and OSGI basics

I am starting to learn about OSGI as it pertains to ODL. OSGI allows for modules to be dynamically loaded and unloaded from a system, and provides encapsulation between those modules. The modules are called bundles, and they provide services to one another via the execution environment. The bundles are basically JAR files with a manifest file that indicates what is to be exported to other bundles, and what needs to be imported from other bundles. Here’s a diagram of how I currently think of it:
After executing the run.sh script in ODL, you will load the OSGI environment, and get an osgi> prompt which allows you to interact with the system. We can use the command ss to get a list of all the bundles currently running: