Andrea Campanella | 38a06f9 | 2021-12-01 15:49:28 -0800 | [diff] [blame] | 1 | VOLTHA 2.9 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | Highlights |
| 5 | ---------- |
| 6 | |
| 7 | VOLTHA-2.9 builds on the existing 2.8 Long Term Support (LTS) release for VOLTHA. |
| 8 | |
| 9 | The release focused on including some important underlying architectural changes that were avoided before the LTS |
| 10 | release. With VOLTHA 2.9 Kafka was removed as a mechanism for the inter-container communication and the ONOS OLT app |
| 11 | was completely rewritten, moreover a new transparent OLT tagging workflow has been introduced, to support |
| 12 | new operators, e.g. TIM. OLT Underlying software was updated to newer APIs. Other enhancements included resource |
| 13 | limits for the various components, optimization on the OMCI channel and proper cleanup of several items and resources. |
| 14 | During the 2.9 continuous support of the 2.8 release was done, with continuous bug fixes based on the jenkins |
| 15 | nightly suite and 2.9 discoveries. |
| 16 | |
| 17 | |
| 18 | VOLTHA 2.9 first and foremost moved away from the Kafka bus for inter container communication. Removing Kafka made the |
| 19 | interaction between the different VOLTHA components (core and adapters) direct and with no serialization overhead, |
| 20 | guaranteeing not only faster communication but an immediate response for operations. Removing Kafka uncovered several |
| 21 | bugs related to timing between the core and the adapters. All of these were fixed and where applicable also back-ported |
| 22 | to the 2.8 release. |
| 23 | Alongside the removal of Kafka, while the voltha-protos and voltha-lib go were modified a cleanup of stale APIs and |
| 24 | objects was performed, clarifying the supported protos objects and simplifying the library functions. |
| 25 | |
| 26 | During the VOLTHA 2.9 release the OLT ONOS app was completely re-written to ensure better code quality, workflow |
| 27 | separation, correct handling and ordering of events. The app is based on a per subscriber queue mechanism, not on a |
| 28 | series of java completable futures, which were hard to coordinate. The queue mechanism also increased speed and |
| 29 | performance of the app. Furthermore code quality vastly improved, making the app now much more extensible as |
| 30 | showcased by a new transparent OLT workflow that was integrated. ONOS was moved to ONOS 2.5.4, which includes a |
| 31 | key bugfix on the application store to enable In Service Software Update (ISSU) of ONOS instances. The 2.5.4 includes |
| 32 | also other bug fixes on the 2.5 LTS version. |
| 33 | Along with the OLT app queuing mechanism a flow serialization and queuing mechanism was also introduced in the |
| 34 | openonu adapter and finalized in the OLT adapter to handle flows and technology profile instances, ensuring correct |
| 35 | ordering at this level as well. |
| 36 | |
| 37 | Transparent OLT tagging capability has been integrated in VOLTHA and ONOS. Configuring the 4096 VLAN in sadis as |
| 38 | c-tag for a subscriber now makes the OLT just transparently forward traffic, which must be double tagged. No VLAN |
| 39 | operation will be performed after the ONT tags the packet. Such workflow requirement from Telecom Italia that, |
| 40 | thanks to this support, can now deploy VOLTHA in their network. |
| 41 | |
| 42 | The Broadcom Abstraction Layer has been moved to BAL 3.10.2.2. A major version upgrade that ensures inclusion of |
| 43 | multiple bug fixes and setting up for feature support such as LAG and IPv6. |
| 44 | |
| 45 | Several enhancements were made on the interaction and process with the ONUs. First and foremost VOLTHA 2.9 supports |
| 46 | OMCI prioritized sending allowing operations such as ONU software download to have lower priority than other |
| 47 | configuration requests. The decoding of MEs has been relaxed and storing of unknown MEs has been implemented, |
| 48 | allowing the inclusion of non-standard MEs from ONUs, expanding the pool of supported devices. |
| 49 | |
| 50 | Finally the release provided bug fixes across the stack. Previously discussed were the ETCD stale information |
| 51 | fixes that ensured Proper Cleanup of resources in the storage after device/flows delete. Cleanup of VTFD and |
| 52 | other resources is also performed on the ONU. |
| 53 | Several fixes were brought in the ONU image upgrade procedures concerning multiple ONUs, allowing abort during any |
| 54 | phase and correct indication statuses. The ONU port locking state is also now correctly reported. Fixes were also |
| 55 | included for flow deletion operation during reconciliation and possible deadlocks for Flow/GemPort multi-uni scenarios. |
| 56 | Serialization was enhanced in omci-lib-go. For a complete list of bugs please refer to the Jira Issues section. |
| 57 | |
| 58 | On the testing front VOLTHA 2.9 expanded the openonu suite with new multi-uni and multi-olt tests, extending the ONU |
| 59 | software update success and failure scenarios. 2.9 expands the TT multicast tests to 7 tests from the basic first |
| 60 | test. Container restart tests now include a continuous background ping. ONU delete and re-add is also tested, |
| 61 | alongside the before-mentioned correct device, subscriber and service information deletion across the stack. |
| 62 | Furthermore 3 new OLTs were added to Certification for both the 2.8 and 2.9 releases, Radisys 1600G and 1600X and |
| 63 | the ADTRAN 6320. |
| 64 | |
| 65 | During the 2.9 release also key design discussions have been happening to have BBF relationship and design discussion |
| 66 | for IPv6, Plain Old Telephone Support (POTS), LAG and the next iteration of a controller for VOLTHA that will replace |
| 67 | ONOS. |
| 68 | |
| 69 | Along 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 |
| 71 | Introduce PON-ID related APIs, port mapping labels and auto-negotiation parameters. |
| 72 | |
| 73 | |
| 74 | Features & 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 | |
| 109 | Bug 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 | |
| 131 | Test |
| 132 | ---- |
| 133 | |
| 134 | Voltha-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 | |
| 149 | Design 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 | |
| 161 | Documentation |
| 162 | ------------- |
| 163 | |
| 164 | - Updated documentation with alarms, meters/bandwidth profiles and several other enhancements |
| 165 | is published on https://docs.voltha.org |
| 166 | |
| 167 | Known 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 | |
| 176 | Certification Program |
| 177 | --------------------- |
| 178 | |
| 179 | Thanks to the `Continuous Certification <https://opennetworking.org/continuous-certification-program>`_ program at |
| 180 | ONF 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 | |
| 193 | In particular the 2.8 release added the Radisys 3200G GPON OLT. |
| 194 | |
| 195 | Jira stories |
| 196 | ------------ |
| 197 | A 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 | |
| 200 | Component Versions in VOLTHA 2.9 release |
| 201 | ---------------------------------------- |
| 202 | |
Andrea Campanella | 38a06f9 | 2021-12-01 15:49:28 -0800 | [diff] [blame] | 203 | ONOS 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 | |
| 209 | ONOS 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 Campanella | 5e77613 | 2022-01-14 11:20:44 +0100 | [diff] [blame] | 217 | - `olt <https://gerrit.opencord.org/gitweb?p=olt.git;a=summary>`_: ``5.0.1`` |
Andrea Campanella | 38a06f9 | 2021-12-01 15:49:28 -0800 | [diff] [blame] | 218 | - `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 | |
| 223 | VOLTHA Components: |
| 224 | ++++++++++++++++++ |
| 225 | |
Andrea Campanella | f31c4fd | 2021-12-28 11:40:03 +0100 | [diff] [blame] | 226 | - `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 Campanella | 38a06f9 | 2021-12-01 15:49:28 -0800 | [diff] [blame] | 227 | - `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 Campanella | 5e77613 | 2022-01-14 11:20:44 +0100 | [diff] [blame] | 232 | - `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 Campanella | 38a06f9 | 2021-12-01 15:49:28 -0800 | [diff] [blame] | 234 | - `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 | |
| 241 | Helm Chart Versions: |
| 242 | ++++++++++++++++++++ |
| 243 | This section refers to the macro charts to deploy the required infrastructure and a (or many) VOLTHA stacks: |
Andrea Campanella | 5e77613 | 2022-01-14 11:20:44 +0100 | [diff] [blame] | 244 | - Voltha-infra: ``2.9.13`` |
| 245 | - Voltha-stack: ``2.9.17`` |
Andrea Campanella | 38a06f9 | 2021-12-01 15:49:28 -0800 | [diff] [blame] | 246 | |
| 247 | BAL Version: |
| 248 | ++++++++++++ |
| 249 | Broadcom abstraction layer (BAL) version: ``3.10.2.2``. |
| 250 | |
| 251 | Openolt Agent packages: |
| 252 | +++++++++++++++++++++++ |
| 253 | **EdgeCore** |
| 254 | Get access credentials for https://edgecore.quickconnect.to from Edgecore. |
| 255 | Then 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, |
| 258 | and pick the suitable OLT debian package based on ``BAL 3.10.2.2`` applicable for you. |
| 259 | Please 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`` |
| 261 | for running ``BAL 3.10.2.2``. |
| 262 | |
| 263 | **Radisys** |
| 264 | Please write to `Cameron Lundberg <cameron.lundberg@radisys.com>`_ with `Girish Gowdra <cameron.lundberg@radisys.com>`_ |
| 265 | to get the OLT debian package validated on 3200G, 1600x and 1600G platforms for VOLTHA-2.9 release |
| 266 | |