Difference between revisions of "Honeycomb/Releases/1609"

From fd.io
Jump to: navigation, search
(Install guide)
(Honeycomb 1609 release)
 
(15 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 38: Line 40:
 
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 75: Line 66:
 
==== Footprint ====
 
==== Footprint ====
  
Minimal footprint for Honeycomb infrastructure (without any plugins) at rest around 100Mb. For the VPP Honeycomb distribution, minimal footprint was observed at around 150Mb.
+
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:
 
The footprint varies depending on:
- VM load. Under heavier load, JVM tends to release some unused memory used during Honeycomb initialization.
+
* 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.
+
* 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''
+
* 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.
+
* Amount of data stored by Honeycomb.
  
 
== User Guide ==
 
== User Guide ==
  
=== Configuration files ===
+
=== Running Honeycomb ===
  
Honeycomb's configuration files present within its distribution:
+
[[Honeycomb/Releases/1609/Running_Honeycomb| How to start and use Honeycomb]]
  
* [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]
+
=== Honeycomb+ODL ===
* [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 ===
+
[[Honeycomb/Releases/1609/Honeycomb_and_ODL| Honeycomb+ODL]]
 
+
POSTMAN (google chrome REST client app) collections containing sample requests for all Honeycomb features. Useful when looking in depth for what Honeycomb supports.
+
 
+
* [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 ===
+
 
+
[[Honeycomb/Releases/1609/Running_Honeycomb| How to start and use Honeycomb]]
+
  
 
== Devel guide ==
 
== Devel guide ==
Line 109: Line 90:
 
* [[Honeycomb/Releases/1609/Developing_Honeycomb_Plugins#Developing_generic_plugins| How to write Honeycomb plugins]]
 
* [[Honeycomb/Releases/1609/Developing_Honeycomb_Plugins#Developing_generic_plugins| How to write Honeycomb plugins]]
 
* [[Honeycomb/Releases/1609/Developing_Honeycomb_Plugins#Developing_plugins_for_VPP| How to write Honeycomb plugins for VPP]]
 
* [[Honeycomb/Releases/1609/Developing_Honeycomb_Plugins#Developing_plugins_for_VPP| How to write Honeycomb plugins for VPP]]
 
Samples:
 
* [https://git.fd.io/cgit/honeycomb/tree/samples?h=stable/1609 Interface sample is part of the Honeycomb codebase] - Generic(non-VPP) plugin with a custom distribution containing lots of useful information about Honeycomb and its plugins.
 
  
 
== Subpage list ==
 
== 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