Best Practices and Pitfalls for Building Products out of OpenDaylight
Colin Dixon, TSC Chair, OpenDaylight Principal Software Engineer, Brocade Devin Avery, Sr Staff Software Engineer, Brocade
#ODSummit ¡
Best Practices and Pitfalls for Building Products out of - - PowerPoint PPT Presentation
Best Practices and Pitfalls for Building Products out of OpenDaylight Colin Dixon, TSC Chair, OpenDaylight Principal Software Engineer, Brocade Devin Avery, Sr Staff Software Engineer, Brocade #ODSummit Agenda Agenda /
Colin Dixon, TSC Chair, OpenDaylight Principal Software Engineer, Brocade Devin Avery, Sr Staff Software Engineer, Brocade
#ODSummit ¡
#ODSummit ¡
#ODSummit ¡
#ODSummit ¡
#ODSummit ¡
wrong ¡
MyFabric ¡App ¡ Flow ¡ Programming ¡ … ¡ … ¡ Host ¡Tracking ¡ + ¡MyFabric ¡Δs ¡ … ¡ … ¡ Topology ¡ … ¡ … ¡
#ODSummit ¡
risk* ¡
*Note: ¡we ¡are ¡not ¡lawyers. ¡Be ¡sure ¡to ¡discuss ¡any ¡legal ¡/ ¡licensing ¡issues ¡with ¡your ¡legal ¡team ¡
#ODSummit ¡
merely ¡
#ODSummit ¡
That is, you no longer have an OpenDaylight-based product in most of the ways you and your customers care about.
#ODSummit ¡
#ODSummit ¡
#ODSummit ¡
#ODSummit ¡
Dave ¡Neary ¡on ¡Swimming ¡Upstream: ¡ hmp://www.slideshare.net/nearyd/swimming-‑ upstream-‑45666354 ¡
code ¡with ¡OpenDaylight ¡
modularity ¡to ¡load ¡proprietary ¡ implementa5ons ¡into ¡the ¡modeling ¡system ¡
license* ¡
Karaf ¡
#ODSummit ¡
Exis5ng ¡OpenDaylight ¡ Bundles ¡ *Note: ¡we ¡are ¡not ¡lawyers. ¡Be ¡sure ¡to ¡discuss ¡any ¡legal ¡/ ¡licensing ¡issues ¡with ¡your ¡legal ¡team ¡ MyFabric ¡
MyFabric ¡ App ¡ Flow ¡ Programming ¡ … ¡ … ¡ Host ¡Tracking ¡ … ¡ … ¡ Topology ¡ … ¡ … ¡
#ODSummit ¡
OpenDaylight ¡ Code/Bundles ¡ Your ¡Proprietary ¡ Code/Bundles ¡
OtherFabric ¡ App ¡ Flow ¡ Programming ¡ … ¡ … ¡ MyHostTracker ¡ … ¡ … ¡ Topology ¡ … ¡ … ¡
#ODSummit ¡
Write ¡an ¡OSGi ¡bundle ¡that ¡ populates ¡the ¡Host ¡Tracker ¡ YANG ¡model ¡ Exis5ng ¡apps/services ¡(either ¡ ODL ¡or ¡proprietary) ¡will ¡use ¡ the ¡new ¡implementa5on ¡
OtherFabric ¡ App ¡ Flow ¡ Programming ¡ … ¡ … ¡ Host ¡Tracking ¡ … ¡ Topology ¡ … ¡
#ODSummit ¡
OFVendorExt ¡ YANG ¡ OFVendorExt ¡ Java ¡
YANG ¡models ¡with ¡ new ¡informa5on ¡
to ¡extend ¡behavior ¡
extension ¡points ¡
¡ complex, ¡needs ¡ thought ¡and ¡work ¡
Slides ¡from ¡ONS ¡talk: ¡ hmp://colindixon.com/wp-‑content/uploads/2014/05/ YANG-‑good-‑bad-‑ugly-‑ONS-‑2015.pdf ¡
versions ¡of ¡OpenDaylight ¡to ¡“scope ¡out” ¡poten5al ¡issues ¡
#ODSummit ¡
#ODSummit ¡
He-‑1 ¡ He-‑2 ¡ He-‑3 ¡ He ¡ C-‑2 ¡ C-‑3 ¡ C-‑5 ¡ C-‑1 ¡ T ¡= ¡0 ¡ T ¡= ¡1 ¡ T ¡= ¡2 ¡ T ¡= ¡3 ¡ T ¡= ¡4 ¡ He-‑2 Dev ¡ He-‑3 ¡ Dev ¡ He-‑4 ¡ Dev ¡ He-‑1 ¡ Dev ¡ Your ¡Company’s ¡Ar5facts ¡ Released ¡OpenDaylight ¡ Ar5facts ¡(Stable) ¡ Ac5ve ¡OpenDaylight ¡ Development ¡(Vola5le) ¡ C-‑4 ¡ Ex: ¡Mul5ple ¡ Proprietary ¡ Releases ¡ He-‑4 ¡ He-‑5 ¡ Dev ¡
#ODSummit ¡
#ODSummit ¡
#ODSummit ¡
Core ¡Developer ¡ App/Bus ¡Log ¡Dev ¡ REST ¡API ¡Dev ¡ Administrator ¡ Operator ¡ User ¡Interface ¡ ✔ ¡ ✔ ¡ ✔✔✔ ¡ REST ¡API ¡ ✔ ¡ ✔ ¡ ✔✔✔ ¡ ✔ ¡ ✔ ¡ App/Business ¡ Logic ¡ ✔ ¡ ✔✔✔ ¡ ✔ ¡ ✔ ¡ ¡ MD-‑SAL/YANG ¡ ✔✔✔ ¡ ✔ ¡ South ¡Bound ¡ Business ¡Logic ¡ ✔ ¡ ✔✔✔ ¡ ✔ ¡ ¡ Meta-‑tasks, ¡e.g., ¡ install ¡& ¡upgrade ¡ ✔✔✔ ¡ ✔✔ ¡
Core ¡Developer ¡ App/Bus ¡Log ¡Dev ¡ REST ¡API ¡Dev ¡ Administrator ¡ Operator ¡ User ¡Interface ¡ ✔ ¡ ✔ ¡ ✔✔✔ ¡ REST ¡API ¡ ✔ ¡ ✔ ¡ ✔✔✔ ¡ ✔ ¡ ✔ ¡ App/Business ¡ Logic ¡ ✔ ¡ ✔✔✔ ¡ ✔ ¡ ✔ ¡ ¡ MD-‑SAL/YANG ¡ ✔✔✔ ¡ ✔ ¡ South ¡Bound ¡ Business ¡Logic ¡ ✔ ¡ ✔✔✔ ¡ ✔ ¡ ¡ Meta-‑tasks, ¡e.g., ¡ install ¡& ¡upgrade ¡ ✔✔✔ ¡ ✔✔ ¡
#ODSummit ¡
“expensive” ¡
#ODSummit ¡
major ¡monolithic ¡release ¡
co-‑existence ¡is ¡not ¡tested ¡
everything ¡else ¡and ¡changed ¡all ¡versions ¡
#ODSummit ¡
Karaf ¡(All ¡SR1) ¡
Exis5ng ¡OpenDaylight ¡ Bundles ¡(He-‑SR1) ¡ MyFabric ¡ w/He-‑SR1 ¡ OF ¡ (He-‑SR1) ¡ MD-‑SAL ¡ (He-‑SR1) ¡
Karaf ¡(All ¡SR2) ¡
Exis5ng ¡OpenDaylight ¡ Bundles ¡(He-‑SR2) ¡ MyFabric ¡ w/He-‑SR2 ¡ OF ¡ (He-‑SR2) ¡ MD-‑SAL ¡ (He-‑SR2) ¡
what ¡changed ¡
to ¡worry ¡about ¡changes ¡in ¡everything ¡
matrices, ¡avoiding ¡huge ¡versions ¡skew, ¡etc. ¡
#ODSummit ¡
Karaf ¡(All ¡SR1) ¡
MyFabric ¡ w/He-‑SR1 ¡
Karaf ¡(SR1 ¡+ ¡OF ¡fix) ¡
MyFabric ¡ w/He-‑SR1 ¡ OF ¡(He-‑ SR1+fix) ¡ MD-‑SAL ¡ (He-‑SR1) ¡ This ¡is ¡all ¡that ¡ changed!! ¡ OF ¡ (He-‑SR1) ¡ MD-‑SAL ¡ (He-‑SR1) ¡
#ODSummit ¡
administrator, ¡etc. ¡