Difference between revisions of "Archived-Hc2vpp"
(→Intro) |
Dwallacelf (Talk | contribs) m (Dwallacelf moved page Hc2vpp to Archived-Hc2vpp) |
||
(34 intermediate revisions by 4 users not shown) | |||
Line 3: | Line 3: | ||
|shortname=hc2vpp | |shortname=hc2vpp | ||
|jiraName=HC2VPP | |jiraName=HC2VPP | ||
− | |projectLead= | + | |mailingList=[https://lists.fd.io/mailman/listinfo/hc2vpp hc2vpp@lists.fd.io] |
+ | |projectLead=Michal Cmarada | ||
|committers= | |committers= | ||
* Maros Marsalek | * Maros Marsalek | ||
* Marek Gradzki | * Marek Gradzki | ||
* Hongjun Ni | * Hongjun Ni | ||
− | * Jan Srnicek | + | * Michal Cmarada |
− | + | * Jan Srnicek (Emeritus) | |
− | + | ||
}} | }} | ||
Line 30: | Line 30: | ||
== Project Contact Name and Email == | == Project Contact Name and Email == | ||
− | * [mailto: | + | * [mailto:hc2vpp@lists.fd.io hc2vpp list], |
+ | * [mailto:michal.cmarada@pantheon.tech Michal Cmarada], | ||
+ | * [mailto:margradz@gmail.com Marek Gradzki], | ||
* [mailto:mmarsale@cisco.com Maros Marsalek], LF-ID: mmarsale, | * [mailto:mmarsale@cisco.com Maros Marsalek], LF-ID: mmarsale, | ||
− | + | * [mailto:hagbard@gmail.com Ed Warnicke], LF-ID: hagbard | |
− | * [mailto:hagbard@gmail.com Ed Warnicke], LF-ID: hagbard | + | |
− | + | ||
− | + | ||
− | == | + | == Meeting == |
− | [https://wiki.fd.io/view/Honeycomb/Meeting | + | [https://wiki.fd.io/view/Honeycomb/Meeting Honeycomb&hc2vpp meeting] |
== Scope == | == Scope == | ||
− | + | Hc2vpp's main responsibility is to enable communication between it's northbound interfaces and VPP's management APIs, performing all necessary translations in the background. | |
− | ''' | + | This section is divided 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 hc2vpp relies on other projects). |
− | + | ||
− | + | '''Hc2vpp project scope:''' | |
− | + | ||
− | + | ||
* Yang models for VPP management | * Yang models for VPP management | ||
Line 56: | Line 53: | ||
* Translation layer between VPP management and Yang based data structures | * Translation layer between VPP management and Yang based data structures | ||
** Must support all features of VPP exposed in its APIs in an extensible manner | ** Must support all features of VPP exposed in its APIs in an extensible manner | ||
− | |||
− | |||
− | |||
'''Out of scope:''' | '''Out of scope:''' | ||
+ | * Northbound interfaces: | ||
+ | ** generic NETCONF/RESTCONF/BGP support is part of honeycomb project | ||
+ | |||
* Vpp-japi | * 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 | ** 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 | ||
Line 66: | Line 63: | ||
* Yang parser | * Yang parser | ||
** Available from ODL's [https://git.opendaylight.org/gerrit/#/admin/projects/yangtools, yangtools] project | ** Available from ODL's [https://git.opendaylight.org/gerrit/#/admin/projects/yangtools, yangtools] project | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Integration/performance testing | * Integration/performance testing | ||
Line 77: | Line 68: | ||
* 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 | * 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 | ||
+ | |||
+ | == Supported Features == | ||
+ | *[https://wiki.fd.io/view/Hc2vpp/Features List of Features] | ||
== Releases == | == Releases == | ||
+ | === 19.01 - last stable === | ||
− | + | '''[[Hc2vpp/Release_Plans/Release_Plan_19.01| Release plan]]''': | |
− | + | ||
− | + | ||
− | + | ||
− | '''[[ | + | |
* Work planned for release | * Work planned for release | ||
* Milestones leading to the release | * Milestones leading to the release | ||
− | [https://docs.fd.io/hc2vpp/1. | + | [https://docs.fd.io/hc2vpp/1.19.01/hc2vpp-parent/hc2vpp-aggregator/index.html '''Site''']: |
* Devel documentation | * Devel documentation | ||
* Overview | * Overview | ||
* Details | * Details | ||
* Javadocs | * Javadocs | ||
− | * ... for each module in | + | * ... for each module in Hc2vpp project |
− | [https://docs.fd.io/hc2vpp/1. | + | [https://docs.fd.io/hc2vpp/1.19.01/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes''']: |
* New/Updated/Removed/Deprecated Features | * New/Updated/Removed/Deprecated Features | ||
* Install guide | * Install guide | ||
Line 101: | Line 92: | ||
* User guide | * User guide | ||
− | === | + | === 19.04 - current master === |
− | '''[[Hc2vpp/Release_Plans/ | + | '''[[Hc2vpp/Release_Plans/Release_Plan_19.04| Release plan]]''': |
* Work planned for release | * Work planned for release | ||
* Milestones leading to the release | * Milestones leading to the release | ||
− | [https://docs.fd.io/hc2vpp/1. | + | [https://docs.fd.io/hc2vpp/1.19.04-SNAPSHOT/hc2vpp-parent/hc2vpp-aggregator/index.html '''Site''']: |
* Devel documentation | * Devel documentation | ||
* Overview | * Overview | ||
* Details | * Details | ||
* Javadocs | * Javadocs | ||
− | * ... for each module in | + | * ... for each module in Hc2vpp project |
− | [https://docs.fd.io/hc2vpp/1. | + | [https://docs.fd.io/hc2vpp/1.19.04-SNAPSHOT/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes''']: |
* New/Updated/Removed/Deprecated Features | * New/Updated/Removed/Deprecated Features | ||
* Install guide | * Install guide | ||
* Devel guide | * Devel guide | ||
* User guide | * User guide | ||
+ | === Previous releases === | ||
+ | |||
+ | ==== 18.10 ==== | ||
+ | * '''[[Hc2vpp/Release_Plans/Release_Plan_18.10| Release plan]]''' | ||
+ | * [https://docs.fd.io/hc2vpp/1.18.10/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes'''] | ||
+ | * [https://docs.fd.io/hc2vpp/1.18.10/hc2vpp-parent/hc2vpp-aggregator/index.html '''Documentation'''] | ||
+ | |||
+ | ==== 18.07 ==== | ||
+ | * '''[[Hc2vpp/Release_Plans/Release_Plan_18.07| Release plan]]''' | ||
+ | * [https://docs.fd.io/hc2vpp/1.18.07/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes'''] | ||
+ | * [https://docs.fd.io/hc2vpp/1.18.07/hc2vpp-parent/hc2vpp-aggregator/index.html '''Documentation'''] | ||
+ | |||
+ | ==== 18.04 ==== | ||
+ | * '''[[Hc2vpp/Release_Plans/Release_Plan_18.04| Release plan]]''' | ||
+ | * [https://docs.fd.io/hc2vpp/1.18.04/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes'''] | ||
+ | * [https://docs.fd.io/hc2vpp/1.18.04/hc2vpp-parent/hc2vpp-aggregator/index.html '''Documentation'''] | ||
+ | |||
+ | ==== 18.01 ==== | ||
+ | * '''[[Hc2vpp/Release_Plans/Release_Plan_18.01| Release plan]]''' | ||
+ | * [https://docs.fd.io/hc2vpp/1.18.01/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes'''] | ||
+ | * [https://docs.fd.io/hc2vpp/1.18.01/hc2vpp-parent/hc2vpp-aggregator/index.html '''Documentation'''] | ||
+ | |||
+ | ==== 17.10 ==== | ||
+ | * '''[[Hc2vpp/Release_Plans/Release_Plan_17.10| Release plan]]''' | ||
+ | * [https://docs.fd.io/hc2vpp/1.17.10/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes'''] | ||
+ | * [https://docs.fd.io/hc2vpp/1.17.10/hc2vpp-parent/hc2vpp-aggregator/index.html '''Documentation'''] | ||
+ | |||
+ | ==== 17.07 ==== | ||
+ | * '''[[Hc2vpp/Release_Plans/Release_Plan_17.07| Release plan]]''' | ||
+ | * [https://docs.fd.io/hc2vpp/1.17.07/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes'''] | ||
+ | * [https://docs.fd.io/hc2vpp/1.17.07/hc2vpp-parent/hc2vpp-aggregator/index.html '''Documentation'''] | ||
+ | |||
+ | ==== 17.04 ==== | ||
+ | * '''[[Hc2vpp/Release_Plans/Release_Plan_17.04| Release plan]]''' | ||
+ | * [https://docs.fd.io/hc2vpp/1.17.04/hc2vpp-parent/release-notes-aggregator/release_notes.html '''Release notes'''] | ||
+ | * [https://docs.fd.io/hc2vpp/1.17.04/hc2vpp-parent/hc2vpp-aggregator/index.html '''Documentation'''] | ||
+ | |||
+ | ==== 17.01 ==== | ||
+ | * '''[https://wiki.fd.io/view/Honeycomb/Release_Plans/Release_Plan_17.01 Release plan]''' | ||
+ | * [https://docs.fd.io/hc2vpp/1.17.01/release-notes-aggregator/release_notes.html '''Release notes'''] | ||
+ | * [https://docs.fd.io/hc2vpp/1.17.01/hc2vpp-aggregator/index.html '''Documentation'''] | ||
== Honeycomb backlog == | == Honeycomb backlog == | ||
− | Backlog can be found in: [https://jira.fd.io/secure/Dashboard.jspa?selectPageId= | + | Backlog can be found in: [https://jira.fd.io/secure/Dashboard.jspa?selectPageId=10701 Hc2vpp's JIRA]. |
== Code quality == | == Code quality == | ||
− | Current sonar analysis can be found at: [https://sonar.fd.io/overview?id= | + | Current sonar analysis can be found at: [https://sonar.fd.io/overview?id=2320 Hc2vpp's sonar] |
== Devel == | == Devel == | ||
− | [[ | + | [[Hc2vpp/BranchCutting|HowTo: Cutting stable branches & version bumping]] |
− | + | ||
− | + | ||
=== Design and architecture === | === Design and architecture === |
Latest revision as of 20:04, 17 August 2023
hc2vpp Facts |
Project Lead: Michal Cmarada
Repository: git clone https://gerrit.fd.io/r/hc2vpp |
Contents
Intro
Hc2vpp 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. The Hc2vpp project used to be part of honeycomb.
Process of spiting honeycomb project into generic (honeycomb) and vpp related (hc2vpp) parts was done during 1.17.01 release.
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
Project Contact Name and Email
- hc2vpp list,
- Michal Cmarada,
- Marek Gradzki,
- Maros Marsalek, LF-ID: mmarsale,
- Ed Warnicke, LF-ID: hagbard
Meeting
Scope
Hc2vpp's main responsibility is to enable communication between it's northbound interfaces and VPP's management APIs, performing all necessary translations in the background.
This section is divided 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 hc2vpp relies on other projects).
Hc2vpp 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
Out of scope:
- Northbound interfaces:
- generic NETCONF/RESTCONF/BGP support is part of honeycomb project
- 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
- 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
Supported Features
Releases
19.01 - last stable
- Work planned for release
- Milestones leading to the release
Site:
- Devel documentation
- Overview
- Details
- Javadocs
- ... for each module in Hc2vpp project
- New/Updated/Removed/Deprecated Features
- Install guide
- Devel guide
- User guide
19.04 - current master
- Work planned for release
- Milestones leading to the release
Site:
- Devel documentation
- Overview
- Details
- Javadocs
- ... for each module in Hc2vpp project
- New/Updated/Removed/Deprecated Features
- Install guide
- Devel guide
- User guide
Previous releases
18.10
18.07
18.04
18.01
17.10
17.07
17.04
17.01
Honeycomb backlog
Backlog can be found in: Hc2vpp's JIRA.
Code quality
Current sonar analysis can be found at: Hc2vpp's sonar
Devel
HowTo: Cutting stable branches & version bumping
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