From 4c59ba41ef8c5bfbf5d407c06700857389db973e Mon Sep 17 00:00:00 2001 From: Maros Marsalek Date: Tue, 12 Apr 2016 10:13:28 +0200 Subject: HONEYCOMB-8: HC ascii docs. Initial version Change-Id: Id9540f9a7aa863517c1fbf54f9eb5bd20b565476 Signed-off-by: Marek Gradzki Signed-off-by: Maros Marsalek --- v3po/Readme.adoc | 61 ++++++++++++++++++++++++++++++++++++ v3po/config/Readme.adoc | 10 ++++++ v3po/data-api/Readme.adoc | 10 ++++++ v3po/data-impl/Readme.adoc | 43 +++++++++++++++++++++++++ v3po/translate-api/Readme.adoc | 9 ++++++ v3po/translate-impl/Readme.adoc | 9 ++++++ v3po/translate-spi/Readme.adoc | 4 +++ v3po/translate-utils/Readme.adoc | 3 ++ v3po/v3po2vpp/Readme.adoc | 3 ++ v3po/vpp-translate-utils/Readme.adoc | 3 ++ 10 files changed, 155 insertions(+) create mode 100644 v3po/Readme.adoc create mode 100644 v3po/config/Readme.adoc create mode 100644 v3po/data-api/Readme.adoc create mode 100644 v3po/data-impl/Readme.adoc create mode 100644 v3po/translate-api/Readme.adoc create mode 100644 v3po/translate-impl/Readme.adoc create mode 100644 v3po/translate-spi/Readme.adoc create mode 100644 v3po/translate-utils/Readme.adoc create mode 100644 v3po/v3po2vpp/Readme.adoc create mode 100644 v3po/vpp-translate-utils/Readme.adoc diff --git a/v3po/Readme.adoc b/v3po/Readme.adoc new file mode 100644 index 000000000..a2b6f4c4b --- /dev/null +++ b/v3po/Readme.adoc @@ -0,0 +1,61 @@ += Honeycomb + +Honeycomb is an VPP agent that runs the same host as a VPP instance +and exposes YANG models via NETCONF and RESTCONF to allow management of that VPP instance. +Honeycomb uses jAPI to communicate with the VPP. + +[ditaa, "hc-architecture"] +.... + /------------------\ + ODL | RESTCONF/NETCONF | + \-+--------------+-/ + | ^ +---------------------|--------------|--------------------- + v | + /------------------\ + | Data layer | + \-+--------------+-/ + | ^ + Honeycomb v | + /-----+--------------+-----\ + | Translation layer | + \----+----------------+----+ + | VPP SPI impl | + +---+------+-----+ + | ^ +------------------------|------|-------------------------- + v | + ++------++ + | jAPI | + VPP /----+--------+------\ + | VPP | + \--------------------/ + +.... + +== NETCONF/RESTCONF layer + +NETCONF and RESTCONF support is provided by ODL (Honeycomb is an ODL application). +In the future we plan to minimize ODL dependencies or completely remove karaf. + +Transaction functionality is provided by the data layer. + +== Data layer + +Models CONFIG data store as a DataTree. + +OPERATIONAL data store reads are passed directly to the translation layer. + +Provides transaction functionality for NETCONF/RESTCONF layer. + + +== Translation layer + +Extensible API for translation between Binding Aware data and actual device data. +Consists of readers and writers responsible for communication with the device. + +Provides registry of readers and writers for the data layer. + + + + diff --git a/v3po/config/Readme.adoc b/v3po/config/Readme.adoc new file mode 100644 index 000000000..35151195e --- /dev/null +++ b/v3po/config/Readme.adoc @@ -0,0 +1,10 @@ += Honeycomb. Translation layer configuration + +Defines ReaderRegistry and WriterRegistry for VPP. +Data layer delegates actual reads and writes to these registers. +Registries define root readers and writers for supported YANG models. + + + + + diff --git a/v3po/data-api/Readme.adoc b/v3po/data-api/Readme.adoc new file mode 100644 index 000000000..a13c5094f --- /dev/null +++ b/v3po/data-api/Readme.adoc @@ -0,0 +1,10 @@ += Honeycomb Data layer. API + +Provides data tree abstraction for data store modeling. +ModifiableDataTree can be used to model CONFIG data store. +ReadableDataTree can be used to model OPERATIONAL data store. + + + + + diff --git a/v3po/data-impl/Readme.adoc b/v3po/data-impl/Readme.adoc new file mode 100644 index 000000000..61b2653b3 --- /dev/null +++ b/v3po/data-impl/Readme.adoc @@ -0,0 +1,43 @@ += Honeycomb Data layer. Implementation + +Models CONFIG data store as a DataTree. + +Every read transaction reads directly from the DataTree. +Every write transaction is validated, then passed to the translation layer. +After successful update, config data tree is updated. + +OPERATIONAL data store reads are passed directly to the translation layer. + +Data transaction functionality for higher layers (i.e NETCONF/RESTCONF layer) is provided by DataBroker. + +[ditaa, "data-layer-architecture"] +.... + /------------------\ + | RESTCONF/NETCONF | + \--------+---------/ + | +----------------------------|------------------------------------ + v + /------------------\ + | DataBroker | + \-+--------------+-/ + | | + | read | read/write + Honeycomb v v + data layer /------+------\ /--+--------\ /----------\ + | | | | | | + | Operational | | Config +------>+ DataTree + + | DataTree | | DataTree | | | + | | | | \----------/ + \------+------/ \--+--------/ + | | +---------------------|--------------|---------------------------- + v v + /-----+--------------+-----\ + | Translation layer | + \--------------------------/ +.... + + + + diff --git a/v3po/translate-api/Readme.adoc b/v3po/translate-api/Readme.adoc new file mode 100644 index 000000000..9e208744a --- /dev/null +++ b/v3po/translate-api/Readme.adoc @@ -0,0 +1,9 @@ += Honeycomb translation layer API + +Extensible API for translation between Binding Aware data and actual device data. +Consists of readers and writers responsible for communication with the device. + +Provides registry of readers and writers for the data layer. +For every supported YANG model there should be at least one reader and writer registered. +Readers and writers form two tree structures matching corresponding YANG models. +Readers and writers can be attached to any non-leaf YANG node. \ No newline at end of file diff --git a/v3po/translate-impl/Readme.adoc b/v3po/translate-impl/Readme.adoc new file mode 100644 index 000000000..1e5c63604 --- /dev/null +++ b/v3po/translate-impl/Readme.adoc @@ -0,0 +1,9 @@ += Honeycomb translation layer implementation + +Provides composite implementations of child, list and root readers/writers. + +Root readers/writers can be used to provide data translation at root node level. +List readers/writers help with data translation for nodes modeled as YANG lists. +Child readers/writers can be used to provide data translation for non-leaf nodes. + +Readers and writers can be easily extended using customizers defined in the translate-spi module. \ No newline at end of file diff --git a/v3po/translate-spi/Readme.adoc b/v3po/translate-spi/Readme.adoc new file mode 100644 index 000000000..755538c07 --- /dev/null +++ b/v3po/translate-spi/Readme.adoc @@ -0,0 +1,4 @@ += Honeycomb translation layer SPI + +Provides root, child and list customizer interfaces for extending readers/writers. +Customizers can be used to implement actual data reads and writes. \ No newline at end of file diff --git a/v3po/translate-utils/Readme.adoc b/v3po/translate-utils/Readme.adoc new file mode 100644 index 000000000..17ebb6c6a --- /dev/null +++ b/v3po/translate-utils/Readme.adoc @@ -0,0 +1,3 @@ += Honeycomb translation layer utils + +Provides utility classes useful in translation layer implementation. \ No newline at end of file diff --git a/v3po/v3po2vpp/Readme.adoc b/v3po/v3po2vpp/Readme.adoc new file mode 100644 index 000000000..29e28528b --- /dev/null +++ b/v3po/v3po2vpp/Readme.adoc @@ -0,0 +1,3 @@ += Honeycomb translation layer SPI implementation for VPP + +Provides customizers for VPP YANG models translation. \ No newline at end of file diff --git a/v3po/vpp-translate-utils/Readme.adoc b/v3po/vpp-translate-utils/Readme.adoc new file mode 100644 index 000000000..1aaaea181 --- /dev/null +++ b/v3po/vpp-translate-utils/Readme.adoc @@ -0,0 +1,3 @@ += Honeycomb. VPP translation layer utils + +Provides utility classes useful in translation layer implementation for the VPP. \ No newline at end of file -- cgit 1.2.3-korg