apache-karafopendaylightkaraf-maven-pluginapache-karaf-feature

Source code of the full OpenDaylight Integration Distribution Bundle


My team is using OpenDaylight 0.11.0 as the basis for a SDN controller. I am wondering how that .tar.gz is built?

I.e., is there a base project on github and a maven command that creates that .tar.gz file?

I am finding so many different opendaylight related modules, features and code bases that I simply can't find the full source code from which the above noted tar.gz is built from. I am thinking it is a combination of many different opendaylight modules, however I am sure there is a parent project that bundles them all together.

My end goal is to build a custom feature for our team that can be feature:installed in ODL 0.11.0's karaf console.

We have already followed the dev guide here, however that base project doesn't contain many of the features available on the ODL 0.11.0 linked at the top. I.e., when you build out that sample project, it doesn't come with the same set of features as the ODL 0.11.0 tar.gz linked above.


Solution

  • yes, ODL as a whole is just comprised of a bunch of smaller, more specific, projects. Here is a way to visualize it. So you could just clone one of those projects that does something you want, (e.g., netconf) and build that (mvn clean install). That would build netconf and pull in all the artifacts of everything it depends on. At the end you would get something you could run (netconf/karaf/target/assembly/bin/karaf) and then install some netconf features.

    If you want the whole thing, like you'd find by going to the downloads page, then you can clone our integration/distribution repo. That will pull in the artifacts for all of those projects and you could install netvirt and bgpcep features for example. That build would result in the .tar.gz file you are referring to.

    So, in the end if you want to create some new project you could build that locally. Then, you would have to update the integration/distribution project to pull in your new project (probably could just follow how it's doing it for other projects), then build it. If all goes well, you'd get the full distribution with all the features including the new one.

    Good Luck!

    PS. I saw your IRC message, but you had logged out by the time I noticed. You can also ask for help via our email lists.