Jump to: navigation, search

OpenDaylight Controller:MD-SAL:AD-SAL Compatibility

Transition Plan

A discussion of the transition to the MD-SAL in the context of the Hydrogen release can be found in the October 14th Technical Work Stream meeting. Also, described in the File:MD-SAL-transition.pdf draw by Colin Dixon after the call and discussed in this mailing list thread. The steps are also described here:

Status and Timeline Summary

The details of the plan are in the pictures below, this captures the status and timeline

Step # Name Status Plan
1 AD-SAL only Done Done
2 Adapt AD-SAL SB APIs to MD-SAL Done (see opendaylight/md-sal/sal-compability )
3 Adapt AD-SAL NSF interfaces to MD-SAL Done FRM, SwitchManager, TopologyManager
4 Port AD-SAL NSFs to the MD-SAL Inventory: Done
Topology: Nov 8
FRM: Nov 11
Statistics Manager is an App
HostTracker is an App
Troubleshooting Manager is an App
5 All AD-SAL NSFs transitioned (Final Intended State for Hydrogen) Nov 11

Step 1: Initial State AD-SAL only

MD-SAL-transition-1.png

Step 1: AD-SAL only

Step 2: Adapt AD-SAL SB APIs to MD-SAL

MD-SAL-transition-2.png

Step 2: Adapt AD-SAL SB APIs to MD-SAL. (see opendaylight/md-sal/sal-compability ). So when a call comes through the AD-SAL that is destined for a SB that is handled by the MD-SAL, it works.

Step 3: Adapt AD-SAL NSF interfaces to MD-SAL

MD-SAL-transition-3.png

Step 3: Adapt AD-SAL NSF interfaces to MD-SAL, so that when a call is made to the MD-SAL NB for a NSF that is still AD-SAL, it works.

Step 4:Port AD-SAL NSFs to the MD-SAL

MD-SAL-transition-4.png

Step 4: One by one AD-SAL NSFs are ported to the MD-SAL with the MD-SAL NSF Adaptor bundle adapting them back to AD-SAL Apps so those apps still work. NSF by NSF we can choose to 'switch over' just by switching which set of bundles go into the distribution as confidence is gained.

Step 5: All AD-SAL NSFs transitioned (Final Intended State for Hydrogen)

MD-SAL-transition-5.png

Step 5: All AD-SAL NSFs transitioned. AD-SAL apps continue to work via the AD-SAL NSF Adaptor Bundle. Remaining AD-SAL SB plugins can use the AD-SAL SB Adaptor.

Because the plan is to have (briefly) source-bundle-level duplication of the NSFs, this should mean that there's no real need for a branch to do this development since we're effectively getting the same isolation by having two copies of the NSF bundles. I would imagine the plan is to do something analogous for the SB drivers as well, but I haven't illustrated that here.