Template:Project Facts

From fd.io
Revision as of 03:48, 9 November 2018 by Henry Ni (Talk | contribs)

Jump to: navigation, search
Sweetcomb Facts

Project Lead: Hongjun Ni, @ Intel
Committers:

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

Intro

Sweetcomb is a generic NETCONF/RESTCONF java-based management agent and provides a framework for building specialized agents.

It uses many features and utilities from different Opendaylight (ODL) projects (e.g. yangtools, controller, mdsal and netconf). The biggest use case of Sweetcomb is VPP (fd.io’s Vector packet processor). Sweetcomb delivers a management agent to enable integration of VPP with e.g. SDN controllers such as Opendaylight.

For VPP specific distribution of Sweetcomb, please refer to hc2vpp project.

Overview

Sweetcomb in VPP stack

Slides

Sweetcomb overview presentation from Paris FD.io 2016 event:
File:Sweetcomb overview.pptx
Sweetcomb overview prepared for Paris FD.io 2016 event

Sweetcomb 1609 overview update from fd.io Seattle summit 2016: File:HC 1609 overview.pptx

Generic nature

Sweetcomb 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

Sweetcomb 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

Meeting

Sweetcomb meeting

Scope

This section is devided into 2 sections: in-scope and out-of-scope to clearly define what is developed as part of Sweetcomb project and what will be just reused from other projects (or where Sweetcomb relies on other projects).

Sweetcomb project scope:

  • Translation layer between device management and Yang based data structures
  • Sweetcomb distribution
    • Minimal distribution for Sweetcomb management agent with all dependencies from ODL and their wiring

Out of scope:

  • Yang models and translation code for VPP management
  • Vpp-japi
    • Java APIs for VPP, allowing JVM to interact with VPP is out of scope of Sweetcomb 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 Sweetcomb project and are part of CSIT project
  • Any other application based on top of Sweetcomb is out of scope of this project and needs to be hosted in a dedicated project inside or outside of fd.io

Releases

18.07 - Last stable

Release plan:

  • Work planned for release
  • Milestones leading to the release

Documentation:

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

Release notes:

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

18.10 - Current master

Release plan:

  • Work planned for release
  • Milestones leading to the release

Documentation:

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

Release notes:

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

Previous releases

Sweetcomb backlog

Backlog can be found in: Sweetcomb's JIRA.

Code quality

Current sonar analysis can be found at: Sweetcomb's sonar

Devel

HowTo: Cutting stable branches

HowTo: Bumping versions

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

Sweetcomb Translation layer/SPI

Sweetcomb persistence/Reconciliation with VPP

Modifying the VPP JVPP API and testing in Sweetcomb

IETF_ACL model implementation