blob: 3432470feb72fd7cf7f5472c32ed893af1b02078 [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
109in the `VOLTHA wiki page <https://wiki.opennetworking.org/display/COM/VOLTHA>`_
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 Scandoloef5d6f42020-07-27 16:46:38 -0700124 overview/troubleshooting.rst
Andrea Campanellaaf7db9c2021-07-21 10:04:25 +0200125 overview/releases.rst
Zack Williamse377eae2019-12-20 16:40:38 -0700126
127.. toctree::
Andrea Campanella4cf8ba02020-01-21 18:01:59 +0100128 :maxdepth: 1
Zack Williams16042b62020-03-29 22:03:16 -0700129 :hidden:
130 :caption: Components
Zack Williamse377eae2019-12-20 16:40:38 -0700131
Andrea Campanella61fd6662020-07-27 16:56:55 +0200132 BBSIM <bbsim/docs/source/index.rst>
133 OpenFlow Agent <ofagent-go/README.md>
134 OpenOlt Adapter <voltha-openolt-adapter/README.md>
Matteo Scandoloef5d6f42020-07-27 16:46:38 -0700135 OpenOnu Adapter Go <voltha-openonu-adapter-go/README.md>
Andrea Campanella61fd6662020-07-27 16:56:55 +0200136 Openolt Agent <openolt/README.md>
137 VOLTHA CLI <voltctl/README.md>
138 VOLTHA Protos <voltha-protos/README.md>
Zack Williams071eda22019-05-15 18:19:51 -0700139
140.. toctree::
Zack Williams071eda22019-05-15 18:19:51 -0700141 :maxdepth: 1
Zack Williams16042b62020-03-29 22:03:16 -0700142 :hidden:
Andrea Campanellae0a7e522021-03-26 15:45:48 +0100143 :caption: Operations
144
Andrea Campanella448fbc22021-05-13 15:39:00 +0200145 operations/software-upgrade.rst
Andrea Campanellace1e0792021-10-15 13:59:10 +0200146 ONU software update <voltha-openonu-adapter-go/docs/ONU_Upgrade_Notes.md>
Andrea Campanella38a06f92021-12-01 15:49:28 -0800147
148.. toctree::
149 :maxdepth: 1
150 :hidden:
151 :caption: Performance Metrics, Alarms
152
Andrea Campanellace1e0792021-10-15 13:59:10 +0200153 ONU Performance Metrics <voltha-openonu-adapter-go/docs/PM_Notes.md>
Andrea Campanella38a06f92021-12-01 15:49:28 -0800154 ONU Alarms <voltha-openonu-adapter-go/docs/ONU_Alarms.md>
155
156.. toctree::
157 :maxdepth: 1
158 :hidden:
159 :caption: Bandwidth Profiles
160
161 bandwidth-profiles/bandwidth-profiles.rst
Andrea Campanellae0a7e522021-03-26 15:45:48 +0100162
163.. toctree::
164 :maxdepth: 1
165 :hidden:
Zack Williams16042b62020-03-29 22:03:16 -0700166 :caption: Testing
Zack Williams071eda22019-05-15 18:19:51 -0700167
Andrea Campanella61fd6662020-07-27 16:56:55 +0200168 VOLTHA system tests <voltha-system-tests/README.md>
Zack Williams16042b62020-03-29 22:03:16 -0700169 testing/index.rst
Zack Williams071eda22019-05-15 18:19:51 -0700170
Zack Williams16042b62020-03-29 22:03:16 -0700171.. toctree::
172 :maxdepth: 1
173 :hidden:
divyadesaia702ba92020-08-31 11:27:46 +0000174 :caption: Logging
175
176 logging/centralised_log_analysis.rst
Andrea Campanellace1e0792021-10-15 13:59:10 +0200177 ONU adapter per package logging <voltha-openonu-adapter-go/docs/Specific_Logging_Notes.md>
divyadesaia702ba92020-08-31 11:27:46 +0000178
179.. toctree::
180 :maxdepth: 1
181 :hidden:
Andrea Campanella13f26f52021-01-28 13:47:40 +0100182 :caption: Device Management Interface
183
184 Overview <device-management-interface/README.md>
185 Image management <device-management-interface/docs/DeviceImageManagement.md>
186 Events and Metrics <device-management-interface/docs/EventsMetrics.md>
187 Managing a device <device-management-interface/docs/ManagingDevice.md>
188 Examples <device-management-interface/docs/Examples.md>
189 Guidelines <device-management-interface/docs/RpcGuidelines.md>
190 Implementation on BBSIM <bbsim/docs/source/DMI_Server_README.md>
191
192.. toctree::
193 :maxdepth: 1
194 :hidden:
Zack Williams16042b62020-03-29 22:03:16 -0700195 :caption: Releases
196 :glob:
Zack Williams071eda22019-05-15 18:19:51 -0700197
Zack Williams6ebfe062020-04-09 16:08:29 -0700198 release_notes/*