Andrea Campanella | cb11852 | 2020-12-14 17:59:44 +0100 | [diff] [blame] | 1 | VOLTHA 2.6 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | Highlights |
| 5 | ---------- |
| 6 | |
| 7 | The release of VOLTHA-2.6 and ONOS 2.2.7 comes with two major accomplishments. |
| 8 | |
| 9 | First, the move of a key VOLTHA component - the openonu adapter - from python to golang, nearly a year long effort, |
| 10 | has come to fruition in this release. The outstanding performance of the new adapter makes it possible to run only a |
| 11 | single instance of the adapter (in a VOLTHA stack) to do the job that took 8 instances of the python version. |
| 12 | The golang version also paves the way for features such as ONU software upgrade to be implemented in upcoming releases. |
| 13 | With this release, we deprecate the python version, which will no longer be supported in future releases. |
| 14 | |
| 15 | Second, this release significantly improves the scale of a VOLTHA pod to up to 10k subscribers in steady-state, |
| 16 | where a VOLTHA pod is a collection of VOLTHA stacks interacting with shared infrastructure of ONOS, etcd and Kafka |
| 17 | clusters. This represents a 10X improvement in scale over previous releases for all three operator workflows. |
| 18 | Several factors contributed to the improvement including scale-optimizations in a single VOLTHA stack, streamlining |
| 19 | and parallelization in ONOS apps, the aforementioned move to the golang openonu adapter, as well as changes that |
| 20 | allowed the deployment of multiple VOLTHA stacks to share common infrastructure. |
| 21 | |
| 22 | Additional highlights include a new transactional error model between VOLTHA core and adapters, and a move in |
| 23 | the Helm charts for ETCD and KAFKA from incubator to upstream versions from BITNAMI. |
| 24 | |
| 25 | Along with VOLTHA 2.6, the Device Management Brigade also released a new version of the interface, which has been |
| 26 | implemented on BBSIM and has initial robot test cases. |
| 27 | |
| 28 | |
| 29 | Features & Improvements |
| 30 | ----------------------- |
| 31 | |
| 32 | - OpenONU GO feature complete and used as default |
| 33 | - BBSim Sadis server rewritten in Golang |
| 34 | - Flow replication in the openolt agent instead of the openolt adapter |
| 35 | - Parallelization and scale hardening of ONOS apps (aaa, dhcpl2relay) |
| 36 | - Multiple thread processing and offloading |
Girish Gowdra | 5c4f562 | 2021-01-04 15:56:15 -0800 | [diff] [blame] | 37 | |
Andrea Campanella | cb11852 | 2020-12-14 17:59:44 +0100 | [diff] [blame] | 38 | - Refactored AAA Statistic names |
| 39 | - Packet cloning and flow objective ordering in the DhcpL2Relay |
| 40 | - Per OLT pending queues |
| 41 | - Use of Option 82 in DHCP to carry around the access-port/vlan of the subscriber. |
| 42 | - Device Management Interface example server on top of BBSim |
| 43 | - Force delete of a device |
| 44 | - Move to upstream charts from BITNAMI for etcd and kafka |
| 45 | - OMCC encryption support |
| 46 | - OLT software upgrade support (in-band mode only) |
| 47 | - Migration to BAL 3.4.9.6 |
Girish Gowdra | 5c4f562 | 2021-01-04 15:56:15 -0800 | [diff] [blame] | 48 | - Trap handling improvements in openolt-agent |
| 49 | |
| 50 | - Include the VLAN in the trap flows |
| 51 | - Avoid unwanted traffic |
| 52 | - Jaeger integration to openonu-go adapter |
Andrea Campanella | cb11852 | 2020-12-14 17:59:44 +0100 | [diff] [blame] | 53 | |
| 54 | |
| 55 | Development/Deployment process |
| 56 | ------------------------------ |
| 57 | |
| 58 | - Multi-stack support in kind-voltha and across the components |
| 59 | |
| 60 | Test |
| 61 | ---- |
| 62 | |
Andrea Campanella | e0a7e52 | 2021-03-26 15:45:48 +0100 | [diff] [blame] | 63 | Voltha-2.6 tests are available on `Jenkins <https://jenkins.opencord.org/>`_. |
Andrea Campanella | cb11852 | 2020-12-14 17:59:44 +0100 | [diff] [blame] | 64 | |
| 65 | - Multi-OLT tests with a single voltha stack on Physical Hardware and BBSim |
| 66 | - Use of the full suite of tests for openonu-go, both on hardware and BBSim |
| 67 | - New specific tests for openonu-go |
| 68 | - | Multi-stack scale tests, up to 10 VOLTHA stacks enabled one at a time on the three workflows for a total of |
| 69 | | 10240 ONUs supported in a single VOLTHA pod |
| 70 | |
| 71 | - | Maximum of 1k ONUs on a single VOLTHA stack. Tests were performed with 2 OLTs with 512 ONUs each on a single |
| 72 | | stack, but other combinations are possible, for example 5 OLTs with 200 ONUs each. |
| 73 | - Scale tests were performed on 3 physical servers (each one 32 cores Intel(R) Xeon(R) CPU D-1587 @ 1.70GHz, |
| 74 | | 132GB RAM, 120GB SSD) deploying a common infrastructure a 3 node ONOS cluster, a 3 note ETCD cluster and a 3 node |
| 75 | | kafka with zookeeper cluster and then 10 VOLTHA stacks comprised of of-agent, core, olt and onu adapter. |
| 76 | |
| 77 | - Initial Device management interface tests. |
| 78 | |
| 79 | |
| 80 | Design Discussions |
| 81 | ------------------ |
| 82 | |
| 83 | - PPPoE contribution over VOLTHA (Furukawa) |
| 84 | - MPLS Pseudowire at the OLT (DT) |
| 85 | - Software upgrade (ONF, Ciena, Community) |
| 86 | - Preparation for EPON support (NTT and Furukawa Electric) |
| 87 | |
| 88 | |
| 89 | Documentation |
| 90 | ------------- |
| 91 | |
| 92 | - Updated documentation with workflow specific orientation and published on https://docs.voltha.org |
| 93 | |
| 94 | Known Issues |
| 95 | ------------ |
| 96 | |
| 97 | - `VOL-3542 <https://jira.opencord.org/browse/VOL-3542>`_: Missing Mib Audit from the new openonu go adapter. |
| 98 | - `VOL-3709 <https://jira.opencord.org/browse/VOL-3709>`_: Scale tests were performed with the etcd incubator charts |
| 99 | - `VOL-3708 <https://jira.opencord.org/browse/VOL-3708>`_: Scale test results do not include multicast in TT workflow |
| 100 | - `VOL-3707 <https://jira.opencord.org/browse/VOL-3707>`_: Support for Multiple instances of the openonu go adapter |
| 101 | - `VOL-3732 <https://jira.opencord.org/browse/VOL-3732>`_: Non-zero pbit traffic dropped in the downstream direction |
| 102 | in ATT workflow. |
| 103 | |
| 104 | Certification Program |
| 105 | --------------------- |
| 106 | |
| 107 | Thanks to the `Continuous Certification <https://opennetworking.org/continuous-certification-program>`_ program at |
| 108 | ONF we can also ensure that the following devices are compatible with the VOLTHA 2.6 release: |
Girish Gowdra | 93b0028 | 2020-12-18 14:51:05 -0800 | [diff] [blame] | 109 | |
Andrea Campanella | cb11852 | 2020-12-14 17:59:44 +0100 | [diff] [blame] | 110 | - Edgecore ASGVolt64 GPON OLT |
| 111 | - Edgecore ASXVolt16 XGSGPON OLT |
Girish Gowdra | 93b0028 | 2020-12-18 14:51:05 -0800 | [diff] [blame] | 112 | - Sercomm FG1000 GPON ONU |
| 113 | - Sercomm Glasfaser GPON ONU |
Andrea Campanella | cb11852 | 2020-12-14 17:59:44 +0100 | [diff] [blame] | 114 | - Edgecore 6712-32X Switch |
| 115 | - Edgecore 7712-32X Switch |
| 116 | |
Andrea Campanella | cb11852 | 2020-12-14 17:59:44 +0100 | [diff] [blame] | 117 | Jira stories |
| 118 | ------------ |
| 119 | A full list of stories and bugs completed can be found under the |
Girish Gowdra | 93b0028 | 2020-12-18 14:51:05 -0800 | [diff] [blame] | 120 | `VOLTHA 2.6 <https://jira.opencord.org/projects/VOL/versions/11500>`_ release page in Jira. |
Andrea Campanella | cb11852 | 2020-12-14 17:59:44 +0100 | [diff] [blame] | 121 | |
| 122 | Component Versions in VOLTHA 2.6 release |
| 123 | ---------------------------------------- |
| 124 | |
| 125 | ONOS: |
| 126 | ++++++++++ |
| 127 | |
| 128 | - `ONOS 2.2 LTS <https://github.com/opennetworkinglab/onos/releases/tag/2.2.7>`_: ``2.2.7`` |
| 129 | |
| 130 | ONOS Apps: |
| 131 | ++++++++++ |
| 132 | |
| 133 | - `aaa <https://gerrit.opencord.org/gitweb?p=aaa.git;a=summary>`_: ``2.2.0`` |
| 134 | - `dhcpl2relay <https://gerrit.opencord.org/gitweb?p=dhcpl2relay.git;a=summary>`_: ``2.3.0`` |
| 135 | - `igmpproxy <https://gerrit.opencord.org/gitweb?p=igmpproxy.git;a=summary>`_: ``2.1.2`` |
| 136 | - `kafka <https://gerrit.opencord.org/gitweb?p=kafka-onos.git;a=summary>`_: ``2.5.0`` |
| 137 | - `mcast <https://gerrit.opencord.org/gitweb?p=mcast.git;a=summary>`_: ``2.1.0`` |
| 138 | - `olt <https://gerrit.opencord.org/gitweb?p=olt.git;a=summary>`_: ``4.3.0`` |
| 139 | - `sadis <https://gerrit.opencord.org/gitweb?p=sadis.git;a=summary>`_: ``5.2.0`` |
| 140 | |
| 141 | VOLTHA Components: |
| 142 | ++++++++++++++++++ |
| 143 | |
| 144 | - `Helm Charts (voltha-helm-charts) <https://gerrit.opencord.org/gitweb?p=voltha-helm-charts.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``2.6.0`` |
| 145 | - `bbsim <https://gerrit.opencord.org/gitweb?p=bbsim.git;a=tree>`_- ``1.4.2`` with `chart <https://gerrit.opencord.org/gitweb?p=helm-charts.git;a=tree;f=bbsim>`_ ``4.1.6`` |
| 146 | - `voltha-go <https://gerrit.opencord.org/gitweb?p=voltha-go.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``2.6.3`` with chart ``2.7.2`` |
| 147 | - `ofagent-go <https://gerrit.opencord.org/gitweb?p=ofagent-go.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``1.4.2`` with chart ``2.7.2`` |
| 148 | - `voltctl <https://gerrit.opencord.org/gitweb?p=voltctl.git;a=tree>`_ - ``1.3.1`` |
| 149 | - `voltha-openolt-adapter <https://gerrit.opencord.org/gitweb?p=voltha-openolt-adapter.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``3.0.2`` with chart ``2.7.1`` |
| 150 | - `voltha-openonu-adapter-go <https://gerrit.opencord.org/gitweb?p=voltha-openonu-adapter-go.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``1.0.0`` with chart ``2.6.10`` |
| 151 | - `voltha-openonu-adapter <https://github.com/opencord/voltha-openonu-adapter/releases/tag/2.6.0>`_ - ``2.6.0`` with chart ``2.6.10`` |
| 152 | - `voltha-onos <https://gerrit.opencord.org/gitweb?p=voltha-onos.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``4.2.0`` with chart ``0.1.11`` |
| 153 | - `openolt agent <https://gerrit.opencord.org/gitweb?p=openolt.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``3.2.1`` |
| 154 | - `voltha-protos <https://github.com/opencord/voltha-protos/releases/tag/v4.0.5>`_ - ``4.0.5`` |
| 155 | - `voltha-lib-go <https://github.com/opencord/voltha-lib-go/releases/tag/v4.0.3>`_ - ``4.0.3`` |
| 156 | - `pyvoltha <https://github.com/opencord/pyvoltha/releases/tag/2.5.7>`_ - ``2.5.7`` |
| 157 | - `Bbsim-sadis-server <https://github.com/opencord/bbsim-sadis-server/releases/tag/v0.1.3>`_ - ``0.1.4`` with chart ``0.0.5`` |
| 158 | - `kind-voltha <https://gerrit.opencord.org/gitweb?p=kind-voltha.git>`_ - ``6.0.0`` |
| 159 | |
| 160 | **Available from EdgeCore site** |
| 161 | |
| 162 | - Out of band management |
| 163 | |
| 164 | - ONL version (both GPON and XGSPON) ONL-onl-4.14_ONL-OS8_2020-04-14.1946-72b95a7_AMD64_INSTALLED_INSTALLER available |
| 165 | at /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution |
| 166 | - for ASFVOLT16 available, from /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6/: |
| 167 | |
| 168 | - ``openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-100G-NNI.deb`` if 100G NNI port is used |
| 169 | - ``openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb`` if 40G NNI port is used. |
| 170 | |
| 171 | - for ASGVOLT64 available at /ASGvOLT64/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6: |
| 172 | |
| 173 | - ``openolt_asgvolt64-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-100G-NNI.deb`` if 100G NNI port is used |
| 174 | - ``openolt_asgvolt64-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb`` if 40G NNI port is used. |
| 175 | |
| 176 | - In band management |
| 177 | |
| 178 | - use ONL image, comprising of Bal and openolt (available from edgecore site) for ASFVOLT16 |
| 179 | ONL-onl-4.14_ONL-OS8_2020-11-22.1509-72b95a7_AMD64_INSTALLED_INSTALLER-40G-NNI, |
| 180 | available at /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6/IN-BAND. |
| 181 | Note that debian package available as part of the ONL support 40G NNI by default. |
| 182 | |
| 183 | |
| 184 | Get access credentials for https://edgecore.quickconnect.to and then login |
| 185 | and navigate to File_Station -> EdgecoreNAS, and then the folder |
| 186 | /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/ and pick the version above |