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.lfbroadband.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 (LF BB, 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://lf-broadband.atlassian.net/browse/VOL-3542>`_: Missing Mib Audit from the new openonu go adapter.
- `VOL-3709 <https://lf-broadband.atlassian.net/browse/VOL-3709>`_: Scale tests were performed with the etcd incubator charts
- `VOL-3708 <https://lf-broadband.atlassian.net/browse/VOL-3708>`_: Scale test results do not include multicast in TT workflow
- `VOL-3707 <https://lf-broadband.atlassian.net/browse/VOL-3707>`_: Support for Multiple instances of the openonu go adapter
- `VOL-3732 <https://lf-broadband.atlassian.net/browse/VOL-3732>`_: Non-zero pbit traffic dropped in the downstream direction
  in ATT workflow.

Certification Program
---------------------

Thanks to the `Continuous Certification <https://lfbroadband.org/continuous-certification-program>`_ program at
LF BB 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://lf-broadband.atlassian.net/projects/VOL/versions/10004/tab/release-report-all-issues>`_ 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.lfbroadband.org/gitweb?p=aaa.git;a=summary>`_: ``2.2.0``
- `dhcpl2relay <https://gerrit.lfbroadband.org/gitweb?p=dhcpl2relay.git;a=summary>`_: ``2.3.0``
- `igmpproxy <https://gerrit.lfbroadband.org/gitweb?p=igmpproxy.git;a=summary>`_: ``2.1.2``
- `kafka <https://gerrit.lfbroadband.org/gitweb?p=kafka-onos.git;a=summary>`_: ``2.5.0``
- `mcast <https://gerrit.lfbroadband.org/gitweb?p=mcast.git;a=summary>`_: ``2.1.0``
- `olt <https://gerrit.lfbroadband.org/gitweb?p=olt.git;a=summary>`_: ``4.3.0``
- `sadis <https://gerrit.lfbroadband.org/gitweb?p=sadis.git;a=summary>`_: ``5.2.0``

VOLTHA Components:
++++++++++++++++++

- `Helm Charts (voltha-helm-charts) <https://gerrit.lfbroadband.org/gitweb?p=voltha-helm-charts.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``2.6.0``
- `bbsim <https://gerrit.lfbroadband.org/gitweb?p=bbsim.git;a=tree>`_- ``1.4.2`` with `chart <https://gerrit.lfbroadband.org/gitweb?p=helm-charts.git;a=tree;f=bbsim>`_ ``4.1.6``
- `voltha-go <https://gerrit.lfbroadband.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.lfbroadband.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.lfbroadband.org/gitweb?p=voltctl.git;a=tree>`_ - ``1.3.1``
- `voltha-openolt-adapter <https://gerrit.lfbroadband.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.lfbroadband.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.lfbroadband.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.lfbroadband.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.lfbroadband.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_LF_BB_Distribution
  - for ASFVOLT16 available, from /ASXvOLT16/OpenOLT_Agent/From_LF_BB_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_LF_BB_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_LF_BB_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_LF_BB_Distribution/ and pick the version above
