< back to overview

VOLTHA 2.6 Released

Dec 18, 2020
Andrea Campanella
Andrea Campanella About the author

ONF is pleased to announce the release of VOLTHA 2.6. This release features scale improvements and a tenfold increase in the number of supported subscribers (to 10K), thanks to the new openonu adapter rewritten in the Go language, flow replication in the agent and multi-stack support. New tests and a release of the device management interface complete the release. 

The VOLTHA 2.6 release enhances the VOLTHA project for software defined broadband access, building on top of architectural analysis and requirements done in collaboration between ONF and ONF operator partners, specifically Deutsche Telekom (DT) and Turk Telekom (TT). The operators are bringing to the table lessons learned with previous VOLTHA versions in field trials and initial commercial deployments thus allowing ONF and the VOLTHA community, including the operator themselves, to improve, harden and scale VOLTHA, in terms of numbers, features and error handling. 

Noteworthy elements of the 2.6 release include:

  • New OpenONU adapter written in Go 
    • Feature complete and used as default
    • Improved performance
    • Single instance vs 8 Python adapters for the same scale numbers
    • Minimizes resource consumption. 
  • Multi-stack 
    • Up to 10 stacks enabled one at a time on the three workflows
    • 10240 ONUs supported in a single VOLTHA pod
    • Shared ETCD/KAFKA/ONOS
    • Support tests across the components
  • Scale improvements 
    • Flow replication openolt agent, 
    • Parallelization ONOS apps (aaa, dhcpl2relay) 
    • BBSim Sadis server rewritten in Golang
  • Move to upstream charts from BITNAMI for etcd and kafka
  • OLT software upgrade support (in-band mode only) and migration to BAL 3.4.9.6
  • Device Management Interface example server on top of BBSim, with tests

Details

The major achievement of this release is the move of a key VOLTHA component – the openonu adapter – from Python to Golang. WIth the openonu Golang version reaching feature parity with the Python and becoming the default in deployment and tests. This is the culmination of a year long effort of the OpenOnu Go brigade. The new adapter adds the benefits of multithreading and parallel processing of Go, thus enabling more subscribers on a single instance than was previously achievable with 8 Python adapters. This greatly reduces the complexity of the system and resource consumption. The adapter supports all three workflows ATT, DT and TT both on hardware and on BBSim. The scale jobs have also demonstrated a faster bring up time. Internally, the new adapter uses a state machine based architecture, which is very sound and more akin to the actual OMCI state processing. The open onu Go adapter brings in new features such as automatic mib template creation. The use of the openonu adapter written in Golang paves the way for required features such as the ONU software update to be implemented in upcoming releases. A road map for further features and development has been put together. 

The OpenOnu Go adapter comes with a brand new suit of specific tests that were developed to further verify its capabilities. Such tests are run on a per patchset basis. Given the release and the outstanding performance demonstrated by the Openonu Go adapter with the 2.6 release, we are deprecating the Python version, which will no longer be supported in future releases.

Second, this release significantly improves the scale of a VOLTHA pod to up to 10k subscribers in steady-state, where a VOLTHA pod is a collection of VOLTHA stacks interacting with shared infrastructure of ONOS, etcd and Kafka clusters. This represents a 10X improvement in scale over previous releases for all three operator workflows. These multi-stack deployments are thus capable of handling 10240 ONUs and thus subscribers. Several factors contributed to the improvement including scale-optimizations in a single VOLTHA stack, streamlining and parallelization in ONOS apps, the aforementioned move to the golang openonu adapter, as well as the changes that allowed the deployment of multiple VOLTHA stacks to share common infrastructure. Results of the multi-stack jobs can be seen in Jenkins

A key factor has been the streamlining and parallelization in different components of the system, first by avoiding flow replication in the adapters and moving it down to the device agent when needed. Also, both the AAA application and the DHCPL2Relay needed implementation of thread pools for packet handling. We introduced the use of DHCP Option 82 for carrying the host connect point. Parallel processing of OpenFlow port messages was required in ONOS too.  

In the work towards stabilization and production readiness, a new transactional error model has been introduced and charts for ETCD and KAFKA were moved from incubator to upstream versions from BITNAMI. Updated workflow specific documentation has also been published. 

Other than tests for all the features described above, a further hardware test with one VOLTHA stack controlling two physical OLTs has been included in VOLTHA 2.6.

Along with VOLTHA 2.6 the Device Management Brigade also released a new version of the interface, which has been implemented on BBSIM and has initial robot test cases.

Finally some design discussions have been held to implement PPPoE over VOLTHA, MPLS Pseudowire at the OLT, perform VOLTHA software upgrade and achieve EPON support. 

Thanks to the Continuous Certification program at ONF we can also ensure that the following devices are certified against the VOLTHA 2.6 release:

  • Edgecore ASGVolt64 GPON OLT
  • Edgecore ASXVolt16 XGSGPON OLT
  • Sercomm F1000 GPON ONU
  • Edgecore 6712-32X Switch
  • Edgecore 7712-32X Switch

VOLTHA 2.6 is also tested with other vendors’ equipment, such as Alpha, Iskratel, Tibit and Adtran but they are not enrolled in the continuous certification program and thus do not benefit from being part of the automated regression testing and therefore do not appear in this list.

 Please see the complete release notes here to see a full list of new features and enhancements.

The amazing results and achievements of the VOLTHA 2.6 release could not have been reached without the contributions and expertise of the VOLTHA community and of the ONF partners, who put effort in all areas of the project. In particular I want to thank the OpenOnu Go brigade for the *huge* effort poured into this rewrite of the adapter, in particular Holger Hildebrandt, Michael Pagenkopf, Torsten Thieme from ADTRAN, Chip Boling from Tibit, Ozge Ayaz from Netsia, and Girish Gowdra, Matteo Scandolo from ONF. I can’t express my appreciation enough, we have achieved a great milestone. 

Andrea Campanella & the VOLTHA team

ABOUT THE AUTHOR Andrea Campanella
Andrea CampanellaMember of Technical Staff
Andrea joined ONF in October 2015 as a Research Scholar Intern. Andrea received a Bachelor’s degree in Digital Communication and is majoring in Computer Science at the Public University of Milan, Italy, with a focus in computer networks and SDN technology. At ONF, Andrea is on the ONOS core development team focusing on southbound architecture, protocol integration and driver subsystems. Andrea is also part of the A-Team: the ambassador program steering team and is active in shaping the ONOS community. In his free time Andrea enjoys photography, hiking, sailing, biking, and playing basketball.