Archived-Honeycomb
Honeycomb Facts |
Project Lead: Maros Marsalek
Repository: git clone https://gerrit.fd.io/r/honeycomb |
Contents
Intro
Honeycomb is a java-based agent that runs on the same host as a VPP instance, and exposes yang models via netconf or restconf to allow the management of that VPP instance from off box.
Overview
Slides
Honeycomb overview presentation from Paris FD.io 2016 event: File:Honeycomb overview.pptx
Honeycomb 1609 overview update from fd.io Seattle summit 2016: File:HC 1609 overview.pptx
Generic nature
Honeycomb provides a distribution to control VPP. However HC is developed as a generic agent that can be positioned on top of any other software/system etc. that can be controlled from Java(or some other JVM language) code. This is achieved thanks to the modularity of HC enabling any "translation plugin" such as V3PO (VPP core management translation code) to work in HC framework.
Minimal distribution
Honeycomb provides a minimal distribution that contains only:
- HC framework jars + plugin jars + dependencies from Opendaylight
- HC framework config files + plugin config files
- Runnable shell scripts
Project Contact Name and Email
- honeycomb-dev list,
- Maros Marsalek, LF-ID: mmarsale,
- Marek Gradzki, LF-ID: mmarsale,
- Ed Warnicke, LF-ID: hagbard,
- Dave Wallace, LF-ID: dwallacelf,
- Matej Spanik, LF-ID: mspanik,
Weekly meeting
Scope
Honeycomb's main responsibility is to enable communication between it's northbound interfaces and VPP's management APIs, performing all necessary translations in the background. It is important to note that many features and utilities will be reused from different Opendaylight (ODL) projects (e.g. yangtools, controller, mdsal and netconf) and will not be a direct part of Honeycomb. This section is devided into 2 sections: in-scope and out-of-scope to clearly define what is developed as part of Honeycomb project and what will be just reused from other projects (or where Honeycomb relies on other projects).
Honeycomb project scope:
- Yang models for VPP management
- Configuration data
- Operational data
- Translation layer between VPP management and Yang based data structures
- Must support all features of VPP exposed in its APIs in an extensible manner
- Honeycomb distribution
- Minimal distribution for Honeycomb management agent with all dependencies from ODL and their wiring
Out of scope:
- Vpp-japi
- Java APIs for VPP, allowing JVM to interact with VPP is out of scope of Honeycomb project and is part of the base VPP project
- Yang parser
- Available from ODL's yangtools project
- Base implementation of northbound interfaces
- Base implementation of generic northbound interfaces is out of scope and will be reused from ODL's netconf project
- Yang based data structures and a dedicated DataTree(storage)
- Integration/performance testing
- Complex integration or performance tests are out of scope of Honeycomb project and are part of CSIT project
- Any other application based on top of Honeycomb is out of scope of this project and needs to be hosted in a dedicated project inside or outside of fd.io
Releases
16.09 - Last stable
16.09 is the last stable release. First for HC.
Honeycomb 1609 release page - contains:
- Release notes,
- Install guide,
- User guide,
- Devel guide
- and more
17.01 - Current master
17.01 is the second release for Honeycomb
- Work planned for release
- Milestones leading to the release
Site:
- Devel documentation
- Overview
- Details
- Javadocs
- ... for each module in Honeycomb project
- New/Updated/Removed/Deprecated Features
- Install guide
- Devel guide
- User guide
Honeycomb backlog
Backlog can be found in: Honeycomb's JIRA.
Code quality
Current sonar analysis can be found at: Honeycomb's sonar
Devel
Design and architecture
// TODO These all should be part of the code in e.g. adoc format, built during CI, deployed and just linked here
Honeycomb Translation layer/SPI
Honeycomb persistence/Reconciliation with VPP
Modifying the VPP JVPP API and testing in Honeycomb