blob: fd519d0b471241b4b85bba994d2ffa762580665c [file] [log] [blame]
Andrea Campanella38a06f92021-12-01 15:49:28 -08001VOLTHA 2.9 Release Notes
2========================
3
4Highlights
5----------
6
7VOLTHA-2.9 builds on the existing 2.8 Long Term Support (LTS) release for VOLTHA.
8
9The release focused on including some important underlying architectural changes that were avoided before the LTS
10release. With VOLTHA 2.9 Kafka was removed as a mechanism for the inter-container communication and the ONOS OLT app
11was completely rewritten, moreover a new transparent OLT tagging workflow has been introduced, to support
12new operators, e.g. TIM. OLT Underlying software was updated to newer APIs. Other enhancements included resource
13limits for the various components, optimization on the OMCI channel and proper cleanup of several items and resources.
14During the 2.9 continuous support of the 2.8 release was done, with continuous bug fixes based on the jenkins
15nightly suite and 2.9 discoveries.
16
17
18VOLTHA 2.9 first and foremost moved away from the Kafka bus for inter container communication. Removing Kafka made the
19interaction between the different VOLTHA components (core and adapters) direct and with no serialization overhead,
20guaranteeing not only faster communication but an immediate response for operations. Removing Kafka uncovered several
21bugs related to timing between the core and the adapters. All of these were fixed and where applicable also back-ported
22to the 2.8 release.
23Alongside the removal of Kafka, while the voltha-protos and voltha-lib go were modified a cleanup of stale APIs and
24objects was performed, clarifying the supported protos objects and simplifying the library functions.
25
26During the VOLTHA 2.9 release the OLT ONOS app was completely re-written to ensure better code quality, workflow
27separation, correct handling and ordering of events. The app is based on a per subscriber queue mechanism, not on a
28series of java completable futures, which were hard to coordinate. The queue mechanism also increased speed and
29performance of the app. Furthermore code quality vastly improved, making the app now much more extensible as
30showcased by a new transparent OLT workflow that was integrated. ONOS was moved to ONOS 2.5.4, which includes a
31key bugfix on the application store to enable In Service Software Update (ISSU) of ONOS instances. The 2.5.4 includes
32also other bug fixes on the 2.5 LTS version.
33Along with the OLT app queuing mechanism a flow serialization and queuing mechanism was also introduced in the
34openonu adapter and finalized in the OLT adapter to handle flows and technology profile instances, ensuring correct
35ordering at this level as well.
36
37Transparent OLT tagging capability has been integrated in VOLTHA and ONOS. Configuring the 4096 VLAN in sadis as
38c-tag for a subscriber now makes the OLT just transparently forward traffic, which must be double tagged. No VLAN
39operation will be performed after the ONT tags the packet. Such workflow requirement from Telecom Italia that,
40thanks to this support, can now deploy VOLTHA in their network.
41
42The Broadcom Abstraction Layer has been moved to BAL 3.10.2.2. A major version upgrade that ensures inclusion of
43multiple bug fixes and setting up for feature support such as LAG and IPv6.
44
45Several enhancements were made on the interaction and process with the ONUs. First and foremost VOLTHA 2.9 supports
46OMCI prioritized sending allowing operations such as ONU software download to have lower priority than other
47configuration requests. The decoding of MEs has been relaxed and storing of unknown MEs has been implemented,
48allowing the inclusion of non-standard MEs from ONUs, expanding the pool of supported devices.
49
50Finally the release provided bug fixes across the stack. Previously discussed were the ETCD stale information
51fixes that ensured Proper Cleanup of resources in the storage after device/flows delete. Cleanup of VTFD and
52other resources is also performed on the ONU.
53Several fixes were brought in the ONU image upgrade procedures concerning multiple ONUs, allowing abort during any
54phase and correct indication statuses. The ONU port locking state is also now correctly reported. Fixes were also
55included for flow deletion operation during reconciliation and possible deadlocks for Flow/GemPort multi-uni scenarios.
56Serialization was enhanced in omci-lib-go. For a complete list of bugs please refer to the Jira Issues section.
57
58On the testing front VOLTHA 2.9 expanded the openonu suite with new multi-uni and multi-olt tests, extending the ONU
59software update success and failure scenarios. 2.9 expands the TT multicast tests to 7 tests from the basic first
60test. Container restart tests now include a continuous background ping. ONU delete and re-add is also tested,
61alongside the before-mentioned correct device, subscriber and service information deletion across the stack.
62Furthermore 3 new OLTs were added to Certification for both the 2.8 and 2.9 releases, Radisys 1600G and 1600X and
63the ADTRAN 6320.
64
65During the 2.9 release also key design discussions have been happening to have BBF relationship and design discussion
66for IPv6, Plain Old Telephone Support (POTS), LAG and the next iteration of a controller for VOLTHA that will replace
67ONOS.
68
69Along with VOLTHA 2.9, the Device Management Brigade also released a new minor version
70(`1.1.1 <https://github.com/opencord/device-management-interface/releases/tag/v1.1.1>`_) of the interface with
71Introduce PON-ID related APIs, port mapping labels and auto-negotiation parameters.
72
73
74Features & Improvements
75-----------------------
76
77- Move to gRPC for inter container communication
78
79 - Removal of Kafka bus for internal use
80 - Direct communication between containers via gRPC
81 - Immediate response for request
82 - Faster container to container interaction
83 - Fixed several bug fixes exposed by different/faster timing in interaction
84
85- Complete OLT application rewrite
86
87 - Queue based mechanism for subscribers and events
88 - Flow installation feedback
89 - Better performance and event sequence handling
90 - Better code quality and extensibility
91 - Fully backwards compatible with VOLTHA 2.8
92
93- Transparent OLT workflow
94
95 - 4096 c-tag translates into no VLAN operation performed at the OLT
96 - Support in olt pipeliner in ONOS, olt adapter and agent
97 - Full support for TIM HISA workflow
98
99- ONU interaction enhancements in openonu adapter
100
101 - Prioritized OMCI sending
102 - Relaxed decoding and storing of unknown MEs
103 - PM counter Reset
104 - Flow serialization and queueing mechanism
105
106- Move to ONOS 2.5.5 with bug fixes to support ISSU
107- Broadcom Abstraction Layer (BAL) has been moved to BAL 3.10.2.2
108
109Bug Fixes
110---------
111
112- Proper Cleanup of resources in ETCD and on the ONU after device/flows delete.
113
114- ONU image upgrade
115
116 - multiple ONUs
117 - abort during any phase
118 - correct indication statuses
119
120- Correct ONU port locking state indication
121- Flow deletion operations during reconciliation
122- Flow/GemPort deadlock in multi-uni scenarios
123- Error reporting from openolt-agent for scheduler and queue configurations
124- Error corrections at openolt adapter in case of scheduler and queue confi\guration failures
125- OMCI lib-go
126
127 - serialization of Alarms
128 - Mib upload next decoding error
129
130
131Test
132----
133
134Voltha-2.9 tests are available on `Jenkins <https://jenkins.opencord.org/>`_.
135
136- Multi-uni and multi-olt tests for openonu adapter suite.
137- Extended the ONU software update success and failure test scenarios.
138- Extended Turk Telecom multicast tests to 5 tests.
139- Container restart tests now include a continuous background ping.
140- Added test for updating and validating user bandwidth profile for ATT and DT.
141- Enhanced the tests voltha logging.
142- Enhanced DT soak pod job with bbsim subscribers provisioning (to mock system load).
143- Optimised timeouts for DT and TT workflow tests.
144- Added support for subscriber uniTag provisioning for TT test suite.
145- ONU delete and re-add.
146- Empty device, subscriber and service information verification after deletion.
147
148
149Design Discussions
150------------------
151
152- LAG and LACP
153- Voice Support on multi UNI devices
154- IPv6 support
155- DPU support Design discussion
156- New micro-service controller for VOLTHA (onos-classic replacement)
157- BBF API integration
158
159
160
161Documentation
162-------------
163
164- Updated documentation with alarms, meters/bandwidth profiles and several other enhancements
165 is published on https://docs.voltha.org
166
167Known Issues
168------------
169
170- Edgecore ASxVOLT16 platform issues requiring hard/soft reboot(s). `[VOL-4520] <https://jira.opencord.org/browse/VOL-4520>`_
171- Packets arrive on the wrong gem port in the upstream after XGSPON ONU disable/enable. `[VOL-4521] <https://jira.opencord.org/browse/VOL-4521>`_
172- Packets arrive on the wrong gem port with Radisys 1600X OLT with BAL 3.10.2.2 `[VOL-4527] <https://jira.opencord.org/browse/VOL-4527>`_
173- voltha-onos is based on snapshots due to sonatype issue `[VOL-4528] <https://jira.opencord.org/browse/VOL-4528>`_
174
175
176Certification Program
177---------------------
178
179Thanks to the `Continuous Certification <https://opennetworking.org/continuous-certification-program>`_ program at
180ONF we can also ensure that the following ONF member products are compatible with the VOLTHA 2.9 release:
181
182- Edgecore ASGVolt64 GPON OLT
183- Edgecore ASXVolt16 XGSGPON OLT
184- Radisys 3200G GPON OLT
185- Radisys 1600G GPON OLT
186- Radisys 1600X COMBO OLT
187- Adtran 6320X COMBO OLT
188- Sercomm FG1000 GPON ONU
189- Sercomm Glasfaser GPON ONU
190- Edgecore 6712-32X Switch
191- Edgecore 7712-32X Switch
192
193In particular the 2.8 release added the Radisys 3200G GPON OLT.
194
195Jira stories
196------------
197A full list of stories and bugs completed can be found under the
198`VOLTHA 2.9 <https://jira.opencord.org/projects/VOL/versions/12200>`_ release page in Jira.
199
200Component Versions in VOLTHA 2.9 release
201----------------------------------------
202
Andrea Campanella38a06f92021-12-01 15:49:28 -0800203ONOS and Atomix:
204++++++++++++++++
205
206- `ONOS 2.5 LTS <https://github.com/opennetworkinglab/onos/releases/tag/2.5.2>`_: ``2.5.5``
207- `ATOMIX <https://github.com/atomix/atomix/releases/tag/atomix-3.1.9>`_: ``3.1.9``
208
209ONOS Apps:
210++++++++++
211
212- `aaa <https://gerrit.opencord.org/gitweb?p=aaa.git;a=summary>`_: ``2.5.0``
213- `dhcpl2relay <https://gerrit.opencord.org/gitweb?p=dhcpl2relay.git;a=summary>`_: ``2.5.0``
214- `igmpproxy <https://gerrit.opencord.org/gitweb?p=igmpproxy.git;a=summary>`_: ``2.4.0``
215- `kafka <https://gerrit.opencord.org/gitweb?p=kafka-onos.git;a=summary>`_: ``2.8.0``
216- `mcast <https://gerrit.opencord.org/gitweb?p=mcast.git;a=summary>`_: ``2.5.0``
Andrea Campanella5e776132022-01-14 11:20:44 +0100217- `olt <https://gerrit.opencord.org/gitweb?p=olt.git;a=summary>`_: ``5.0.1``
Andrea Campanella38a06f92021-12-01 15:49:28 -0800218- `sadis <https://gerrit.opencord.org/gitweb?p=sadis.git;a=summary>`_: ``5.5.0``
219- `bng <https://gerrit.opencord.org/gitweb?p=bng.git;a=summary>`_: ``2.2.0``
220- `pppoeagent <https://gerrit.opencord.org/plugins/gitiles/pppoeagent/>`_: ``1.2.0``
221- `olttopology <https://gerrit.opencord.org/plugins/gitiles/olttopology/>`_: ``1.2.0``
222
223VOLTHA Components:
224++++++++++++++++++
225
Andrea Campanellaf31c4fd2021-12-28 11:40:03 +0100226- `Helm Charts (voltha-helm-charts) <https://gerrit.opencord.org/gitweb?p=voltha-helm-charts.git;a=tree;h=refs/heads/voltha-2.9>`_ - ``3.0.1``
Andrea Campanella38a06f92021-12-01 15:49:28 -0800227- `bbsim <https://gerrit.opencord.org/gitweb?p=bbsim.git;a=tree>`_- ``1.9.1`` with `chart <https://gerrit.opencord.org/gitweb?p=helm-charts.git;a=tree;f=bbsim>`_ ``4.5.2``
228- `voltha-go <https://gerrit.opencord.org/gitweb?p=voltha-go.git;a=tree;h=refs/heads/voltha-2.9>`_ - ``3.0.2`` with chart ``2.10.9``
229- `ofagent-go <https://gerrit.opencord.org/gitweb?p=ofagent-go.git;a=tree;h=refs/heads/voltha-2.9>`_ - ``2.0.1`` with chart ``2.10.9``
230- `voltctl <https://gerrit.opencord.org/gitweb?p=voltctl.git;a=tree>`_ - ``1.7.4``
231- `voltha-openolt-adapter <https://gerrit.opencord.org/gitweb?p=voltha-openolt-adapter.git;a=tree;h=refs/heads/voltha-2.9>`_ - ``4.1.5`` with chart ``2.10.8``
Andrea Campanella5e776132022-01-14 11:20:44 +0100232- `voltha-openonu-adapter-go <https://gerrit.opencord.org/gitweb?p=voltha-openonu-adapter-go.git;a=tree;h=refs/heads/voltha-2.9>`_ - ``2.1.3`` with chart ``2.9.12``
233- `voltha-onos <https://gerrit.opencord.org/gitweb?p=voltha-onos.git;a=tree;h=refs/heads/voltha-2.9>`_ - ``5.0.5`` with chart ``0.1.27``
Andrea Campanella38a06f92021-12-01 15:49:28 -0800234- `openolt agent <https://gerrit.opencord.org/gitweb?p=openolt.git;a=tree;h=refs/heads/voltha-2.9>`_ - ``3.6.2``
235- `voltha-protos <https://github.com/opencord/voltha-protos/releases/tag/v5.1.2>`_ - ``5.1.2``
236- `voltha-lib-go <https://github.com/opencord/voltha-lib-go/releases/tag/v7.1.3>`_ - ``7.1.3``
237- `Bbsim-sadis-server <https://github.com/opencord/bbsim-sadis-server/releases/tag/v0.3.2>`_ - ``0.3.2`` with chart ``0.2.3``
238- `voltha-system-tests <https://github.com/opencord/voltha-system-tests/releases/tag/2.9.0>`_ - ``2.9.0``
239
240
241Helm Chart Versions:
242++++++++++++++++++++
243This section refers to the macro charts to deploy the required infrastructure and a (or many) VOLTHA stacks:
Andrea Campanella5e776132022-01-14 11:20:44 +0100244- Voltha-infra: ``2.9.13``
245- Voltha-stack: ``2.9.17``
Andrea Campanella38a06f92021-12-01 15:49:28 -0800246
247BAL Version:
248++++++++++++
249Broadcom abstraction layer (BAL) version: ``3.10.2.2``.
250
251Openolt Agent packages:
252+++++++++++++++++++++++
253**EdgeCore**
254Get access credentials for https://edgecore.quickconnect.to from Edgecore.
255Then login and navigate to ``File_Station`` -> ``EdgecoreNAS``, and then the folder
256``/ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.9`` or
257``/ASGvOLT64/OpenOLT_Agent/From_ONF_Distribution/voltha-2.9`` based on ``ASXvOLT16`` or ``ASGvOLT64`` platform,
258and pick the suitable OLT debian package based on ``BAL 3.10.2.2`` applicable for you.
259Please make sure to use the ONL
260``/ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/ONL-onl-4.14_ONL-OS8_2021-11-26.0058-0de1c30_AMD64_INSTALLED_INSTALLER``
261for running ``BAL 3.10.2.2``.
262
263**Radisys**
264Please write to `Cameron Lundberg <cameron.lundberg@radisys.com>`_ with `Girish Gowdra <cameron.lundberg@radisys.com>`_
265to get the OLT debian package validated on 3200G, 1600x and 1600G platforms for VOLTHA-2.9 release
266