< back to overview

ONOS v2.7.0 LTS Release Adds Features and Optimization Enhancements

Jan 17, 2022
Thomas Vachuska
Thomas Vachuska About the author

The ONOS team is pleased to announce the release of ONOS 2.7.0 (code-named X-Wing). This Long Term Support (LTS) release marks the 24th release of ONOS since its initial 1.0 (Avocet) release in December 2014, 7 years ago. ONOS is a leading open source SDN controller used to build next generation SDN/NFV solutions and is leveraged as part of other ONF projects such as Aether. You can find download links for the release on the project Wiki.

As a brief retrospective, ONOS 1.0 consisted of ~50K lines of code, had only one southbound plugin (for OpenFlow) and had 4 applications. In contrast, the latest release consists of over ~500K lines of code and contains over 180 apps, including southbound plugins and drivers for various control protocols and configuration models. 

ONOS v2.7.0 Highlights

New Features

  • Add truncate instruction and support it with PI framework
  • Expanded and enhanced optical intent, optical configuration commands 
  • Lumentum ROADM and Edgecore Cassini drivers
  • BGP monitoring APIs
  • Karaf 4.2.14 which definitely solves CVE-2021-44228 and brings other nice improvements

Optimizations Enhancements

  • Several improvements to SONA
  • Meter subsystem refactoring
  • Completed the support for P4RT indirect meters
  • Allow purging flows, groups and meters by device and application ID
  • Improve Cluster events by making explicit the node type (ONOS or Storage)
  • Optimize several components by reacting only to ONOS Cluster event types
  • Optimize the resource usage of the L3 unicast groups
  • Unified inconsistent port number format in several subsystems and in the ONOS GUI/GUI2 
  • Retrieve the architecture type from the P4Info file
  • Several mitigations for CVE-2021-44228
  • Host monitoring

Bug fixes

  • Mechanisms to prevent listeners ejection and the stop of the group polling
  • Avoid cascade failures at the ONOS startup by unsetting delegate in IOFObjManager
  • Fix issue with multiline comment in OSGI properties
  • Several bug fixes to the Intent framework
  • Device disconnection when an instance rejoins the cluster
  • Hardening of OVSDB, P4RT, GNMI and OpenFlow southbounds
  • Fix traffic monitoring and traffic highlights in GUI/GUI2
  • Resend request for flow removal in case the flow is in PENDING_REMOVE and the stats report it
  • Auto-recovery mechanism for failed mastership changes
  • Avoid meter map destruction in cluster environment on instance restart
  • Processing status of ports in order with mastership and connection/disconnection to avoid inconsistent state
  • Missing flow rules in the ECFlowRuleStore

ONOS Roadmap

The next release of ONOS will upgrade the SDN platform to use the Atomix cloud-native version of the Atomix libraries. This will provide access to simpler, yet more robust distributed primitives, better client/server protocol, and deployments will be able to use off-the-shelf backing stores, such as Dragonboat, ETCD, Consul, Redis. However, due to this upgrade, the deployment of ONOS as a cluster will only be supported in Kubernetes environments, which represents a form of “incompatibility”. For this reason, the ONOS TST and the core ONOS developers have decided that the next release should be tagged as a major release. Thus the next release, code-named Yellowhammer, will carry version 3.0.0. Since the 2.7.0 is the last in the line of 2.x releases, it will be marked for Long-Term Support.

Note that with 3.0.0, developers will continue to be able to run ONOS locally as a single instance for development and demo purposes, but for clustered deployments only Kubernetes/Helm environments will be supported. While it is possible to make ONOS 3.x run outside of Kubernetes/Helm, this work would have to be done by the greater ONOS community pending sufficient demand.

While the ONOS classic (Java-based platform) continues to evolve and serve as a stable platform for deployments, the ONOS team is also actively working on the implementation of the next generation architecture, called µONOS. This architecture is based on micro-services from the start and relies heavily on gRPC as a basis for platform interconnect and application APIs. The SD-RAN project is based on µONOS and so is the new ONOS configuration subsystem, onos-config. You can find more information about µONOS on GitHub: https://github.com/onosproject

Join Us

To join the ONOS developer community, subscribe to onos-dev@onosproject.org mailing list and visit the project #onos-dev Slack channel.

Share this post:
ABOUT THE AUTHOR Thomas Vachuska
Thomas VachuskaCloud Software Architect, Intel