Difference between revisions of "Honeycomb/Releases/1609"

From fd.io
Jump to: navigation, search
(Honeycomb 1609 release)
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= Honeycomb 1609 release =
 
= Honeycomb 1609 release =
First release of Honeycomb (VPP management agent)
+
First release of Honeycomb (VPP management agent).
 +
 
 +
Slides with Honeycomb 1609 overview: [[File:HC 1609 overview.pptx|thumb|Slides detailing Honeycomb's goal, architecture and features as of 1609 release]]
  
 
== Release plan ==
 
== Release plan ==
Line 21: Line 23:
 
** VLAN management
 
** VLAN management
 
** Low-level classifier API access
 
** Low-level classifier API access
** ACL management
+
** ACL management based on ietf-acl model
 
*** L2 permit/deny
 
*** L2 permit/deny
 
*** L3 permit/deny
 
*** L3 permit/deny
Line 33: Line 35:
 
** LISP managment
 
** LISP managment
  
* Minimal distribution available as zip, tar.gz, DEB and RPM packages
+
* Distribution available as zip, tar.gz, DEB and RPM packages
  
  
 
For further information refer to:
 
For further information refer to:
 
* [[Honeycomb/Release_Plans/Release_Plan_16.09| Release plan]]
 
* [[Honeycomb/Release_Plans/Release_Plan_16.09| Release plan]]
* [https://jira.fd.io/browse/HONEYCOMB-139?filter=10655 JIRA backlog]
+
* [https://jira.fd.io/issues/?filter=10655 JIRA backlog]
 
* Provided RESTCONF collections with sample requests for all available APIs
 
* Provided RESTCONF collections with sample requests for all available APIs
  
 
== Backlog ==
 
== Backlog ==
* [https://jira.fd.io/browse/?filter=10503 Outstanding]
+
* [https://jira.fd.io/projects/HONEYCOMB/versions/10202 All issues planned for 1609]
* [https://jira.fd.io/browse/?filter=10655 All]
+
  
 
* [https://jira.fd.io/jira/secure/ReleaseNote.jspa?projectId=10001&version=10202 Generated Release notes from JIRA]
 
* [https://jira.fd.io/jira/secure/ReleaseNote.jspa?projectId=10001&version=10202 Generated Release notes from JIRA]
 
== YANG models ==
 
List of YANG models implemented by Honeycomb:
 
 
* [https://git.fd.io/cgit/honeycomb/tree/v3po/api/src/main/yang?h=stable/1609 V3PO plugin yang models]
 
* [https://git.fd.io/cgit/honeycomb/tree/lisp/api/src/main/yang?h=stable/1609 LISP plugin yang models]
 
* [https://git.fd.io/cgit/honeycomb/tree/nsh/api/src/main/yang?h=stable/1609 NSH plugin yang models]
 
* [https://git.fd.io/cgit/honeycomb/tree/vpp-common/naming-context-api/src/main/yang?h=stable/1609 Context(mapping metadata) YANG models]
 
  
 
== Install guide ==
 
== Install guide ==
  
 
Installing binaries:
 
Installing binaries:
 
<span style="color:red">// TODO Update repository from snapshot master to release </span>
 
  
 
* [[Honeycomb/Releases/1609/Installing_binaries_from_packages| Installing from available binary packages]]
 
* [[Honeycomb/Releases/1609/Installing_binaries_from_packages| Installing from available binary packages]]
Line 69: Line 60:
 
[[Honeycomb/Releases/1609/Setting_Up_Your_Dev_Environment| How to setup and build Honeycomb locally]]
 
[[Honeycomb/Releases/1609/Setting_Up_Your_Dev_Environment| How to setup and build Honeycomb locally]]
  
== User Guide ==
+
=== Distribution notes ===
  
=== Configuration files ===
+
Honeycomb is packaged as a static set of jars, that are loaded by Honeycomb Main class, where pre-configured plugins are then started.
  
Honeycomb's configuration files present within its distribution:
+
==== Footprint ====
  
* [https://git.fd.io/cgit/honeycomb/tree/infra/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/honeycomb.json?h=stable/1609 Honeycomb base configuration]
+
Minimal footprint for Honeycomb infrastructure (without any plugins) at rest below 100Mb. For Honeycomb distribution with VPP related plugins, minimal footprint was observed below 150Mb.
* [https://git.fd.io/cgit/honeycomb/tree/vpp-common/minimal-distribution/src/main/resources/honeycomb-minimal-resources/config/jvpp.json?h=stable/1609 VPP plugins common configuration]
+
  
=== POSTMAN collections ===
+
The footprint varies depending on:
 +
* VM load. Under heavier load, JVM tends to release some unused memory used during Honeycomb initialization.
 +
* Northbound interface configuration (4 interfaces started by default: Restconf HTTP, HTTPS, Netconf TCP, SSH). Minimal footprint can be achieved by using only a single interface.
 +
* JVM configuration. Even lower footprint numbers can be achieved by using aggressive JVM memory options: ''-client -Xms20m -Xmx32m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=32m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify''
 +
* Amount of data stored by Honeycomb.
  
POSTMAN (google chrome REST client app) collections containing sample requests for all Honeycomb features. Useful when looking in depth for what Honeycomb supports.
+
== User Guide ==
 
+
* [https://git.fd.io/cgit/honeycomb/plain/v3po/postman_rest_collection.json Honeycomb POSTMAN V3po(vpp core) collection]
+
* [https://git.fd.io/cgit/honeycomb/tree/lisp/lisp_postman_collection.json?h=stable/1609 Honeycomb POSTMAN LISP collection]
+
  
 
=== Running Honeycomb ===
 
=== Running Honeycomb ===
  
[[Honeycomb/Releases/1609/Running_Honeycomb| How to start and work with Honeycomb]]
+
[[Honeycomb/Releases/1609/Running_Honeycomb| How to start and use Honeycomb]]
 +
 
 +
=== Honeycomb+ODL ===
 +
 
 +
[[Honeycomb/Releases/1609/Honeycomb_and_ODL| Honeycomb+ODL]]
  
 
== Devel guide ==
 
== Devel guide ==
 
<span style="color:red">// TODO Finish the VPP plugin part</span>
 
  
 
Tutorials:
 
Tutorials:
* [[Honeycomb/Releases/1609/Developing_Honeycomb_Plugins| How to write custom VPP or non-VPP plugins for Honeycomb]]
+
* [[Honeycomb/Releases/1609/Developing_Honeycomb_Plugins#Plugin_overview| Plugin structure overview]]
 
+
* [[Honeycomb/Releases/1609/Developing_Honeycomb_Plugins#Developing_generic_plugins| How to write Honeycomb plugins]]
Samples:
+
* [[Honeycomb/Releases/1609/Developing_Honeycomb_Plugins#Developing_plugins_for_VPP| How to write Honeycomb plugins for VPP]]
* [https://git.fd.io/cgit/honeycomb/tree/samples?h=stable/1609 Interface sample is part of the Honeycomb codebase] - contains lots of useful information about Honeycomb and its plugins.
+
  
== Subpages ==
+
== Subpage list ==
 
{{Special:PrefixIndex |prefix=Honeycomb/Releases/1609|hideredirects=1}}
 
{{Special:PrefixIndex |prefix=Honeycomb/Releases/1609|hideredirects=1}}

Latest revision as of 16:24, 10 June 2022

Honeycomb 1609 release

First release of Honeycomb (VPP management agent).

Slides with Honeycomb 1609 overview: File:HC 1609 overview.pptx

Release plan

Honeycomb/Release_Plans/Release_Plan_16.09

Features

16.09 release of Honeycomb comes with these features:

  • Generic, model-driven agent framework providing northbound interfaces
    • NETCONF
    • RESTCONF
  • V3po plugin for VPP management with following capabilities:
    • Interface management
    • Bridge-domain management
      • ARP termination table management
    • VXLAN tunnel management
    • VHOST-user interface managmenet
    • TAP interface management
    • VLAN management
    • Low-level classifier API access
    • ACL management based on ietf-acl model
      • L2 permit/deny
      • L3 permit/deny
    • Vxlan GPE tunnel management
    • GRE management
  • NSH plugin for VPP's NSH plugin with following capabilities
    • NSH plugin support
  • LISP plugin for VPP with following capabilities
    • LISP managment
  • Distribution available as zip, tar.gz, DEB and RPM packages


For further information refer to:

Backlog

Install guide

Installing binaries:

Manual build

How to setup and build Honeycomb locally

Distribution notes

Honeycomb is packaged as a static set of jars, that are loaded by Honeycomb Main class, where pre-configured plugins are then started.

Footprint

Minimal footprint for Honeycomb infrastructure (without any plugins) at rest below 100Mb. For Honeycomb distribution with VPP related plugins, minimal footprint was observed below 150Mb.

The footprint varies depending on:

  • VM load. Under heavier load, JVM tends to release some unused memory used during Honeycomb initialization.
  • Northbound interface configuration (4 interfaces started by default: Restconf HTTP, HTTPS, Netconf TCP, SSH). Minimal footprint can be achieved by using only a single interface.
  • JVM configuration. Even lower footprint numbers can be achieved by using aggressive JVM memory options: -client -Xms20m -Xmx32m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=32m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify
  • Amount of data stored by Honeycomb.

User Guide

Running Honeycomb

How to start and use Honeycomb

Honeycomb+ODL

Honeycomb+ODL

Devel guide

Tutorials:

Subpage list

Honeycomb/Releases/1609Honeycomb/Releases/1609/Developing Honeycomb PluginsHoneycomb/Releases/1609/Honeycomb and ODL
Honeycomb/Releases/1609/Installing binaries from packagesHoneycomb/Releases/1609/Installing from archivesHoneycomb/Releases/1609/Running Honeycomb
Honeycomb/Releases/1609/Setting Up Your Dev Environment