Jump to: navigation, search

OpenDaylight Controller:Hydrogen Release Notes

Major Features

Hydrogen release marks the first release of the Opendaylight Controller. The following features have been delivered:

AD-SAL

  • Allows the Controller to support multiple protocols on the Southbound and providing consistent services for modules and Apps (where the business logic is embedded).

AD-SAL Openflow 1.0 Southbound Plugin

Clustering Services

  • Services for cluster-based High-Availability model
    • Uses the stable 5.3.0 version of Infinispan
    • Provides state and event synchronization
    • Transactions: the javax.transaction model supported

AD-SAL Network Service Functions

Flow-capable Controller

  • Flow capable controller using AD-SAL, Clustering services, AD-SAL Network Service Functions, Openflow 1.0 Southbound plugin,
  • Support for additional flow-capable protocols by installing other AD-SAL Southbound plugins

Config Subsystem & Netconf Server

  • Configuration system capable of two phase commit with APIs and SPIs exposed via JMX config beans
  • Runtime statistics and other data exposed via JMX runtime beans
  • YANG code generator to generate JMX, configuration interfaces and skeletons of Modules and ModuleFactories
  • netconf server (plain TCP and ssh) is used as config-subsystem endpoint, wraps JMX config and runtime beans into model driven XML representation
  • configuration pusher and persister that delivers initial or current configuration, automatic persisting of changes after netconf commit
  • low level Java APIs wrapped with yang models and configuration factories, like executor framework, netty threadgroups, logback

MD-SAL

Model-driven service adaptation layer which provides infrastructure services for plugins and applications

  • Data storage and access services
  • Two phase coordination and support for data changes in shared data store.
  • RPC service infrastructure and content-based routing
    • Dynamic routing with routing decision first, marshalling and unmarshalling only if neccesary.
  • Notification subscription and publish services
  • API Adaptation between supported API types.
  • Dynamic runtime wiring and reviring of consumers and providers

API Types supported by initial release of MD-SAL:

  • Java APIs using generated code from YANGTools
  • Java DOM APIs providing access to services using Yang Data DOM (XML-like).
  • REST APIs derived from models as defined in Restconf 02 Draft.

MD-SAL Network Service Functions

  • YANG Models of Flow-capable (Openflow-like) Network devices
  • Forwarding Rules Manager for MD-SAL southbound plugins supporting Flow Capable Network devices
  • Statistics Collection for MD-SAL southbound plugins supporting Flow Capable Network devices
  • Inventory management for MD-SAL Flow Capable Network devices
  • Topology LLDP discovery MD-SAL southbound plugins supporting Flow Capable Network devices
  • REST APIs for mentioned services using MD-SAL and Restconf

MD-SAL Netconf Southbound Plugin

  • Netconf southbound plugin with dynamic YANG schema discovery
  • Exposion of device specific REST APIs via YANG schema discovery and RESTConf.
    • This APIs are derived dynamicly, based on models provided by Netconf device, no additional installation of model specific plugins is needed.

MD-SAL to AD-SAL Compatibility layer

  • Set of components exposing MD-SAL Flow-capable southbound plugins to AD-SAL components

Known Issues and Limitations

  • NSF bundle using MD-SAL like FRM for OF 1.3 do not support clustering capabilities.

Target Environment

For Execution

Opendaylight Controller are kept completely portable and require only a Java-7 compliant JVM to run.

Note: If using Oracle JDK version 1.7.0_45 or later required.

For Development

Opendaylight Controller is developed as a normal Java project, but it makes heavy use of Xtend language. While development is possible with bare tools, Eclipse with Xtend plugin is recommended.

Note: If using Oracle JDK version 1.7.0_45 or later required.