All Posts By

opendaylight

OpenDaylight Nitrogen Release: It’s All About The Apache Karaf Upgrade (by Ryan Goulding)

By | Blog

This blog was originally published on Inocybe Technologies’ blog here.

With the release of Nitrogen, OpenDaylight continues to solidify itself as the de facto open networking controller standard.  Although the release contains widespread enhancements and improvements,  the main focus of the OpenDaylight Nitrogen release is the major version upgrade of the underlying Apache Karaf container from 3.0.8 to 4.0.9.  Among other functions, Apache Karaf is used to coordinate ODL microservices and lifecycle, provide a common logging infrastructure, enable remote management through JMX and a unix-like shell, facilitate dynamic configuration and hot deployment, and provide a common set of base resources across the product.  As such, Karaf has several responsibilities and has served as a crucial piece of infrastructure to the overall OpenDaylight architecture since its inclusion in the Helium release. It’s kind of a big deal ;)!

Since ODL Karaf dependency management is centralized in the odlparent project, an upgrade may initially seem trivial—  just a one-liner version bump, right?  Unfortunately, that is far from the case.  As previously stated, each release of Karaf provides a set of common dependencies that should remain constant across applications in the container.  This is done in order to centralize on a base set of hypothetically stable, interoperable and secure dependencies based on what is available from upstream projects at the time.  Thus, even a minor version bump of the Karaf container version in odlparent can result in the need for a number of changes cascading across consuming projects in ODL— especially if Karaf’s upstream dependencies contain API changes.

Major versions of Apache Karaf, which often contain new features, dependencies, frameworks, and API changes, are arduous and expensive to consume.  Moving to a new Karaf version becomes similar to transferring an existing building onto a new foundation;  there will be some jagged pieces along the bottom that will need work to fit properly.  With that said, it is critically important for ODL to keep current with Karaf releases in order to consume security fixes and avoid upstream dependency end-of-life scenarios.  Centralization of common ODL dependencies in odlparent eases some of the heartburn associated with cross-project upgrades.  Inclusion of the functionality to utilize version ranges in ODL, which continues to be developed, will ease upgrade woes in future releases.  Additionally, a significant amount of testing infrastructure was added in the Nitrogen release timeframe to enhance runtime dependency resolution checks and identify problems earlier and more predictably.

Another noteworthy change which occurred in the Nitrogen timeframe is the decision of odlparent contributors to disaggregate the subproject release from the traditional simultaneous release plan.  This means that odlparent now releases independently of the rest of ODL projects, and consuming projects depend on a released version rather than a snapshot.  Snapshot artifacts are prone to change from day to day, which can cause nuisance to consumers.  For example, imagine that a snippet of code compiles on Tuesday, and without any changes, fails to compile Wednesday morning.  This problem is avoided by depending on released artifacts, as released artifacts should never change without a proper version bump.  Consuming projects can treat the released odlparent artifacts as true upstream dependencies, and upgrades of those dependencies are now consumed with greater precision and control.  Breaking odlparent out of the simultaneous release additionally allows the odlparent development team to continue to perform necessary upgrades of widely used core dependencies without breaking downstream projects, enabling a disaggregated and saner development workflow.  Although odlparent is the only project to break off from the simultaneous release during the Nitrogen timeframe, contributors of other projects have expressed interest in following a similar plan in the near future.  This is exciting for developers and users alike, as it assists in breaking down the traditionally monolithic release process of OpenDaylight into more manageable chunks.

Maturity of the platform and its community is recognized by the decision to invest in an infrastructure focused release.  Focus is garnered around not only doing things, but doing them right.  Upgrade of the Karaf version in ODL Nitrogen is a double-edged sword;  the foundation of ODL is greatly improved but at the expense of requiring the sole focus of an entire, albeit shortened, release cycle to adapt to changes.  The improvements weren’t free, but were necessary in order to continue to deliver a stable and secure platform.  Fortunately for ODL application developers and consumers, several articles and code examples are available which provide assistance in transitioning to the updated ODL Nitrogen release.  Additionally, the support lifecycle of the previous release, ODL Carbon, has been extended beyond the traditional lifespan in order to help ease transition woes.

If you’d like to learn more about the OpenDaylight Nitrogen Release, the ODL Foundation’s Nitrogen blog is available here: https://www.opendaylight.org/blog/2017/09/26/opendaylight-introduces-nitrogen. Dive in and download OpenDaylight’s Nitrogen release today from: https://www.opendaylight.org/downloads.

Written by Ryan Goulding, Principal Software Engineer at Inocybe Technologies.

Enhanced Stability, Security and Network Programmability (by Ryan Goulding)

By | Blog

This post was originally published on Inocybe Technologies blog, reposted with their permission.

End users can rest assured that the early days of OpenDaylight releases that were jam-packed with tens-to-hundreds of new under-supported features are far gone. The latest release, Carbon, showcases the maturity and production-grade quality that Platform users have come to expect. Carbon provides significant improvements to security, stability and network programmability.

