devnet-1006getting started with opendaylight
TRANSCRIPT
- 1. Getting Started with OpenDaylight Giles Heron ([email protected]) Andrew McLachlan ([email protected]) Charles Eckel ([email protected]) DEVNET-1006
- 2. What is OpenDaylight? NETCONF/YANGs relationship to Open Daylight Cisco Open Source Controller and DevNet Agenda
- 3. What is OpenDaylight?
- 4. OpenDaylight Overview Software-Defined Networking (SDN) Modular controller at core Northbound APIs to apps Southbound interfaces to network devices
- 5. Java chosen as an enterprise-grade, cross-platform compatible language Git version control system Maven build system for Java OSGi: Enables dynamic loading of feature bundles Can register dependencies and services exported Infrastructure for exchanging information across bundles Karaf: Light-weight Runtime for loading modules/bundles OSGi based. Primary distribution mechanism for Helium OSGi Framework (Equinox) FeatureA SAL FeatureB Karaf OpenDaylight - Java, Git, Maven, OSGi and Karaf
- 6. Based on modern frameworks: node.js, AngularJS Completely decoupled from the core controller Run it from any location Modular, easy to extend OpenDaylight the DLUX UI
- 7. Where to Get Open Daylight Its Open Source ! The Easy Way - Download and Play (unzip and run) http://www.opendaylight.org/software/downloads The Next Step - Build and Play (Core Tutorials) https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD- SAL:Startup_Project_Archetype
- 8. ODL First Boot
- 9. NETCONF/YANGs relationship to Open Daylight
- 10. ODL Transport Remote Operations Mgmt Services Mgmt info (encoding) Mgmt info (definition) XML-encoded content YANG modules NETCONF operations XML RPC TLS, SSH JSON JAVA DTO I2RS ? HTTP RESTCONF TCP OpenDaylight NETCONF, RESTCONF and YANG
- 11. ODL NETCONF Plug-In Controller Config MD-SAL NETCONF NETCONF Mounted under e.g. http://localhost:8181/restconf/config/opendaylight- inventory:nodes/node/controller-config Data can be accessed using /yang-ext:mount/ /yang-ext:mount/config:modules is used to configure the various plug-ins Config Store RESTCONF
- 12. ODL NETCONF Plug-In Node Discovery MD-SAL NETCONF RESTCONF Node Inventory Nodes added by POSTing to config:modules ODL connects to each node ODL learns capabilities (YANG modules) and stores to model cache Cache at ~/cache/schema. Filenames of form [email protected]. Model Cache XR1 XR2 OpenWRT
- 13. ODL NETCONF Plug-In Node Configuration MD-SAL NETCONF RESTCONF Node Inventory Nodes configured by POSTing or PUTting to e.g.: http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/XR2/yang- ext:mount/Cisco-IOS-XR-ifmgr-cfg:interface-configurations/interface- configuration/act/Loopback0/ Can retrieve config (or operational stats) using GET Model Cache XR1 XR2 OpenWRT
- 14. RESTCONF ReSTful protocol to access YANG defined data Remote State Transfer, i.e. server maintains no session state HTTL URLs reflect data hierarchy in a YANG-modelled datastore RESTCONF Netconf GET , POST (create) PUT (replace) PATCH (merge) DELETE (delete) OPTIONS (discover supported operations) HEAD (get without body)
- 15. ODL NETCONF Demo
- 16. Cisco Open Source Controller and DevNet
- 17. DevNet Open Source DevCenter https://developer.cisco.com/opens ource Community forums, blogs https://communities.cisco.com/com munity/developer/opensource Developer Events IETF Hackathon featuring OpenDaylight https://www.ietf.org/registration/Mee tingWiki/wiki/93hackathon
- 18. Sandbox https://developer.cisco.com/site/opendaylight/discover/try-it-now/ Try OpenDaylight in a real network
- 19. Thank you