[CONTROLLER-1831] Utilities to bootstrap CDS in a standalone environment (non-OSGi/Karaf) Created: 30/May/18  Updated: 11/May/21  Resolved: 11/May/21

Status: Resolved
Project: controller
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Medium
Reporter: Michael Vorburger Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks COE-51 Light weight ("simple") COE distribution Open
blocks OPNFLWPLUG-1046 Migrate OFP from XML to annotation ba... Resolved
is blocked by CONTROLLER-1832 Transaction Trace tool wiring creates... Resolved
is blocked by CONTROLLER-1834 Transaction Trace tool wiring for pin... Resolved
is blocked by MDSAL-418 Wiring classes for mdsal Resolved
Relates
relates to INFRAUTILS-63 Guice Inject utility ideas Resolved

 Description   

I would like to be able to set up the "real" MD SAL implementation, as opposed to the in-memory test one, so exactly the same as is used in today's production environment under Karaf/OSGi, in a "standalone" Java SE environment.

Primary interest and driver for this is my https://github.com/vorburger/opendaylight-simple/, but I guess it could be of interest in general for other users as well.... but specifically for opendaylight-simple the goal is basically to be able to get completely rid of its InMemoryControllerModule and MdsalModule and be able to consume (something like) it from an "upstream" ODL project...

I'm thinking of moving some of that today is in Blueprint into POJOs. This should not be tied to Guice, but be able to be easily used by Guice wiring if desired.



 Comments   
Comment by Michael Vorburger [ 02/Oct/18 ]

rovarga re. In Review status, just to be clear the attached two Gerrits (72485 & 72661) are more of a start.. so this issue should go back to In Progress after those are merged - I'm hoping to find time here and there to build on top of it.

Comment by Michael Vorburger [ 19/Jan/19 ]

NB skitt's https://git.opendaylight.org/gerrit/#/c/79464/ ...

Comment by Michael Vorburger [ 24/Jan/19 ]

NB also my https://git.opendaylight.org/gerrit/#/c/79388/ both what's there and in skitt's (above) should eventually by replaced by this...

Comment by Michael Vorburger [ 25/Jan/19 ]

The plan is to make MDSAL-418 happen first, and then when that is done we can leverage and build on top of that and similarly add @Singleton and @Inject to *Wiring classes and write a DistributedDatastoreModule which makes a DOMDataBroker available, mimicking https://github.com/opendaylight/controller/blob/master/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/OSGI-INF/blueprint/clustered-datastore.xml#L153 ...

When I get to this I want to have a look at my earlier https://git.opendaylight.org/gerrit/#/c/72485/12/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingBrokerWiring.java and see if perhaps that could or should be broken up now into smaller *Wiring classes?

Comment by Michael Vorburger [ 28/Jan/19 ]

skitt's WrappingDataBrokerTestWiring will be useful here when we get to it and need to bridge old and new APIs...

Comment by Robert Varga [ 11/May/21 ]

This is no longer necessary, as the OSGi DS migration has taken care of all the DI changes required – i.e. we can very well bootstrap through ServiceLoader, OSGi DS and javax.inject.

Generated at Wed Feb 07 19:56:33 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.