Andrea Campanella | e0a7e52 | 2021-03-26 15:45:48 +0100 | [diff] [blame] | 1 | VOLTHA 2.7 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | Highlights |
| 5 | ---------- |
| 6 | |
| 7 | The release of VOLTHA-2.7 and ONOS 2.2.8 focused on in-service software upgrade capability and specific improvements |
| 8 | targeted at production deployments. |
| 9 | |
| 10 | VOLTHA and ONOS now support in-service minor software upgrades with no impact to the user dataplane. The upgrade |
| 11 | capability has been introduced for all the VOLTHA services: of-agent, rw-core, olt adapter and onu adapter. |
| 12 | Similarly, the ONOS apps - sadis, olt, aaa, kafka, dhcpl2relay, mac-learning, igmpproxy, and mcast - can be upgraded |
| 13 | with no impact to the user. The “minor” software upgrade qualifier refers to an upgrade that does not involve API |
| 14 | changes, which in VOLTHA, refers to a change to the protos or to voltha-lib-go, and in ONOS to a change in the Java |
| 15 | interfaces, CLI commands or REST APIs. Changes to data-structures in storage (etcd for VOLTHA and Atomix for ONOS) are |
| 16 | also out of scope for in-service upgrades. Such changes qualify as “major” software upgrades that typically involve |
| 17 | maintenance windows. |
| 18 | |
| 19 | Software upgrade capability has also been introduced for ONU software images. The golang based openonu adapter is |
| 20 | now capable of downloading a new image to the ONU via OMCI and activating it, thereby allowing update of remote |
| 21 | devices at subscriber locations without truck-rolls. |
| 22 | |
| 23 | Several new features have been introduced as a result of other needs in production deployments. Performance Metrics |
| 24 | and Alarms capabilities allow the operator to better monitor the status of their network and receive early |
| 25 | notification of possible issues. AES encryption for the GEM ports improves security. The capability to distinguish |
| 26 | between OLT reboot and disconnect prevents service disruption if the olt-adapter and olt-agent temporarily |
| 27 | lose connectivity. |
| 28 | |
| 29 | VOLTHA 2.7 also comes with PPPoE intermediate agent support, thanks to extensions in the core and a new ONOS |
| 30 | application which installs trap rules to capture and handle PPPoE packets, allowing for user authentication and |
| 31 | dataplane provisioning. The PPPoE application also provides PPPoE statistics. In addition, an olt-topology application |
| 32 | was also introduced to allow operators to gather OLT peer switch information. Enhancements and bug fixes have been |
| 33 | introduced in the olt, igmpproxy and mcast applications to better support TT multicast at scale. |
| 34 | |
| 35 | All the described features, with the exception of the PPPoE and olt-topology apps, come with both a BBSim |
| 36 | implementation and integration tests on hardware and software pods. The robot based integration tests that run |
| 37 | nightly on hardware pods in the ONF infrastructure have now reached over 180+ tests. Preliminary tests have also |
| 38 | been introduced at scale for multicast in the Turk Telekom workflow, and long-term soak tests have been operational |
| 39 | for two weeks at the time of this release in a dedicated hardware soak-pod. |
| 40 | |
| 41 | Along with VOLTHA 2.7, the Device Management Brigade also released a new version |
| 42 | (`0.12.0 <https://github.com/opencord/device-management-interface/releases/tag/v0.12.0>`_) of the interface, |
| 43 | which has been implemented on BBSIM and has initial robot test cases. This DMI release introduces specific components, |
| 44 | better error reporting, startup config and logging capabilities. |
| 45 | |
| 46 | Features & Improvements |
| 47 | ----------------------- |
| 48 | |
| 49 | - In service software upgrade with minor versions for VOLTHA components and ONOS apps. |
| 50 | |
| 51 | - ONOS apps api version separated from app version to allow restart |
| 52 | - OLT pipeliner driver extracted from ONOS. |
| 53 | - ONU software upgrade capability |
| 54 | - Production requirements in the openonu adapter |
| 55 | |
| 56 | - Performance Metrics |
| 57 | - Alarms |
| 58 | - MIB audit and synchronization |
| 59 | - Reconciliation and in service restart |
| 60 | - Configurable list of ONU vendors. |
| 61 | - VEIP ONUs support |
| 62 | - Distinction between OLT channel disconnection and OLT reboot. |
| 63 | - AES encryption for GEM ports |
| 64 | - Integration of the OLT app with the mac learning for TT workflow. |
| 65 | - OLT Topology application to learn about OLT peers |
| 66 | - PPPoE support in VOLTHA stack with Intermediate Agent Application on ONOS |
| 67 | - Flow Error reporting form adapter to the core and to ONOS |
| 68 | - Scale improvements and fixes: |
| 69 | |
| 70 | - Validation of TCONT and Gem Port IDs at scale (both via OMCI and flows) |
| 71 | - Igmpproxy, mcast and olt for TT mcast workflow. |
| 72 | |
| 73 | Development/Deployment process |
| 74 | ------------------------------ |
| 75 | |
| 76 | - | Introduction of the voltha-infra and voltha-stack helm charts to deploy the across-stack |
| 77 | | infrastructure and the per stack volta services respectively. |
| 78 | |
| 79 | Test |
| 80 | ---- |
| 81 | |
| 82 | Voltha-2.7 tests are available on `Jenkins <https://jenkins.opencord.org/>`_. |
| 83 | |
| 84 | - VOLTHA components and ONOS Apps Software Update |
| 85 | - ONU software upgrade test on BBSIM |
| 86 | - Openonu adapter |
| 87 | |
| 88 | - restart and reconciliation tests |
| 89 | - multi-OLT |
| 90 | - ETCD data |
| 91 | - Performance Metrics |
| 92 | - OLT reboot vs disconnect |
| 93 | - TT scale multicast |
| 94 | - Enable/Disable Pon Port |
| 95 | - BBSIM per patchest sanity verification |
| 96 | - Soak tests for 15 days (stable with 515 ONUs) |
| 97 | |
| 98 | Design Discussions |
| 99 | ------------------ |
| 100 | |
| 101 | - Minor and Major In Service Software Update |
| 102 | - Storage and High Availability |
| 103 | - MPLS support |
| 104 | |
| 105 | Documentation |
| 106 | ------------- |
| 107 | |
| 108 | - Updated documentation with new voltha-stack and voltha-infra charts and published on https://docs.voltha.org |
| 109 | |
| 110 | Known Issues |
| 111 | ------------ |
| 112 | |
| 113 | - | When using in-band mode of management at the OLT, it is observed that the host CPU in-band interface does not get |
| 114 | | IP sometimes. The Qumran switch drops the DHCP OFFER packets in the downstream (CS00011119237) sometimes. |
| 115 | | The work around is to reboot the OLT. |
| 116 | |
| 117 | Certification Program |
| 118 | --------------------- |
| 119 | |
| 120 | Thanks to the `Continuous Certification <https://opennetworking.org/continuous-certification-program>`_ program at |
| 121 | ONF we can also ensure that the following ONF member products are compatible with the VOLTHA 2.7 release: |
| 122 | |
| 123 | - Edgecore ASGVolt64 GPON OLT |
| 124 | - Edgecore ASXVolt16 XGSGPON OLT |
| 125 | - Sercomm FG1000 GPON ONU |
| 126 | - Sercomm Glasfaser GPON ONU |
| 127 | - Edgecore 6712-32X Switch |
| 128 | - Edgecore 7712-32X Switch |
| 129 | |
| 130 | Jira stories |
| 131 | ------------ |
| 132 | A full list of stories and bugs completed can be found under the |
| 133 | `VOLTHA 2.7 <https://jira.opencord.org/projects/VOL/versions/11900>`_ release page in Jira. |
| 134 | |
| 135 | Component Versions in VOLTHA 2.7 release |
| 136 | ---------------------------------------- |
| 137 | |
Andrea Campanella | 148f4ec | 2021-04-20 15:35:53 +0200 | [diff] [blame] | 138 | ONOS and Atomix: |
| 139 | ++++++++++++++++ |
Andrea Campanella | e0a7e52 | 2021-03-26 15:45:48 +0100 | [diff] [blame] | 140 | |
| 141 | - `ONOS 2.2 LTS <https://github.com/opennetworkinglab/onos/releases/tag/2.2.8>`_: ``2.2.8`` |
Andrea Campanella | 148f4ec | 2021-04-20 15:35:53 +0200 | [diff] [blame] | 142 | - `ATOMIX <https://github.com/atomix/atomix/releases/tag/atomix-3.1.8>`_: ``3.1.8`` |
Andrea Campanella | e0a7e52 | 2021-03-26 15:45:48 +0100 | [diff] [blame] | 143 | |
| 144 | ONOS Apps: |
| 145 | ++++++++++ |
| 146 | |
| 147 | - `aaa <https://gerrit.opencord.org/gitweb?p=aaa.git;a=summary>`_: ``2.3.0`` |
| 148 | - `dhcpl2relay <https://gerrit.opencord.org/gitweb?p=dhcpl2relay.git;a=summary>`_: ``2.4.0`` |
| 149 | - `igmpproxy <https://gerrit.opencord.org/gitweb?p=igmpproxy.git;a=summary>`_: ``2.2.0`` |
| 150 | - `kafka <https://gerrit.opencord.org/gitweb?p=kafka-onos.git;a=summary>`_: ``2.6.0`` |
Andrea Campanella | 8d48028 | 2021-05-06 11:49:57 +0200 | [diff] [blame] | 151 | - `mcast <https://gerrit.opencord.org/gitweb?p=mcast.git;a=summary>`_: ``2.3.2`` |
Andrea Campanella | e0a7e52 | 2021-03-26 15:45:48 +0100 | [diff] [blame] | 152 | - `olt <https://gerrit.opencord.org/gitweb?p=olt.git;a=summary>`_: ``4.4.0`` |
| 153 | - `sadis <https://gerrit.opencord.org/gitweb?p=sadis.git;a=summary>`_: ``5.3.0`` |
| 154 | - `bng <https://gerrit.opencord.org/gitweb?p=bng.git;a=summary>`_: ``2.0.0`` |
| 155 | - `pppoeagent <https://gerrit.opencord.org/plugins/gitiles/pppoeagent/>`_: ``1.0.0`` |
| 156 | - `olttopology <https://gerrit.opencord.org/plugins/gitiles/olttopology/>`_: ``1.0.3`` |
| 157 | |
| 158 | VOLTHA Components: |
| 159 | ++++++++++++++++++ |
| 160 | |
| 161 | - `Helm Charts (voltha-helm-charts) <https://gerrit.opencord.org/gitweb?p=voltha-helm-charts.git;a=tree;h=refs/heads/voltha-2.7>`_ - ``2.7.0`` |
| 162 | - `bbsim <https://gerrit.opencord.org/gitweb?p=bbsim.git;a=tree>`_- ``1.5.2`` with `chart <https://gerrit.opencord.org/gitweb?p=helm-charts.git;a=tree;f=bbsim>`_ ``4.2.0`` |
| 163 | - `voltha-go <https://gerrit.opencord.org/gitweb?p=voltha-go.git;a=tree;h=refs/heads/voltha-2.7>`_ - ``2.7.0`` with chart ``2.8.3`` |
| 164 | - `ofagent-go <https://gerrit.opencord.org/gitweb?p=ofagent-go.git;a=tree;h=refs/heads/voltha-2.7>`_ - ``1.5.2`` with chart ``2.8.3`` |
| 165 | - `voltctl <https://gerrit.opencord.org/gitweb?p=voltctl.git;a=tree>`_ - ``1.4.4`` |
| 166 | - `voltha-openolt-adapter <https://gerrit.opencord.org/gitweb?p=voltha-openolt-adapter.git;a=tree;h=refs/heads/voltha-2.7>`_ - ``3.1.8`` with chart ``2.8.8`` |
Andrea Campanella | 177615d | 2021-05-20 18:35:51 +0200 | [diff] [blame] | 167 | - `voltha-openonu-adapter-go <https://gerrit.opencord.org/gitweb?p=voltha-openonu-adapter-go.git;a=tree;h=refs/heads/voltha-2.7>`_ - ``1.2.14`` with chart ``2.7.17`` |
Andrea Campanella | e0a7e52 | 2021-03-26 15:45:48 +0100 | [diff] [blame] | 168 | - `voltha-onos <https://gerrit.opencord.org/gitweb?p=voltha-onos.git;a=tree;h=refs/heads/voltha-2.7>`_ - ``4.3.1`` with chart ``0.1.13`` |
| 169 | - `openolt agent <https://gerrit.opencord.org/gitweb?p=openolt.git;a=tree;h=refs/heads/voltha-2.7>`_ - ``3.3.3`` |
| 170 | - `voltha-protos <https://github.com/opencord/voltha-protos/releases/tag/v4.0.5>`_ - ``4.0.16`` |
| 171 | - `voltha-lib-go <https://github.com/opencord/voltha-lib-go/releases/tag/v4.0.3>`_ - ``4.1.1`` |
| 172 | - `Bbsim-sadis-server <https://github.com/opencord/bbsim-sadis-server/releases/tag/v0.1.3>`_ - ``0.1.4`` with chart ``0.1.1`` |
| 173 | - `kind-voltha <https://gerrit.opencord.org/gitweb?p=kind-voltha.git>`_ - ``6.1.0`` |
| 174 | |
| 175 | Helm Chart Versions: |
| 176 | ++++++++++++++++++++ |
| 177 | This section refers to the macro charts to deploy the required infrastructure and a (or many) VOLTHA stacks: |
| 178 | - Voltha-infra: ``0.1.13`` |
Andrea Campanella | 177615d | 2021-05-20 18:35:51 +0200 | [diff] [blame] | 179 | - Voltha-stack: ``0.1.19`` |
Andrea Campanella | e0a7e52 | 2021-03-26 15:45:48 +0100 | [diff] [blame] | 180 | |
| 181 | |
| 182 | **Available from EdgeCore site** |
| 183 | |
| 184 | - Out of band management |
| 185 | |
| 186 | - ONL version (both GPON and XGSPON) ONL-onl-4.14_ONL-OS8_2020-04-14.1946-72b95a7_AMD64_INSTALLED_INSTALLER available |
| 187 | at /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution |
| 188 | - for ASFVOLT16 available, from /ASFvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.7/OUT-OF-BAND.: |
| 189 | |
| 190 | - ``openolt_asfvolt16-3.3.3-1a5d68b50d8bcc5ba6cb1630d3294c30c37cd2f5-100G-NNI.deb`` if 100G NNI port is used |
| 191 | - ``openolt_asfvolt16-3.3.3-1a5d68b50d8bcc5ba6cb1630d3294c30c37cd2f5-40G-NNI.deb`` if 40G NNI port is used. |
| 192 | |
| 193 | - for ASGVOLT64 available at /ASGvOLT64/OpenOLT_Agent/From_ONF_Distribution/voltha-2.7/OUT-OF-BAND: |
| 194 | |
| 195 | - ``openolt_asgvolt64-3.3.3-1a5d68b50d8bcc5ba6cb1630d3294c30c37cd2f5-100G-NNI.deb`` if 100G NNI port is used |
| 196 | - ``openolt_asgvolt64-3.3.3-1a5d68b50d8bcc5ba6cb1630d3294c30c37cd2f5-40G-NNI.deb`` if 40G NNI port is used. |
| 197 | |
| 198 | - In band management |
| 199 | |
| 200 | - use ONL image, comprising of Bal and openolt (available from edgecore site) for ASFVOLT16 |
| 201 | ONL-onl-4.14_ONL-OS8_2021-03-19.0322-72b95a7_AMD64_INSTALLED_INSTALLER-40G-NNI, |
| 202 | available at /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.7/IN-BAND. |
| 203 | Note that debian package available as part of the ONL support 40G NNI by default. |
| 204 | |
| 205 | |
| 206 | Get access credentials for https://edgecore.quickconnect.to and then login |
| 207 | and navigate to File_Station -> EdgecoreNAS, and then the folder |
| 208 | /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/ and pick the version above |