Difference between revisions of "Template:Project Facts"

From fd.io
Jump to: navigation, search
(Undo revision 8606 by Henry Ni (talk))
Line 1: Line 1:
{{Project Facts
+
{| class="wikitable" style="color:#C95000; background-color:#FFE6CD; margin-left: 10px;"  align="right" border="1"
|name=Sweetcomb
+
|align="center"|'''{{{name}}} Facts'''
|shortname=Sweetcomb
+
|-
|jiraName=Sweetcomb
+
|
|projectLead= [mailto:hongjun.ni@intel.com Hongjun Ni], @ Intel
+
'''Project Lead:''' {{{projectLead}}}<br>
|committers=
+
'''Committers:'''<br>
* [mailto:drenfong.wang@intel.com Drenfong Wang], @ Intel,
+
{{{committers}}} <br>
* [mailto:wangchuanguo@huachentel.com Chuanguo Wang], @ HuachenTel,
+
'''Repository:''' {{{repo|{{#if:{{{shortname|}}}|git clone https://gerrit.fd.io/r/{{{shortname}}}|unspecified}} }}}<br>
* [mailto:chenhui@huachentel.com Hui Chen], @ HuachenTel,
+
'''Mailing List:''' {{{mailingList|{{#if:{{{shortname|}}}|[https://lists.fd.io/mailman/listinfo/{{{shortname}}}-dev {{{shortname}}}<nowiki>-dev@lists.fd.io</nowiki>]|unspecified}} }}}<br>
* [mailto:lizhuoqun@cmhi.chinamobile.com Zhuoqun Li], @ China Mobile,
+
'''Jenkins:''' {{{jenkins|{{#if:{{{shortname|}}}|[https://jenkins.fd.io/view/{{{shortname}}}/ jenkins silo]|unspecified}} }}}<br>
* [mailto:lihf140@chinaunicom.cn Hongfeng Li], @ China Unicom,
+
'''Gerrit Patches:''' {{{gerrit|{{#if:{{{shortname|}}}|[https://gerrit.fd.io/r/#/q/project:{{{shortname}}} code patches/reviews]|unspecified}} }}}<br>
* [mailto:zhijl.bri@chinatelecom.cn Jinglong Zhi], @ China Telecom,
+
'''Bugs:''' {{{jira|{{#if:{{{jiraName|}}}|[https://jira.fd.io/projects/{{{jiraName}}} {{{jiraName}}} bugs]|unspecified}} }}}<br>
* [mailto:changlin.li@nxp.com Changlin Li], @ NXP,
+
|}<noinclude>
* [mailto:tianyi.wang@tieto.com Tianyi Wang], @ Tieto,
+
* [mailto:davidfgao@tencent.com Feng Gao], @ Tencent,
+
* [mailto:jingqing.cjy@alibaba-inc.com Jianyong Chen], @ Alibaba,
+
* [mailto:gu.jian1@zte.com.cn Jian Gu], @ ZTE,
+
* [mailto:jtollet@cisco.com Jerome Tollet], @ Cisco,
+
* [mailto:mkonstan@cisco.com Maciek Konstantynowicz], @ Cisco,
+
* [mailto:raszabo@cisco.com Rastislav Szabo], @ Cisco,
+
* [mailto:hongjun.ni@intel.com Hongjun Ni], @ Intel,
+
}}
+
== Intro ==
+
  
Sweetcomb is a generic NETCONF/RESTCONF java-based management agent and provides a framework for building specialized agents.
+
<font color="red">'''NOTE:''' This template should be used only for officially approved fd.io projects.</font>
  
It uses many features and utilities from different [http://www.opendaylight.org Opendaylight (ODL)] projects (e.g. yangtools, controller, mdsal and netconf).
+
This Project Facts template is used to give people an at-a-glance view of the core information about a project and also used to track the current projects in fd.io.
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 [https://wiki.fd.io/view/Hc2vpp hc2vpp] project.
+
==Usage==
  
=== Overview ===
+
The template is designed to automagically fill out the mailing list, jenkins, gerrit patches, and bugs if you just fill in the <tt>shortname</tt> variable. The other fields need to be specified by hand. See any of the pages above for examples.
  
[[File:Sweetcomb + VPP stack.png|frameless|Sweetcomb in VPP stack]]
+
=== Fields ===
  
==== Slides ====
+
The template supports the following fields. Optional ones are called out in ''italics'' and labeled with "(optional)". Automagically populated fields are also called out. <font color="red">''Note that field names are case sensitive.''</font>
  
Sweetcomb overview presentation from Paris FD.io 2016 event: [[File:Sweetcomb overview.pptx|thumb|Sweetcomb overview prepared for Paris FD.io 2016 event]]
+
* <tt>projectLead</tt>
 +
* <tt>committers</tt>
 +
* <tt>name</tt>
 +
* <tt>shortname</tt>: automagically populates the six shown sub-fields, but you can override it by explicitly defining them as well.
 +
** <tt>''gerrit''</tt> (optional)
 +
** <tt>''jenkins''</tt> (optional)
 +
** <tt>''repo''</tt> (optional)
  
Sweetcomb 1609 overview update from fd.io Seattle summit 2016: [[File:HC 1609 overview.pptx|thumb|Slides detailing Sweetcomb's goal, architecture and features as of 1609 release]]
+
==Categories==
  
==== Generic nature ====
+
This template adds certain categories to pages that use it. First, it adds the "Project Main Pages" category any page. As a consequence, a list of the pages using this template can be found here: [[:Category:Project Main Pages]].
  
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.
+
To include that list inside of another page you can use:
  
==== Minimal distribution ====
+
<tt><nowiki><DynamicPageList></nowiki><br/>
 +
category    = Project Main Pages<br/>
 +
ordermethod = categorysortkey<br/>
 +
order      = ascending<br/>
 +
<nowiki></DynamicPageList></nowiki></tt>
  
Sweetcomb provides a minimal distribution that contains only:
+
Like this:
* HC framework jars + plugin jars + dependencies from Opendaylight
+
<DynamicPageList>
* HC framework config files + plugin config files
+
category    = Project Main Pages
* Runnable shell scripts
+
ordermethod = categorysortkey
 +
order      = ascending
 +
</DynamicPageList>
  
== Project Contact Name and Email ==
+
Note that indirectly adding a category to a page like this is not instantaneous in mediawiki, but will instead be [http://en.wikipedia.org/wiki/Help:Category#Categories_and_templates processed by the job queue] and then they will be marked as in the appropriate category. You can accelerate this process by performing a [http://en.wikipedia.org/wiki/Help:Null_edit#Null_edit null edit].
* [mailto:hongjun.ni@intel.com Hongjun Ni], @ Intel,  
+
* [mailto:lixingfu@huachentel.com Xingfu Li], @ HuachenTel,
+
* [mailto:lizhuoqun@cmhi.chinamobile.com Zhuoqun Li], @ China Mobile,
+
* [mailto:lihf140@chinaunicom.cn Hongfeng Li], @ China Unicom,
+
* [mailto:zhijl.bri@chinatelecom.cn Jinglong Zhi], @ China Telecom,
+
* [mailto:changlin.li@nxp.com Changlin Li], @ NXP,
+
* [mailto:tianyi.wang@tieto.com Tianyi Wang], @ Tieto,
+
* [mailto:davidfgao@tencent.com Feng Gao], @ Tencent,
+
* [mailto:jingqing.cjy@alibaba-inc.com Jianyong Chen], @ Alibaba,
+
* [mailto:gu.jian1@zte.com.cn Jian Gu], @ ZTE,
+
* [mailto:jtollet@cisco.com Jerome Tollet], @ Cisco,
+
* [mailto:mkonstan@cisco.com Maciek Konstantynowicz], @ Cisco,
+
* [mailto:raszabo@cisco.com Rastislav Szabo], @ Cisco,
+
  
== Meeting ==
+
===Project State Categories===
  
[https://wiki.fd.io/view/Sweetcomb/Meeting Sweetcomb meeting]
+
This template also automatically, adds the "${project state} Projects" category to the page, so we can produce a category for each project state and thus we can list them out very easily as follows:
  
== Scope ==
+
'''Incubation Projects:'''
 +
<DynamicPageList>
 +
category    = Incubation Projects
 +
ordermethod = categorysortkey
 +
order      = ascending
 +
</DynamicPageList>
  
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).
+
'''Bootstrap Projects:'''
 +
<DynamicPageList>
 +
category    = Bootstrap Projects
 +
ordermethod = categorysortkey
 +
order      = ascending
 +
</DynamicPageList>
  
'''Sweetcomb project scope:'''
+
Note: This requires that the state be spelled and capitalized consistently.</noinclude><includeonly>[[Category:Project Main Pages]]</includeonly>
* Northbound interfaces:
+
** [http://tools.ietf.org/html/rfc4741, Netconf] northbound interface
+
** [https://tools.ietf.org/html/draft-ietf-netconf-restconf-05, Restconf] northbound interface
+
** [https://www.ietf.org/rfc/rfc4271, BGP]
+
 
+
* 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
+
** Moved to [https://wiki.fd.io/view/Hc2vpp hc2vpp] in 17.01
+
 
+
* 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
+
** Available from ODL's [https://git.opendaylight.org/gerrit/#/admin/projects/yangtools, yangtools] project
+
 
+
* Base implementation of northbound interfaces
+
** Base implementation of generic northbound interfaces is out of scope and will be reused from ODL's [https://git.opendaylight.org/gerrit/#/admin/projects/netconf, netconf] project
+
 
+
* Yang based data structures and a dedicated DataTree(storage)
+
** Available from ODL's [https://git.opendaylight.org/gerrit/#/admin/projects/yangtools, yangtools] and [https://git.opendaylight.org/gerrit/#/admin/projects/mdsal, 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  ===
+
 
+
'''[[Sweetcomb/Release_Plans/Release_Plan_18.07| Release plan]]''':
+
* Work planned for release
+
* Milestones leading to the release
+
 
+
[https://docs.fd.io/Sweetcomb/1.18.07/Sweetcomb-aggregator/index.html '''Documentation''']:
+
* Devel documentation
+
* Overview
+
* Details
+
* Javadocs
+
* ... for each module in Sweetcomb project
+
 
+
[https://docs.fd.io/Sweetcomb/1.18.07/release-notes-aggregator/release_notes.html '''Release notes''']:
+
* New/Updated/Removed/Deprecated Features
+
* Install guide
+
* Devel guide
+
* User guide
+
 
+
=== 18.10 - Current master ===
+
 
+
'''[[Sweetcomb/Release_Plans/Release_Plan_18.10| Release plan]]''':
+
* Work planned for release
+
* Milestones leading to the release
+
 
+
[https://docs.fd.io/Sweetcomb/1.18.10-SNAPSHOT/Sweetcomb-aggregator/index.html '''Documentation''']:
+
* Devel documentation
+
* Overview
+
* Details
+
* Javadocs
+
* ... for each module in Sweetcomb project
+
 
+
[https://docs.fd.io/Sweetcomb/1.18.10-SNAPSHOT/release-notes-aggregator/release_notes.html '''Release notes''']:
+
* New/Updated/Removed/Deprecated Features
+
* Install guide
+
* Devel guide
+
* User guide
+
 
+
=== Previous releases ===
+
 
+
 
+
== Sweetcomb backlog ==
+
Backlog can be found in: [https://jira.fd.io/secure/Dashboard.jspa?selectPageId=10200 Sweetcomb's JIRA].
+
 
+
== Code quality ==
+
Current sonar analysis can be found at: [https://sonar.fd.io/overview?id=1107 Sweetcomb's sonar]
+
 
+
== Devel ==
+
 
+
[[Sweetcomb/BranchCutting|HowTo: Cutting stable branches]]
+
 
+
[[Sweetcomb/BumpingVersions|HowTo: Bumping versions]]
+
 
+
=== Design and architecture ===
+
 
+
<span style="color:red">// TODO These all should be part of the code in e.g. adoc format, built during CI, deployed and just linked here</span>
+
 
+
[[VPP/Java_API|JVpp Java facade for VPP]]
+
 
+
[[Sweetcomb/Translation_Layer|Sweetcomb Translation layer/SPI]]
+
 
+
[[Sweetcomb/Persistence|Sweetcomb persistence/Reconciliation with VPP]]
+
 
+
[[Sweetcomb/VPPJAPI workflow|Modifying the VPP JVPP API and testing in Sweetcomb]]
+
 
+
[[Sweetcomb/IETF-ACL model|IETF_ACL model implementation]]
+

Revision as of 03:50, 9 November 2018

{{{name}}} Facts

Project Lead: {{{projectLead}}}
Committers:
{{{committers}}}
Repository: unspecified
Mailing List: unspecified
Jenkins: unspecified
Gerrit Patches: unspecified
Bugs: unspecified

NOTE: This template should be used only for officially approved fd.io projects.

This Project Facts template is used to give people an at-a-glance view of the core information about a project and also used to track the current projects in fd.io.

Usage

The template is designed to automagically fill out the mailing list, jenkins, gerrit patches, and bugs if you just fill in the shortname variable. The other fields need to be specified by hand. See any of the pages above for examples.

Fields

The template supports the following fields. Optional ones are called out in italics and labeled with "(optional)". Automagically populated fields are also called out. Note that field names are case sensitive.

  • projectLead
  • committers
  • name
  • shortname: automagically populates the six shown sub-fields, but you can override it by explicitly defining them as well.
    • gerrit (optional)
    • jenkins (optional)
    • repo (optional)

Categories

This template adds certain categories to pages that use it. First, it adds the "Project Main Pages" category any page. As a consequence, a list of the pages using this template can be found here: Category:Project Main Pages.

To include that list inside of another page you can use:

<DynamicPageList>
category = Project Main Pages
ordermethod = categorysortkey
order = ascending
</DynamicPageList>

Like this:


Note that indirectly adding a category to a page like this is not instantaneous in mediawiki, but will instead be processed by the job queue and then they will be marked as in the appropriate category. You can accelerate this process by performing a null edit.

Project State Categories

This template also automatically, adds the "${project state} Projects" category to the page, so we can produce a category for each project state and thus we can list them out very easily as follows:

Incubation Projects: No pages meet these criteria.

Bootstrap Projects: No pages meet these criteria.

Note: This requires that the state be spelled and capitalized consistently.