A driving goal for the OpenDaylight Carbon release is to improve the stability and reliability of ODL services.  Namely, several projects are converted to use Aries Blueprint for service activation over the bespoke configuration subsystem, an effort which was started in Boron and is improved in Carbon.  Blueprint is better documented and easier to debug, resulting in a more effective and satisfying application development experience.  Since Blueprint supports parallel service activation, there is less latency between starting the controller and utilizing the provided services.  Upgradability is improved through the Blueprint adoption, since efforts are made to separate application configuration from code wiring.  This is useful since most operators upgrading OpenDaylight wish to maintain configuration between releases, but pick up internal wiring changes.

Initial groundwork to add Apache Karaf 4.X features for each project was performed in hopes of transitioning to the newer container in the Nitrogen release.  Additionally, enhanced testing was added to ensure that features import all of the appropriate runtime bundles, improving stability of ODL features.  This groundwork should greatly help the community developers to perform the very non-trivial Karaf upgrade during the Nitrogen release cycle.

The RFC 6020 implementation of the YANG 1.0 Data Modeling Language is superseded by an implementation of RFC 7950, the YANG 1.1 Data Modeling Language.  For application developers this means that they’re now able to use YANG 1.1 constructs in their YANG models. On a similar note, interoperability with southbound NETCONF devices utilizing RFC 7950 is made possible in the Carbon release.

The clustered NETCONF implementation is greatly stabilized through re-architecture around the cluster singleton service, as well as greatly increased test coverage.  End users can expect a consistent clustered NETCONF experience to that of the Boron release, but have more peace of mind surrounding the stability of NETCONF in a distributed controller deployment.

A forward looking version of the MD-SAL Binding Specification version 2 is included in the Carbon release, though there are not yet any consuming applications.  The new version of the binding specification solves several deficiencies discovered in the original binding specification.  This implementation is Twirl-based, which has a similar function to the xtend implementation in the V1 spec, but generates the code in Scala instead of Java.  Don’t worry about running out to learn Scala; the generated Scala code is injected into the Java Runtime Environment, and is accessible to traditional Java clients.

Carbon contains an implementation of the recently (and finally) standardized RFC 8040, RESTCONF.  Hitherto, OpenDaylight users are probably most familiar interacting with the RESTCONF Draft 02 API.  The DRAFT 02 API still exists for compatibility purposes, since many pieces of software still rely on that API contract.  The new RFC 8040 RESTCONF API implementation is made available through a separate endpoint.  Users are encouraged to start exploring and using the standard version of the API, since it is still unclear how long the community should support the DRAFT 02 version.

Additionally, security of RESTCONF is improved through the addition of a model-based authorization schema in the AAA project.  Operators can now dynamically restrict sets of URL endpoints to specific classes of users at runtime.  This enhanced authorization mechanism is available for both RESTCONF versions.  AAA contributors have also added support for model-based certificate management.  Although the certificate management functionality is currently only integrated with OVSDB in the Carbon release, there are plans to provide hooks for use with other southbound protocols in the future.

An initial implementation of IETF Call Home based Draft 08 is added to the NETCONF project offering.  The implementation is currently not cluster aware, but offers the base functionality for Call Home functionality.  Overall, this improves the integration points for ODL, and enhances an operator’s ability to automate orchestration of ODL as part of a greater architecture.

Carbon debuts a new project called Daexim, a utility which allows the import and export of data from the MD-SAL datastore in JSON format.  Daexim is limited in the sense that it cannot tolerate YANG data model changes between releases.  However, developers can write external logic to manipulate data between import and export, providing for easier upgradability between releases of ODL.

Additionally, Carbon includes the first incarnation of jsonrpc, a project aimed towards enhancing external communication and federation with the controller.  For now, jsonrpc exposes a shim for ZMQ, a well tested, commodity message bus implementation.  Instead of utilizing RESTCONF, NETCONF or some other northbound interface, application developers can hook into the bus to manipulate data.  In essence, this unlocks the capability to write controller applications using non-JRE languages that support ZMQ integration.  This is compelling from the standpoint that it unlocks the ability for an entirely new set of developers to become involved with the project.

Overall, Carbon provides greater stability, security and enhanced network programability.  Groundwork is put in place to perform the Karaf upgrade in the Nitrogen release, and service activation is greatly stabilized and better tested to ensure a more consistent and friendly operational experience.  New functionality is added to help communicate with the controller, export data, and orchestrate ODL as part of a greater solution.  Dive in and download OpenDaylight’s Carbon release today from: https://www.opendaylight.org/downloads.

Written by Ryan Goulding, Senior Software Engineer at Inocybe Technologies.

Introducing OpenDaylight’s Sixth Platform Release, Carbon

By | Blog

Carbon has been released! OpenDaylight’s sixth platform release, Carbon, adds new enhancements to better support Metro Ethernet and cable operators as well as Internet of Things (IoT) deployments. As OpenDaylight continues to mature, a growing number of member use cases are emerging from companies including CenturyLink, China Mobile, Inocybe Technologies and Tencent.

