| VOLTHA 2.6 Release Notes |
| ======================== |
| |
| Highlights |
| ---------- |
| |
| The release of VOLTHA-2.6 and ONOS 2.2.7 comes with two major accomplishments. |
| |
| First, the move of a key VOLTHA component - the openonu adapter - from python to golang, nearly a year long effort, |
| has come to fruition in this release. The outstanding performance of the new adapter makes it possible to run only a |
| single instance of the adapter (in a VOLTHA stack) to do the job that took 8 instances of the python version. |
| The golang version also paves the way for features such as ONU software upgrade to be implemented in upcoming releases. |
| With this release, we deprecate the python version, which will no longer be supported in future releases. |
| |
| Second, this release significantly improves the scale of a VOLTHA pod to up to 10k subscribers in steady-state, |
| where a VOLTHA pod is a collection of VOLTHA stacks interacting with shared infrastructure of ONOS, etcd and Kafka |
| clusters. This represents a 10X improvement in scale over previous releases for all three operator workflows. |
| Several factors contributed to the improvement including scale-optimizations in a single VOLTHA stack, streamlining |
| and parallelization in ONOS apps, the aforementioned move to the golang openonu adapter, as well as changes that |
| allowed the deployment of multiple VOLTHA stacks to share common infrastructure. |
| |
| Additional highlights include a new transactional error model between VOLTHA core and adapters, and a move in |
| the Helm charts for ETCD and KAFKA from incubator to upstream versions from BITNAMI. |
| |
| Along with VOLTHA 2.6, the Device Management Brigade also released a new version of the interface, which has been |
| implemented on BBSIM and has initial robot test cases. |
| |
| |
| Features & Improvements |
| ----------------------- |
| |
| - OpenONU GO feature complete and used as default |
| - BBSim Sadis server rewritten in Golang |
| - Flow replication in the openolt agent instead of the openolt adapter |
| - Parallelization and scale hardening of ONOS apps (aaa, dhcpl2relay) |
| - Multiple thread processing and offloading |
| |
| - Refactored AAA Statistic names |
| - Packet cloning and flow objective ordering in the DhcpL2Relay |
| - Per OLT pending queues |
| - Use of Option 82 in DHCP to carry around the access-port/vlan of the subscriber. |
| - Device Management Interface example server on top of BBSim |
| - Force delete of a device |
| - Move to upstream charts from BITNAMI for etcd and kafka |
| - OMCC encryption support |
| - OLT software upgrade support (in-band mode only) |
| - Migration to BAL 3.4.9.6 |
| - Trap handling improvements in openolt-agent |
| |
| - Include the VLAN in the trap flows |
| - Avoid unwanted traffic |
| - Jaeger integration to openonu-go adapter |
| |
| |
| Development/Deployment process |
| ------------------------------ |
| |
| - Multi-stack support in kind-voltha and across the components |
| |
| Test |
| ---- |
| |
| Voltha-2.6 tests are available on `Jenkins <https://jenkins.opencord.org/>`_. |
| |
| - Multi-OLT tests with a single voltha stack on Physical Hardware and BBSim |
| - Use of the full suite of tests for openonu-go, both on hardware and BBSim |
| - New specific tests for openonu-go |
| - | Multi-stack scale tests, up to 10 VOLTHA stacks enabled one at a time on the three workflows for a total of |
| | 10240 ONUs supported in a single VOLTHA pod |
| |
| - | Maximum of 1k ONUs on a single VOLTHA stack. Tests were performed with 2 OLTs with 512 ONUs each on a single |
| | stack, but other combinations are possible, for example 5 OLTs with 200 ONUs each. |
| - Scale tests were performed on 3 physical servers (each one 32 cores Intel(R) Xeon(R) CPU D-1587 @ 1.70GHz, |
| | 132GB RAM, 120GB SSD) deploying a common infrastructure a 3 node ONOS cluster, a 3 note ETCD cluster and a 3 node |
| | kafka with zookeeper cluster and then 10 VOLTHA stacks comprised of of-agent, core, olt and onu adapter. |
| |
| - Initial Device management interface tests. |
| |
| |
| Design Discussions |
| ------------------ |
| |
| - PPPoE contribution over VOLTHA (Furukawa) |
| - MPLS Pseudowire at the OLT (DT) |
| - Software upgrade (ONF, Ciena, Community) |
| - Preparation for EPON support (NTT and Furukawa Electric) |
| |
| |
| Documentation |
| ------------- |
| |
| - Updated documentation with workflow specific orientation and published on https://docs.voltha.org |
| |
| Known Issues |
| ------------ |
| |
| - `VOL-3542 <https://jira.opencord.org/browse/VOL-3542>`_: Missing Mib Audit from the new openonu go adapter. |
| - `VOL-3709 <https://jira.opencord.org/browse/VOL-3709>`_: Scale tests were performed with the etcd incubator charts |
| - `VOL-3708 <https://jira.opencord.org/browse/VOL-3708>`_: Scale test results do not include multicast in TT workflow |
| - `VOL-3707 <https://jira.opencord.org/browse/VOL-3707>`_: Support for Multiple instances of the openonu go adapter |
| - `VOL-3732 <https://jira.opencord.org/browse/VOL-3732>`_: Non-zero pbit traffic dropped in the downstream direction |
| in ATT workflow. |
| |
| Certification Program |
| --------------------- |
| |
| Thanks to the `Continuous Certification <https://opennetworking.org/continuous-certification-program>`_ program at |
| ONF we can also ensure that the following devices are compatible with the VOLTHA 2.6 release: |
| |
| - Edgecore ASGVolt64 GPON OLT |
| - Edgecore ASXVolt16 XGSGPON OLT |
| - Sercomm FG1000 GPON ONU |
| - Sercomm Glasfaser GPON ONU |
| - Edgecore 6712-32X Switch |
| - Edgecore 7712-32X Switch |
| |
| Jira stories |
| ------------ |
| A full list of stories and bugs completed can be found under the |
| `VOLTHA 2.6 <https://jira.opencord.org/projects/VOL/versions/11500>`_ release page in Jira. |
| |
| Component Versions in VOLTHA 2.6 release |
| ---------------------------------------- |
| |
| ONOS: |
| ++++++++++ |
| |
| - `ONOS 2.2 LTS <https://github.com/opennetworkinglab/onos/releases/tag/2.2.7>`_: ``2.2.7`` |
| |
| ONOS Apps: |
| ++++++++++ |
| |
| - `aaa <https://gerrit.opencord.org/gitweb?p=aaa.git;a=summary>`_: ``2.2.0`` |
| - `dhcpl2relay <https://gerrit.opencord.org/gitweb?p=dhcpl2relay.git;a=summary>`_: ``2.3.0`` |
| - `igmpproxy <https://gerrit.opencord.org/gitweb?p=igmpproxy.git;a=summary>`_: ``2.1.2`` |
| - `kafka <https://gerrit.opencord.org/gitweb?p=kafka-onos.git;a=summary>`_: ``2.5.0`` |
| - `mcast <https://gerrit.opencord.org/gitweb?p=mcast.git;a=summary>`_: ``2.1.0`` |
| - `olt <https://gerrit.opencord.org/gitweb?p=olt.git;a=summary>`_: ``4.3.0`` |
| - `sadis <https://gerrit.opencord.org/gitweb?p=sadis.git;a=summary>`_: ``5.2.0`` |
| |
| VOLTHA Components: |
| ++++++++++++++++++ |
| |
| - `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`` |
| - `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`` |
| - `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`` |
| - `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`` |
| - `voltctl <https://gerrit.opencord.org/gitweb?p=voltctl.git;a=tree>`_ - ``1.3.1`` |
| - `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`` |
| - `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`` |
| - `voltha-openonu-adapter <https://github.com/opencord/voltha-openonu-adapter/releases/tag/2.6.0>`_ - ``2.6.0`` with chart ``2.6.10`` |
| - `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`` |
| - `openolt agent <https://gerrit.opencord.org/gitweb?p=openolt.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``3.2.1`` |
| - `voltha-protos <https://github.com/opencord/voltha-protos/releases/tag/v4.0.5>`_ - ``4.0.5`` |
| - `voltha-lib-go <https://github.com/opencord/voltha-lib-go/releases/tag/v4.0.3>`_ - ``4.0.3`` |
| - `pyvoltha <https://github.com/opencord/pyvoltha/releases/tag/2.5.7>`_ - ``2.5.7`` |
| - `Bbsim-sadis-server <https://github.com/opencord/bbsim-sadis-server/releases/tag/v0.1.3>`_ - ``0.1.4`` with chart ``0.0.5`` |
| - `kind-voltha <https://gerrit.opencord.org/gitweb?p=kind-voltha.git>`_ - ``6.0.0`` |
| |
| **Available from EdgeCore site** |
| |
| - Out of band management |
| |
| - ONL version (both GPON and XGSPON) ONL-onl-4.14_ONL-OS8_2020-04-14.1946-72b95a7_AMD64_INSTALLED_INSTALLER available |
| at /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution |
| - for ASFVOLT16 available, from /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6/: |
| |
| - ``openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-100G-NNI.deb`` if 100G NNI port is used |
| - ``openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb`` if 40G NNI port is used. |
| |
| - for ASGVOLT64 available at /ASGvOLT64/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6: |
| |
| - ``openolt_asgvolt64-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-100G-NNI.deb`` if 100G NNI port is used |
| - ``openolt_asgvolt64-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb`` if 40G NNI port is used. |
| |
| - In band management |
| |
| - use ONL image, comprising of Bal and openolt (available from edgecore site) for ASFVOLT16 |
| ONL-onl-4.14_ONL-OS8_2020-11-22.1509-72b95a7_AMD64_INSTALLED_INSTALLER-40G-NNI, |
| available at /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6/IN-BAND. |
| Note that debian package available as part of the ONL support 40G NNI by default. |
| |
| |
| Get access credentials for https://edgecore.quickconnect.to and then login |
| and navigate to File_Station -> EdgecoreNAS, and then the folder |
| /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/ and pick the version above |