VOLTHA Documentation
====================
`VOLTHA (Virtual OLT Hardware Abstraction
`_ is an open source project to create a
hardware abstraction for broadband access equipment. It supports the principle
of multi-vendor, disaggregated, "any broadband access as a service" for the
Telco Central Office.
Key concepts in VOLTHA:
- **Network as a Switch**: It makes a set of connected access network devices
to look like a SDN programmable switch.
- **Evolution to virtualization**: it can work with a variety of access network
technologies and devices
- **Unified OAM abstraction**: it provides unified, vendor- and technology
agnostic handling of device management tasks, such as service lifecycle,
device lifecycle (including discovery, upgrade), system monitoring, alarms,
troubleshooting, security, etc.
- **Cloud/DevOps bridge to modernization**: it does all above while using a
microservices architecture running on top of Docker and/or Kubernetes.
VOLTHA is a sub-project of the `Open Networking Foundation's
`_ `CORD project
`_.
.. figure:: ./_static/voltha_diagram.svg
:alt: VOLTHA Component Diagram
:width: 70%
:align: center
VOLTHA Component Diagram
Here some quick links to get you started:
- :doc:`./overview/architecture_overview`
- :doc:`./overview/deployment_environment`
- :doc:`./overview/troubleshooting`
Repositories
------------
Following is a list of all the repositories related to the VOLTHA project.
Services:
- `VOLTHA Core `_
- `OpenFlow Agent `_
- `Openonu Adapter `_
- `Openolt Adapter `_
- `Openolt Agent `_
- `ONOS controller `_
- `BBSIM `_
- `BBSIM Sadis Server `_
ONOS APPs:
- `AAA `_
- `BNG `_
- `DHCP L2 Relay `_
- `IGMPProxy `_
- `Kafka `_
- `Mac Learning `_
- `Multicast `_
- `OLT `_
- `OLT Topology `_
- `PPPoE Agent `_
- `Sadis `_
Libraries and APIs:
- `VOLTHA protos `_
- `VOLTHA Library in Go `_
- `OMCI Library in GO `_
Device Management:
- `Device Management Interface `_
- `Device Manager `_
- `Device Manager Agent `_
Tools:
- `voltctl `_
Deployment and Testing:
- `VOLTHA Helm Charts `_
- `VOLTHA System Tests `_
- `CORD Tester `_
- `Grpc robot library `_
- `Kafka robot library `_
- `Docker Tools `_
- `Openolt scale tester `_
- `Ci management `_
- `Pod Configs `_
- `Openolt agent scale tester `_
- `Openolt functional tester `_
Community
---------
VOLTHA is an open source project led by a technical steering team that holds weekly meetings.
You can find more information about the TST, community, meetings, mailing lists and slack channels
in the `VOLTHA wiki page `_
.. toctree::
:maxdepth: 1
:caption: Overview
:hidden:
:glob:
overview/architecture_overview.rst
overview/deployment_environment.rst
Deploy VOLTHA
overview/workflows.rst
overview/operate.rst
overview/lab_setup.rst
overview/jenkins_node.rst
overview/troubleshooting.rst
overview/releases.rst
overview/release_process.rst
overview/contributing.rst
.. toctree::
:maxdepth: 1
:hidden:
:caption: Components
BBSIM
OpenFlow Agent
OpenOlt Adapter
OpenOnu Adapter Go
Openolt Agent
VOLTHA CLI
VOLTHA Protos
.. toctree::
:maxdepth: 1
:hidden:
:caption: Operations
operations/software-upgrade.rst
ONU software update
.. toctree::
:maxdepth: 1
:hidden:
:caption: Performance Metrics, Alarms
ONU Performance Metrics
ONU Alarms
.. toctree::
:maxdepth: 1
:hidden:
:caption: Bandwidth Profiles
bandwidth-profiles/bandwidth-profiles.rst
.. toctree::
:maxdepth: 1
:hidden:
:caption: Testing
VOLTHA system tests
testing/index.rst
testing/memory_usage_pprof.rst
testing/voltha_test_automation.rst
testing/certification.rst
.. toctree::
:maxdepth: 1
:hidden:
:caption: Logging
logging/centralised_log_analysis.rst
ONU adapter per package logging
.. toctree::
:maxdepth: 1
:hidden:
:caption: Device Management Interface
Overview
Image management
Events and Metrics
Managing a device
Examples
Guidelines
Implementation on BBSIM
.. toctree::
:maxdepth: 1
:hidden:
:caption: Releases
:glob:
release_notes/release_process.rst
release_notes/index.rst
.. toctree::
:maxdepth: 2
:caption: HOWTO Topics
howto/index