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