OpenDaylight’s latest release further advances the platform’s scalability and robustness, with new capabilities supporting multi-site deployments for geographic reach, application performance and fault tolerance. Southbound protocols OpenFlow and Netconf gained in scalability and features, as did various administrative utilities.

Carbon also streamlines service function chaining by providing an integrated framework for NFV management. Much of this integration work and new capabilities available in Carbon were showcased as part of a proposed “Nirvana Stack,” presented in Boston last month.

As these toolchains are further integrated into higher level open source projects like ONAP, OpenStack and OPNFV, they are increasingly enabling innovators to productively explore new use cases such as IoT.

To learn more about Carbon or download the release, visit here.

We would like to thank our supportive community of developers and members who helped make the release possible!

OpenDaylight Matures with Carbon Release and New Market Deployments

By | Foundation News

The sixth release of the open SDN controller adds new enhancements to support IoT deployments and better integration with OpenStack  

SAN FRANCISCO, June 6, 2017–The OpenDaylight Project, the leading open source platform for programmable, software-defined networks, today announced its sixth release, Carbon. With this release, OpenDaylight adds new enhancements to better support Metro Ethernet and cable operators as well as Internet of Things (IoT) deployments.

“OpenDaylight-based networks are delivering business and consumer services to more than 1 billion subscribers around the globe today, as well as a growing number of users in the enterprise space,” said Phil Robb, Executive Director of OpenDaylight at The Linux Foundation. “Carbon delivers a deeper level of platform maturity, while solidifying the toolchains for leading use cases in private and hybrid cloud as well as the carrier market.”

OpenDaylight’s latest release further advances the platform’s scalability and robustness with new capabilities supporting multi-site deployments for geographic reach, application performance and fault tolerance. Southbound protocols OpenFlow and Netconf gained in scalability and features, as did various administrative utilities.

Carbon streamlines service function chaining by providing an integrated framework for NFV management. Much of Carbon’s integration work and new capabilities were showcased as part of a proposed “Nirvana Stack,” presented in Boston last month.

Carbon also supports a series of PCMM specs and other capabilities required by cable operators. It also improves operators’ ability to enable software applications and service orchestrators to configure and provision connectivity services in physical and virtual network elements–in particular, Carrier Ethernet services as defined by MEF Forum.

These toolchains are being incorporated as core components of higher-level open source frameworks, such as ONAP, OPNFV and OpenStack, as well as real-world implementations of designs from standards bodies such as MEF. These new combined stacks are increasingly enabling innovators to productively explore new use cases such as IoT.

Supporting quotes

China Mobile

“A SDN controller plays an important role for us to fast and flexibly launch services for public and private clouds, and it is a critical component in our next-generation network,” said YANG Zhiqiang, Deputy General Manager of China Mobile Research Institute. “The robustness of the OpenDaylight platform has enabled us to build our own controller and develop customized applications.”

Inocybe Technologies

Inocybe Technologies helps customers build and deploy production-grade products and services by leveraging the OpenDaylight platform as the foundation for numerous SDN deployments spanning a variety of industries, including healthcare, financial services, smart cities and industrial controls.

“We continue to see new use cases emerging for OpenDaylight, including our work with Avaya on supporting IoT,” said Mathieu Lemay, Chief Executive Officer of Inocybe Technologies. “Using OpenDaylight enabled us to develop an SDN architecture for IoT that is capable of managing and securing up to 168,000 connected devices, the largest implemented in the market today.”

CenturyLink

As CenturyLink virtualizes its network, SDN controllers provide pivotal functionality. The diverse requirements within the network, datacenters and central offices demand flexibility from OpenDaylight and applications such as the Edge Access Controller.

“As part of our work to achieve full network virtualization, we have created our own virtualized Broadband Network Gateway (vBNG) using open source components including OpenDaylight and OpenStack,” said Adam Dunstan, Vice President of SDN/NFV Engineering at CenturyLink. “We used OpenDaylight software to build our SDN access controller because of its flexibility to work with legacy operations support systems as well as newer orchestration platforms.”

Tencent

As a leading provider of internet services in China, Tencent has deepened its commitment to open source deploying OpenDaylight as a standard across their network. The open SDN platform provides Tencent with the flexibility and maturity to accommodate a growing user base and the massive scale required to provide those users with high quality services.

“We’ve selected OpenDaylight as our standard SDN controller as it has enabled us to build an agile infrastructure that can support our diverse network requirements,” said Wade Shao, deputy director of network architecture center, Tencent. “We are also hoping our partners will work together with us to build on and contribute to OpenDaylight, as we believe it matches our network strategy.”

About the OpenDaylight Project

The OpenDaylight Project is a collaborative open source project that aims to accelerate the adoption of Software-Defined Networking (SDN) and Network Functions Virtualization (NFV). Founded by industry leaders and open to all, the OpenDaylight community is developing a common, open SDN platform that fosters new innovation and reduces risk. Get involved: www.opendaylight.org.

OpenDaylight is a project at The Linux Foundation. Linux Foundation projects harness the power of collaborative development to fuel innovation across industries and ecosystems. www.linuxfoundation.org

Additional Resources

 

###