blob: 757a74d3e7397b8bd18bb298bdd80d033e027626 [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
5<https://www.opennetworking.org/voltha/>`_ is an open source project to create a
6hardware 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
26VOLTHA is a sub-project of the `Open Networking Foundation's
27<https://www.opennetworking.org>`_ `CORD project
28<https://www.opennetworking.org/cord/>`_.
29
Andrea Campanella71221c82021-02-01 14:40:48 +010030.. figure:: ./_static/voltha_diagram.svg
Zack Williams16042b62020-03-29 22:03:16 -070031 :alt: VOLTHA Component Diagram
32 :width: 70%
Andrea Campanella71221c82021-02-01 14:40:48 +010033 :align: center
Zack Williams16042b62020-03-29 22:03:16 -070034
35 VOLTHA Component Diagram
36
Matteo Scandoloef5d6f42020-07-27 16:46:38 -070037Here some quick links to get you started:
38
Andrea Campanella71221c82021-02-01 14:40:48 +010039- :doc:`./overview/architecture_overview`
Matteo Scandoloef5d6f42020-07-27 16:46:38 -070040- :doc:`./overview/deployment_environment`
Matteo Scandoloef5d6f42020-07-27 16:46:38 -070041- :doc:`./overview/troubleshooting`
Zack Williams16042b62020-03-29 22:03:16 -070042
Andrea Campanellae83f6242021-11-04 11:08:37 +010043Repositories
44------------
45
46Following is a list of all the repositories related to the VOLTHA project.
47
48Services:
49
50- `VOLTHA Core <https://github.com/opencord/voltha-go>`_
51- `OpenFlow Agent <https://github.com/opencord/ofagent-go>`_
52- `Openonu Adapter <https://github.com/opencord/voltha-openonu-adapter-go>`_
53- `Openolt Adapter <https://github.com/opencord/voltha-openolt-adapter>`_
54- `Openolt Agent <https://github.com/opencord/openolt>`_
55- `ONOS controller <https://github.com/opencord/voltha-onos>`_
56- `BBSIM <https://github.com/opencord/bbsim>`_
57- `BBSIM Sadis Server <https://github.com/opencord/bbsim-sadis-server>`_
58
59ONOS APPs:
60
61- `AAA <https://github.com/opencord/aaa>`_
62- `BNG <https://github.com/opencord/bng>`_
63- `DHCP L2 Relay <https://github.com/opencord/dhcpl2relay>`_
64- `IGMPProxy <https://github.com/opencord/igmpproxy>`_
65- `Kafka <https://github.com/opencord/kafka-onos>`_
66- `Mac Learning <https://github.com/opencord/mac-learning>`_
67- `Multicast <https://github.com/opencord/mcast>`_
68- `OLT <https://github.com/opencord/olt>`_
69- `OLT Topology <https://github.com/opencord/olttopology>`_
70- `PPPoE Agent <https://github.com/opencord/pppoeagent>`_
71- `Sadis <https://github.com/opencord/sadis>`_
72
73Libraries and APIs:
74
75- `VOLTHA protos <https://github.com/opencord/voltha-protos>`_
76- `VOLTHA Library in Go <https://github.com/opencord/voltha-lib-go>`_
77- `OMCI Library in GO <https://github.com/opencord/omci-lib-go>`_
78
79Device Management:
80
81- `Device Management Interface <https://github.com/opencord/device-management-interface>`_
82- `Device Manager <https://github.com/opencord/opendevice-manager>`_
83- `Device Manager Agent <https://github.com/opencord/opendm-agent>`_
84
85Tools:
86
87- `voltctl <https://github.com/opencord/voltctl>`_
88
89Deployment and Testing:
90
91- `VOLTHA Helm Charts <https://github.com/opencord/voltha-helm-charts>`_
92- `VOLTHA System Tests <https://github.com/opencord/voltha-system-tests>`_
93- `CORD Tester <https://github.com/opencord/cord-tester>`_
94- `Grpc robot library <https://github.com/opencord/grpc-robot>`_
95- `Kafka robot library <https://github.com/opencord/kafka-robot>`_
96- `Docker Tools <https://github.com/opencord/voltha-docker-tools>`_
97- `Openolt scale tester <https://github.com/opencord/openolt-scale-tester>`_
98- `Ci management <https://github.com/opencord/ci-management>`_
99- `Pod Configs <https://github.com/opencord/pod-configs>`_
100- `Openolt agent scale tester <https://github.com/opencord/openolt-scale-tester>`_
101- `Openolt functional tester <https://github.com/opencord/openolt-test>`_
102
103
Zack Williams16042b62020-03-29 22:03:16 -0700104Community
105---------
106
Andrea Campanellaaf7db9c2021-07-21 10:04:25 +0200107VOLTHA is an open source project led by a technical steering team that holds weekly meetings.
108You can find more information about the TST, community, meetings, mailing lists and slack channels
Joey Armstrong1b8fdc32023-12-20 17:22:57 -0500109in the `VOLTHA wiki page <https://wiki.opencord.org>`_
Zack Williams16042b62020-03-29 22:03:16 -0700110
Zack Williams071eda22019-05-15 18:19:51 -0700111
112.. toctree::
113 :maxdepth: 1
Matteo Scandolo1f5530b2019-12-17 10:12:31 -0800114 :caption: Overview
Zack Williams16042b62020-03-29 22:03:16 -0700115 :hidden:
Zack Williamse377eae2019-12-20 16:40:38 -0700116 :glob:
Matteo Scandolo1f5530b2019-12-17 10:12:31 -0800117
Andrea Campanella71221c82021-02-01 14:40:48 +0100118 overview/architecture_overview.rst
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700119 overview/deployment_environment.rst
Andrea Campanella882cfcc2021-02-04 10:53:57 +0100120 Deploy VOLTHA <voltha-helm-charts/README.md>
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700121 overview/workflows.rst
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700122 overview/operate.rst
Andrea Campanella3c4e5262021-05-18 11:47:57 +0200123 overview/lab_setup.rst
Matteo Scandolo30fcab42022-03-31 15:51:24 -0700124 overview/jenkins_node.rst
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700125 overview/troubleshooting.rst
Andrea Campanellaaf7db9c2021-07-21 10:04:25 +0200126 overview/releases.rst
Andrea Campanella4dfe9322022-05-10 12:40:10 +0200127 overview/release_process.rst
Andrea Campanella4dd04222022-03-18 15:52:28 +0100128 overview/contributing.rst
Zack Williamse377eae2019-12-20 16:40:38 -0700129
130.. toctree::
Andrea Campanella4cf8ba02020-01-21 18:01:59 +0100131 :maxdepth: 1
Zack Williams16042b62020-03-29 22:03:16 -0700132 :hidden:
133 :caption: Components
Zack Williamse377eae2019-12-20 16:40:38 -0700134
Andrea Campanella61fd6662020-07-27 16:56:55 +0200135 BBSIM <bbsim/docs/source/index.rst>
136 OpenFlow Agent <ofagent-go/README.md>
137 OpenOlt Adapter <voltha-openolt-adapter/README.md>
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700138 OpenOnu Adapter Go <voltha-openonu-adapter-go/README.md>
Andrea Campanella61fd6662020-07-27 16:56:55 +0200139 Openolt Agent <openolt/README.md>
140 VOLTHA CLI <voltctl/README.md>
141 VOLTHA Protos <voltha-protos/README.md>
Zack Williams071eda22019-05-15 18:19:51 -0700142
143.. toctree::
Zack Williams071eda22019-05-15 18:19:51 -0700144 :maxdepth: 1
Zack Williams16042b62020-03-29 22:03:16 -0700145 :hidden:
Andrea Campanellae0a7e522021-03-26 15:45:48 +0100146 :caption: Operations
147
Andrea Campanella448fbc22021-05-13 15:39:00 +0200148 operations/software-upgrade.rst
Andrea Campanellace1e0792021-10-15 13:59:10 +0200149 ONU software update <voltha-openonu-adapter-go/docs/ONU_Upgrade_Notes.md>
Andrea Campanella38a06f92021-12-01 15:49:28 -0800150
151.. toctree::
152 :maxdepth: 1
153 :hidden:
154 :caption: Performance Metrics, Alarms
155
Andrea Campanellace1e0792021-10-15 13:59:10 +0200156 ONU Performance Metrics <voltha-openonu-adapter-go/docs/PM_Notes.md>
Andrea Campanella38a06f92021-12-01 15:49:28 -0800157 ONU Alarms <voltha-openonu-adapter-go/docs/ONU_Alarms.md>
158
159.. toctree::
160 :maxdepth: 1
161 :hidden:
162 :caption: Bandwidth Profiles
163
164 bandwidth-profiles/bandwidth-profiles.rst
Andrea Campanellae0a7e522021-03-26 15:45:48 +0100165
166.. toctree::
167 :maxdepth: 1
168 :hidden:
Zack Williams16042b62020-03-29 22:03:16 -0700169 :caption: Testing
Zack Williams071eda22019-05-15 18:19:51 -0700170
Andrea Campanella61fd6662020-07-27 16:56:55 +0200171 VOLTHA system tests <voltha-system-tests/README.md>
Zack Williams16042b62020-03-29 22:03:16 -0700172 testing/index.rst
Andrea Campanella096fa592022-02-03 12:07:35 +0100173 testing/memory_usage_pprof.rst
Hardik Windlass1808a712022-03-10 11:23:30 +0000174 testing/voltha_test_automation.rst
Andrea Campanellaafc46532022-05-05 23:14:36 +0200175 testing/certification.rst
Zack Williams071eda22019-05-15 18:19:51 -0700176
Zack Williams16042b62020-03-29 22:03:16 -0700177.. toctree::
178 :maxdepth: 1
179 :hidden:
divyadesaia702ba92020-08-31 11:27:46 +0000180 :caption: Logging
181
182 logging/centralised_log_analysis.rst
Andrea Campanellace1e0792021-10-15 13:59:10 +0200183 ONU adapter per package logging <voltha-openonu-adapter-go/docs/Specific_Logging_Notes.md>
divyadesaia702ba92020-08-31 11:27:46 +0000184
185.. toctree::
186 :maxdepth: 1
187 :hidden:
Andrea Campanella13f26f52021-01-28 13:47:40 +0100188 :caption: Device Management Interface
189
190 Overview <device-management-interface/README.md>
191 Image management <device-management-interface/docs/DeviceImageManagement.md>
192 Events and Metrics <device-management-interface/docs/EventsMetrics.md>
193 Managing a device <device-management-interface/docs/ManagingDevice.md>
194 Examples <device-management-interface/docs/Examples.md>
195 Guidelines <device-management-interface/docs/RpcGuidelines.md>
196 Implementation on BBSIM <bbsim/docs/source/DMI_Server_README.md>
197
198.. toctree::
199 :maxdepth: 1
200 :hidden:
Zack Williams16042b62020-03-29 22:03:16 -0700201 :caption: Releases
202 :glob:
Zack Williams071eda22019-05-15 18:19:51 -0700203
Joey Armstronga4d27232022-12-29 08:50:02 -0500204 release_notes/release_process.rst
205 release_notes/index.rst
Joey Armstrong2cab6b42022-09-08 12:59:42 -0400206
207.. toctree::
Joey Armstronga3d896a2023-02-17 08:33:46 -0500208 :maxdepth: 1
209 :hidden:
210 :caption: Resources
211 :glob:
212
213 resources/index
214
215.. toctree::
Joey Armstrong2cab6b42022-09-08 12:59:42 -0400216 :maxdepth: 2
217 :caption: HOWTO Topics
218
Joey Armstronga62c74a2022-11-23 13:16:34 -0500219 howto/index