Archived-Hc2vpp

From fd.io
Revision as of 12:03, 22 February 2017 by Mgradzki (Talk | contribs)

Jump to: navigation, search
hc2vpp Facts

Project Lead: Marek Gradzki
Committers:

  • Maros Marsalek
  • Marek Gradzki
  • Hongjun Ni
  • Jan Srnicek
  • Stefan Kobza
  • Ed Warnicke

Repository: git clone https://gerrit.fd.io/r/hc2vpp
Mailing List: hc2vpp-dev@lists.fd.io
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs: HC2VPP bugs

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

Honeycomb in VPP stack

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

Weekly meeting

Weekly call

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:

  • Northbound interfaces:
  • 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
  • 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)
    • Available from ODL's yangtools and mdsal projects, not necessarily the entire projects, only required parts in binary form.
  • 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

17.01 - Last stable

17.01 is first release of hc2vpp project (it used to be part of honeycomb project).

Release plan:

  • Work planned for release
  • Milestones leading to the release

Site:

  • Devel documentation
  • Overview
  • Details
  • Javadocs
  • ... for each module in Honeycomb project

Release notes:

  • New/Updated/Removed/Deprecated Features
  • Install guide
  • Devel guide
  • User guide

17.04 - Current master

Release plan:

  • Work planned for release
  • Milestones leading to the release

Site:

  • Devel documentation
  • Overview
  • Details
  • Javadocs
  • ... for each module in Honeycomb project

Release notes:

  • 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

JVpp Java facade for VPP

Honeycomb Translation layer/SPI

Honeycomb persistence/Reconciliation with VPP

Modifying the VPP JVPP API and testing in Honeycomb

IETF_ACL model implementation