blob: 13d753f04d41b49534a8f98bdcd4ab7bd4efff05 [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:
103- Edgecore ASGVolt64 GPON OLT
104- Edgecore ASXVolt16 XGSGPON OLT
105- Sercomm F1000 GPON ONU
106- Edgecore 6712-32X Switch
107- Edgecore 7712-32X Switch
108
109VOLTHA 2.6 is also tested with other brands, such as Alpha, Iskratel, Tibit but they are not enrolled in the
110continuous certification program thus do not appear in the list.
111
112
113Jira stories
114------------
115A full list of stories and bugs completed can be found under the
116`VOLTHA 2.6 <https://jira.opencord.org/secure/ReleaseNote.jspa?projectId=10106&version=11900>`_ release page in Jira.
117
118Component Versions in VOLTHA 2.6 release
119----------------------------------------
120
121ONOS:
122++++++++++
123
124- `ONOS 2.2 LTS <https://github.com/opennetworkinglab/onos/releases/tag/2.2.7>`_: ``2.2.7``
125
126ONOS Apps:
127++++++++++
128
129- `aaa <https://gerrit.opencord.org/gitweb?p=aaa.git;a=summary>`_: ``2.2.0``
130- `dhcpl2relay <https://gerrit.opencord.org/gitweb?p=dhcpl2relay.git;a=summary>`_: ``2.3.0``
131- `igmpproxy <https://gerrit.opencord.org/gitweb?p=igmpproxy.git;a=summary>`_: ``2.1.2``
132- `kafka <https://gerrit.opencord.org/gitweb?p=kafka-onos.git;a=summary>`_: ``2.5.0``
133- `mcast <https://gerrit.opencord.org/gitweb?p=mcast.git;a=summary>`_: ``2.1.0``
134- `olt <https://gerrit.opencord.org/gitweb?p=olt.git;a=summary>`_: ``4.3.0``
135- `sadis <https://gerrit.opencord.org/gitweb?p=sadis.git;a=summary>`_: ``5.2.0``
136
137VOLTHA Components:
138++++++++++++++++++
139
140- `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``
141- `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``
142- `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``
143- `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``
144- `voltctl <https://gerrit.opencord.org/gitweb?p=voltctl.git;a=tree>`_ - ``1.3.1``
145- `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``
146- `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``
147- `voltha-openonu-adapter <https://github.com/opencord/voltha-openonu-adapter/releases/tag/2.6.0>`_ - ``2.6.0`` with chart ``2.6.10``
148- `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``
149- `openolt agent <https://gerrit.opencord.org/gitweb?p=openolt.git;a=tree;h=refs/heads/voltha-2.6>`_ - ``3.2.1``
150- `voltha-protos <https://github.com/opencord/voltha-protos/releases/tag/v4.0.5>`_ - ``4.0.5``
151- `voltha-lib-go <https://github.com/opencord/voltha-lib-go/releases/tag/v4.0.3>`_ - ``4.0.3``
152- `pyvoltha <https://github.com/opencord/pyvoltha/releases/tag/2.5.7>`_ - ``2.5.7``
153- `Bbsim-sadis-server <https://github.com/opencord/bbsim-sadis-server/releases/tag/v0.1.3>`_ - ``0.1.4`` with chart ``0.0.5``
154- `kind-voltha <https://gerrit.opencord.org/gitweb?p=kind-voltha.git>`_ - ``6.0.0``
155
156**Available from EdgeCore site**
157
158- Out of band management
159
160 - ONL version (both GPON and XGSPON) ONL-onl-4.14_ONL-OS8_2020-04-14.1946-72b95a7_AMD64_INSTALLED_INSTALLER available
161 at /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution
162 - for ASFVOLT16 available, from /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6/:
163
164 - ``openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-100G-NNI.deb`` if 100G NNI port is used
165 - ``openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb`` if 40G NNI port is used.
166
167 - for ASGVOLT64 available at /ASGvOLT64/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6:
168
169 - ``openolt_asgvolt64-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-100G-NNI.deb`` if 100G NNI port is used
170 - ``openolt_asgvolt64-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb`` if 40G NNI port is used.
171
172- In band management
173
174 - use ONL image, comprising of Bal and openolt (available from edgecore site) for ASFVOLT16
175 ONL-onl-4.14_ONL-OS8_2020-11-22.1509-72b95a7_AMD64_INSTALLED_INSTALLER-40G-NNI,
176 available at /ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/voltha-2.6/IN-BAND.
177 Note that debian package available as part of the ONL support 40G NNI by default.
178
179
180Get access credentials for https://edgecore.quickconnect.to and then login
181and navigate to File_Station -> EdgecoreNAS, and then the folder
182/ASXvOLT16/OpenOLT_Agent/From_ONF_Distribution/ and pick the version above