blob: 5990759dd7b7f18412c68d8439a1b9187bd73f3c [file] [log] [blame]
Zack Williams071eda22019-05-15 18:19:51 -07001VOLTHA Documentation
2====================
3
Zack Williams16042b62020-03-29 22:03:16 -07004`VOLTHA (Virtual OLT Hardware Abstraction
Serkant Uluderya6db98942026-03-26 09:53:57 -07005<https://lfbroadband.org/projects/voltha/>`_ is an open source project to create a
Zack Williams16042b62020-03-29 22:03:16 -07006hardware abstraction for broadband access equipment. It supports the principle
7of multi-vendor, disaggregated, "any broadband access as a service" for the
8Telco Central Office.
Zack Williams071eda22019-05-15 18:19:51 -07009
Zack Williams16042b62020-03-29 22:03:16 -070010Key concepts in VOLTHA:
11
12- **Network as a Switch**: It makes a set of connected access network devices
13 to look like a SDN programmable switch.
14
15- **Evolution to virtualization**: it can work with a variety of access network
16 technologies and devices
17
18- **Unified OAM abstraction**: it provides unified, vendor- and technology
19 agnostic handling of device management tasks, such as service lifecycle,
20 device lifecycle (including discovery, upgrade), system monitoring, alarms,
21 troubleshooting, security, etc.
22
23- **Cloud/DevOps bridge to modernization**: it does all above while using a
24 microservices architecture running on top of Docker and/or Kubernetes.
25
Serkant Uluderya6db98942026-03-26 09:53:57 -070026VOLTHA is a project under the `Linux Foundation Broadband <https://lfbroadband.org>`.
Zack Williams16042b62020-03-29 22:03:16 -070027
Andrea Campanella71221c82021-02-01 14:40:48 +010028.. figure:: ./_static/voltha_diagram.svg
Zack Williams16042b62020-03-29 22:03:16 -070029 :alt: VOLTHA Component Diagram
30 :width: 70%
Andrea Campanella71221c82021-02-01 14:40:48 +010031 :align: center
Zack Williams16042b62020-03-29 22:03:16 -070032
33 VOLTHA Component Diagram
34
Matteo Scandoloef5d6f42020-07-27 16:46:38 -070035Here some quick links to get you started:
36
Andrea Campanella71221c82021-02-01 14:40:48 +010037- :doc:`./overview/architecture_overview`
Matteo Scandoloef5d6f42020-07-27 16:46:38 -070038- :doc:`./overview/deployment_environment`
Matteo Scandoloef5d6f42020-07-27 16:46:38 -070039- :doc:`./overview/troubleshooting`
Zack Williams16042b62020-03-29 22:03:16 -070040
Andrea Campanellae83f6242021-11-04 11:08:37 +010041Repositories
42------------
43
44Following is a list of all the repositories related to the VOLTHA project.
45
46Services:
47
48- `VOLTHA Core <https://github.com/opencord/voltha-go>`_
49- `OpenFlow Agent <https://github.com/opencord/ofagent-go>`_
50- `Openonu Adapter <https://github.com/opencord/voltha-openonu-adapter-go>`_
51- `Openolt Adapter <https://github.com/opencord/voltha-openolt-adapter>`_
52- `Openolt Agent <https://github.com/opencord/openolt>`_
53- `ONOS controller <https://github.com/opencord/voltha-onos>`_
54- `BBSIM <https://github.com/opencord/bbsim>`_
55- `BBSIM Sadis Server <https://github.com/opencord/bbsim-sadis-server>`_
56
57ONOS APPs:
58
59- `AAA <https://github.com/opencord/aaa>`_
60- `BNG <https://github.com/opencord/bng>`_
61- `DHCP L2 Relay <https://github.com/opencord/dhcpl2relay>`_
62- `IGMPProxy <https://github.com/opencord/igmpproxy>`_
63- `Kafka <https://github.com/opencord/kafka-onos>`_
64- `Mac Learning <https://github.com/opencord/mac-learning>`_
65- `Multicast <https://github.com/opencord/mcast>`_
66- `OLT <https://github.com/opencord/olt>`_
67- `OLT Topology <https://github.com/opencord/olttopology>`_
68- `PPPoE Agent <https://github.com/opencord/pppoeagent>`_
69- `Sadis <https://github.com/opencord/sadis>`_
70
71Libraries and APIs:
72
73- `VOLTHA protos <https://github.com/opencord/voltha-protos>`_
74- `VOLTHA Library in Go <https://github.com/opencord/voltha-lib-go>`_
75- `OMCI Library in GO <https://github.com/opencord/omci-lib-go>`_
76
77Device Management:
78
79- `Device Management Interface <https://github.com/opencord/device-management-interface>`_
80- `Device Manager <https://github.com/opencord/opendevice-manager>`_
81- `Device Manager Agent <https://github.com/opencord/opendm-agent>`_
82
83Tools:
84
85- `voltctl <https://github.com/opencord/voltctl>`_
86
87Deployment and Testing:
88
89- `VOLTHA Helm Charts <https://github.com/opencord/voltha-helm-charts>`_
90- `VOLTHA System Tests <https://github.com/opencord/voltha-system-tests>`_
91- `CORD Tester <https://github.com/opencord/cord-tester>`_
92- `Grpc robot library <https://github.com/opencord/grpc-robot>`_
93- `Kafka robot library <https://github.com/opencord/kafka-robot>`_
94- `Docker Tools <https://github.com/opencord/voltha-docker-tools>`_
95- `Openolt scale tester <https://github.com/opencord/openolt-scale-tester>`_
96- `Ci management <https://github.com/opencord/ci-management>`_
97- `Pod Configs <https://github.com/opencord/pod-configs>`_
98- `Openolt agent scale tester <https://github.com/opencord/openolt-scale-tester>`_
99- `Openolt functional tester <https://github.com/opencord/openolt-test>`_
100
101
Zack Williams16042b62020-03-29 22:03:16 -0700102Community
103---------
104
Andrea Campanellaaf7db9c2021-07-21 10:04:25 +0200105VOLTHA is an open source project led by a technical steering team that holds weekly meetings.
106You can find more information about the TST, community, meetings, mailing lists and slack channels
Eric Ball74a2e762025-08-27 12:34:53 -0700107in the `VOLTHA wiki page <https://lf-broadband.atlassian.net/wiki>`_
Zack Williams16042b62020-03-29 22:03:16 -0700108
Zack Williams071eda22019-05-15 18:19:51 -0700109
110.. toctree::
111 :maxdepth: 1
Matteo Scandolo1f5530b2019-12-17 10:12:31 -0800112 :caption: Overview
Zack Williams16042b62020-03-29 22:03:16 -0700113 :hidden:
Zack Williamse377eae2019-12-20 16:40:38 -0700114 :glob:
Matteo Scandolo1f5530b2019-12-17 10:12:31 -0800115
Andrea Campanella71221c82021-02-01 14:40:48 +0100116 overview/architecture_overview.rst
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700117 overview/deployment_environment.rst
Andrea Campanella882cfcc2021-02-04 10:53:57 +0100118 Deploy VOLTHA <voltha-helm-charts/README.md>
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700119 overview/workflows.rst
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700120 overview/operate.rst
Andrea Campanella3c4e5262021-05-18 11:47:57 +0200121 overview/lab_setup.rst
Matteo Scandolo30fcab42022-03-31 15:51:24 -0700122 overview/jenkins_node.rst
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700123 overview/troubleshooting.rst
Andrea Campanellaaf7db9c2021-07-21 10:04:25 +0200124 overview/releases.rst
Andrea Campanella4dfe9322022-05-10 12:40:10 +0200125 overview/release_process.rst
Andrea Campanella4dd04222022-03-18 15:52:28 +0100126 overview/contributing.rst
Zack Williamse377eae2019-12-20 16:40:38 -0700127
128.. toctree::
Andrea Campanella4cf8ba02020-01-21 18:01:59 +0100129 :maxdepth: 1
Zack Williams16042b62020-03-29 22:03:16 -0700130 :hidden:
131 :caption: Components
Zack Williamse377eae2019-12-20 16:40:38 -0700132
Andrea Campanella61fd6662020-07-27 16:56:55 +0200133 BBSIM <bbsim/docs/source/index.rst>
134 OpenFlow Agent <ofagent-go/README.md>
135 OpenOlt Adapter <voltha-openolt-adapter/README.md>
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700136 OpenOnu Adapter Go <voltha-openonu-adapter-go/README.md>
Andrea Campanella61fd6662020-07-27 16:56:55 +0200137 Openolt Agent <openolt/README.md>
138 VOLTHA CLI <voltctl/README.md>
139 VOLTHA Protos <voltha-protos/README.md>
Zack Williams071eda22019-05-15 18:19:51 -0700140
141.. toctree::
Zack Williams071eda22019-05-15 18:19:51 -0700142 :maxdepth: 1
Zack Williams16042b62020-03-29 22:03:16 -0700143 :hidden:
Andrea Campanellae0a7e522021-03-26 15:45:48 +0100144 :caption: Operations
145
Andrea Campanella448fbc22021-05-13 15:39:00 +0200146 operations/software-upgrade.rst
Andrea Campanellace1e0792021-10-15 13:59:10 +0200147 ONU software update <voltha-openonu-adapter-go/docs/ONU_Upgrade_Notes.md>
Andrea Campanella38a06f92021-12-01 15:49:28 -0800148
149.. toctree::
150 :maxdepth: 1
151 :hidden:
152 :caption: Performance Metrics, Alarms
153
Andrea Campanellace1e0792021-10-15 13:59:10 +0200154 ONU Performance Metrics <voltha-openonu-adapter-go/docs/PM_Notes.md>
Andrea Campanella38a06f92021-12-01 15:49:28 -0800155 ONU Alarms <voltha-openonu-adapter-go/docs/ONU_Alarms.md>
156
157.. toctree::
158 :maxdepth: 1
159 :hidden:
160 :caption: Bandwidth Profiles
161
162 bandwidth-profiles/bandwidth-profiles.rst
Andrea Campanellae0a7e522021-03-26 15:45:48 +0100163
164.. toctree::
165 :maxdepth: 1
166 :hidden:
Zack Williams16042b62020-03-29 22:03:16 -0700167 :caption: Testing
Zack Williams071eda22019-05-15 18:19:51 -0700168
Andrea Campanella61fd6662020-07-27 16:56:55 +0200169 VOLTHA system tests <voltha-system-tests/README.md>
Zack Williams16042b62020-03-29 22:03:16 -0700170 testing/index.rst
Andrea Campanella096fa592022-02-03 12:07:35 +0100171 testing/memory_usage_pprof.rst
Hardik Windlass1808a712022-03-10 11:23:30 +0000172 testing/voltha_test_automation.rst
Andrea Campanellaafc46532022-05-05 23:14:36 +0200173 testing/certification.rst
Zack Williams071eda22019-05-15 18:19:51 -0700174
Zack Williams16042b62020-03-29 22:03:16 -0700175.. toctree::
176 :maxdepth: 1
177 :hidden:
divyadesaia702ba92020-08-31 11:27:46 +0000178 :caption: Logging
179
180 logging/centralised_log_analysis.rst
Andrea Campanellace1e0792021-10-15 13:59:10 +0200181 ONU adapter per package logging <voltha-openonu-adapter-go/docs/Specific_Logging_Notes.md>
divyadesaia702ba92020-08-31 11:27:46 +0000182
183.. toctree::
184 :maxdepth: 1
185 :hidden:
Andrea Campanella13f26f52021-01-28 13:47:40 +0100186 :caption: Device Management Interface
187
188 Overview <device-management-interface/README.md>
189 Image management <device-management-interface/docs/DeviceImageManagement.md>
190 Events and Metrics <device-management-interface/docs/EventsMetrics.md>
191 Managing a device <device-management-interface/docs/ManagingDevice.md>
192 Examples <device-management-interface/docs/Examples.md>
193 Guidelines <device-management-interface/docs/RpcGuidelines.md>
194 Implementation on BBSIM <bbsim/docs/source/DMI_Server_README.md>
195
196.. toctree::
197 :maxdepth: 1
198 :hidden:
Zack Williams16042b62020-03-29 22:03:16 -0700199 :caption: Releases
200 :glob:
Zack Williams071eda22019-05-15 18:19:51 -0700201
Joey Armstronga4d27232022-12-29 08:50:02 -0500202 release_notes/release_process.rst
203 release_notes/index.rst
Joey Armstrong2cab6b42022-09-08 12:59:42 -0400204
205.. toctree::
Joey Armstronga3d896a2023-02-17 08:33:46 -0500206 :maxdepth: 1
207 :hidden:
208 :caption: Resources
209 :glob:
210
211 resources/index
212
213.. toctree::
Joey Armstrong2cab6b42022-09-08 12:59:42 -0400214 :maxdepth: 2
215 :caption: HOWTO Topics
216
Joey Armstronga62c74a2022-11-23 13:16:34 -0500217 howto/index