VOLTHA 2.9 Release Notes¶
VOLTHA-2.9 builds on the existing 2.8 Long Term Support (LTS) release for VOLTHA.
The release focused on including some important underlying architectural changes that were avoided before the LTS release. With VOLTHA 2.9 Kafka was removed as a mechanism for the inter-container communication and the ONOS OLT app was completely rewritten, moreover a new transparent OLT tagging workflow has been introduced, to support new operators, e.g. TIM. OLT Underlying software was updated to newer APIs. Other enhancements included resource limits for the various components, optimization on the OMCI channel and proper cleanup of several items and resources. During the 2.9 continuous support of the 2.8 release was done, with continuous bug fixes based on the jenkins nightly suite and 2.9 discoveries.
VOLTHA 2.9 first and foremost moved away from the Kafka bus for inter container communication. Removing Kafka made the interaction between the different VOLTHA components (core and adapters) direct and with no serialization overhead, guaranteeing not only faster communication but an immediate response for operations. Removing Kafka uncovered several bugs related to timing between the core and the adapters. All of these were fixed and where applicable also back-ported to the 2.8 release. Alongside the removal of Kafka, while the voltha-protos and voltha-lib go were modified a cleanup of stale APIs and objects was performed, clarifying the supported protos objects and simplifying the library functions.
During the VOLTHA 2.9 release the OLT ONOS app was completely re-written to ensure better code quality, workflow separation, correct handling and ordering of events. The app is based on a per subscriber queue mechanism, not on a series of java completable futures, which were hard to coordinate. The queue mechanism also increased speed and performance of the app. Furthermore code quality vastly improved, making the app now much more extensible as showcased by a new transparent OLT workflow that was integrated. ONOS was moved to ONOS 2.5.4, which includes a key bugfix on the application store to enable In Service Software Update (ISSU) of ONOS instances. The 2.5.4 includes also other bug fixes on the 2.5 LTS version. Along with the OLT app queuing mechanism a flow serialization and queuing mechanism was also introduced in the openonu adapter and finalized in the OLT adapter to handle flows and technology profile instances, ensuring correct ordering at this level as well.
Transparent OLT tagging capability has been integrated in VOLTHA and ONOS. Configuring the 4096 VLAN in sadis as c-tag for a subscriber now makes the OLT just transparently forward traffic, which must be double tagged. No VLAN operation will be performed after the ONT tags the packet. Such workflow requirement from Telecom Italia that, thanks to this support, can now deploy VOLTHA in their network.
The Broadcom Abstraction Layer has been moved to BAL 126.96.36.199. A major version upgrade that ensures inclusion of multiple bug fixes and setting up for feature support such as LAG and IPv6.
Several enhancements were made on the interaction and process with the ONUs. First and foremost VOLTHA 2.9 supports OMCI prioritized sending allowing operations such as ONU software download to have lower priority than other configuration requests. The decoding of MEs has been relaxed and storing of unknown MEs has been implemented, allowing the inclusion of non-standard MEs from ONUs, expanding the pool of supported devices.
Finally the release provided bug fixes across the stack. Previously discussed were the ETCD stale information fixes that ensured Proper Cleanup of resources in the storage after device/flows delete. Cleanup of VTFD and other resources is also performed on the ONU. Several fixes were brought in the ONU image upgrade procedures concerning multiple ONUs, allowing abort during any phase and correct indication statuses. The ONU port locking state is also now correctly reported. Fixes were also included for flow deletion operation during reconciliation and possible deadlocks for Flow/GemPort multi-uni scenarios. Serialization was enhanced in omci-lib-go. For a complete list of bugs please refer to the Jira Issues section.
On the testing front VOLTHA 2.9 expanded the openonu suite with new multi-uni and multi-olt tests, extending the ONU software update success and failure scenarios. 2.9 expands the TT multicast tests to 7 tests from the basic first test. Container restart tests now include a continuous background ping. ONU delete and re-add is also tested, alongside the before-mentioned correct device, subscriber and service information deletion across the stack. Furthermore 3 new OLTs were added to Certification for both the 2.8 and 2.9 releases, Radisys 1600G and 1600X and the ADTRAN 6320.
During the 2.9 release also key design discussions have been happening to have BBF relationship and design discussion for IPv6, Plain Old Telephone Support (POTS), LAG and the next iteration of a controller for VOLTHA that will replace ONOS.
Along with VOLTHA 2.9, the Device Management Brigade also released a new minor version (1.1.1) of the interface with Introduce PON-ID related APIs, port mapping labels and auto-negotiation parameters.
Features & Improvements¶
Move to gRPC for inter container communication
Removal of Kafka bus for internal use
Direct communication between containers via gRPC
Immediate response for request
Faster container to container interaction
Fixed several bug fixes exposed by different/faster timing in interaction
Complete OLT application rewrite
Queue based mechanism for subscribers and events
Flow installation feedback
Better performance and event sequence handling
Better code quality and extensibility
Fully backwards compatible with VOLTHA 2.8
Transparent OLT workflow
4096 c-tag translates into no VLAN operation performed at the OLT
Support in olt pipeliner in ONOS, olt adapter and agent
Full support for TIM HISA workflow
ONU interaction enhancements in openonu adapter
Prioritized OMCI sending
Relaxed decoding and storing of unknown MEs
PM counter Reset
Flow serialization and queueing mechanism
Move to ONOS 2.5.5 with bug fixes to support ISSU
Broadcom Abstraction Layer (BAL) has been moved to BAL 188.8.131.52
Proper Cleanup of resources in ETCD and on the ONU after device/flows delete.
ONU image upgrade
abort during any phase
correct indication statuses
Correct ONU port locking state indication
Flow deletion operations during reconciliation
Flow/GemPort deadlock in multi-uni scenarios
Error reporting from openolt-agent for scheduler and queue configurations
Error corrections at openolt adapter in case of scheduler and queue configuration failures
serialization of Alarms
Mib upload next decoding error
Voltha-2.9 tests are available on Jenkins.
Multi-uni and multi-olt tests for openonu adapter suite.
Extended the ONU software update success and failure test scenarios.
Extended Turk Telecom multicast tests to 5 tests.
Container restart tests now include a continuous background ping.
Added test for updating and validating user bandwidth profile for ATT and DT.
Enhanced the tests voltha logging.
Enhanced DT soak pod job with bbsim subscribers provisioning (to mock system load).
Optimised timeouts for DT and TT workflow tests.
Added support for subscriber uniTag provisioning for TT test suite.
ONU delete and re-add.
Empty device, subscriber and service information verification after deletion.
LAG and LACP
Voice Support on multi UNI devices
DPU support Design discussion
New micro-service controller for VOLTHA (onos-classic replacement)
BBF API integration
Updated documentation with alarms, meters/bandwidth profiles and several other enhancements is published on https://docs.voltha.org
Edgecore ASxVOLT16 platform issues requiring hard/soft reboot(s). [VOL-4520]
Packets arrive on the wrong gem port in the upstream after XGSPON ONU disable/enable. [VOL-4521]
Packets arrive on the wrong gem port with Radisys 1600X OLT with BAL 184.108.40.206 [VOL-4527]
voltha-onos is based on snapshots due to sonatype issue [VOL-4528]
Thanks to the Continuous Certification program at ONF we can also ensure that the following ONF member products are compatible with the VOLTHA 2.9 release:
Edgecore ASGVolt64 GPON OLT
Edgecore ASXVolt16 XGSGPON OLT
Radisys 3200G GPON OLT
Radisys 1600G GPON OLT
Radisys 1600X COMBO OLT
Adtran 6320X COMBO OLT
Sercomm FG1000 GPON ONU
Sercomm Glasfaser GPON ONU
Edgecore 6712-32X Switch
Edgecore 7712-32X Switch
In particular the 2.8 release added the Radisys 3200G GPON OLT.
A full list of stories and bugs completed can be found under the VOLTHA 2.9 release page in Jira.
Component Versions in VOLTHA 2.9 release¶
ONOS and Atomix:¶
ONOS 2.5 LTS:
Helm Charts (voltha-helm-charts) -
openolt agent -
Helm Chart Versions:¶
This section refers to the macro charts to deploy the required infrastructure and a (or many) VOLTHA stacks:
Broadcom abstraction layer (BAL) version:
Openolt Agent packages:¶
Get access credentials for https://edgecore.quickconnect.to from Edgecore.
Then login and navigate to
EdgecoreNAS, and then the folder
/ASGvOLT64/OpenOLT_Agent/From_ONF_Distribution/voltha-2.9 based on
and pick the suitable OLT debian package based on
BAL 220.127.116.11 applicable for you.
Please make sure to use the ONL
Radisys Please write to Cameron Lundberg with Girish Gowdra to get the OLT debian package validated on 3200G, 1600x and 1600G platforms for VOLTHA-2.9 release