HONEYCOMB-8: HC ascii docs. Initial version 81/681/5
authorMaros Marsalek <mmarsale@cisco.com>
Tue, 12 Apr 2016 08:13:28 +0000 (10:13 +0200)
committerMaros Marsalek <mmarsale@cisco.com>
Tue, 12 Apr 2016 08:13:28 +0000 (10:13 +0200)
Change-Id: Id9540f9a7aa863517c1fbf54f9eb5bd20b565476
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
v3po/Readme.adoc [new file with mode: 0644]
v3po/config/Readme.adoc [new file with mode: 0644]
v3po/data-api/Readme.adoc [new file with mode: 0644]
v3po/data-impl/Readme.adoc [new file with mode: 0644]
v3po/translate-api/Readme.adoc [new file with mode: 0644]
v3po/translate-impl/Readme.adoc [new file with mode: 0644]
v3po/translate-spi/Readme.adoc [new file with mode: 0644]
v3po/translate-utils/Readme.adoc [new file with mode: 0644]
v3po/v3po2vpp/Readme.adoc [new file with mode: 0644]
v3po/vpp-translate-utils/Readme.adoc [new file with mode: 0644]

diff --git a/v3po/Readme.adoc b/v3po/Readme.adoc
new file mode 100644 (file)
index 0000000..a2b6f4c
--- /dev/null
@@ -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 (file)
index 0000000..3515119
--- /dev/null
@@ -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 (file)
index 0000000..a13c509
--- /dev/null
@@ -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 (file)
index 0000000..61b2653
--- /dev/null
@@ -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 (file)
index 0000000..9e20874
--- /dev/null
@@ -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 (file)
index 0000000..1e5c636
--- /dev/null
@@ -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 (file)
index 0000000..755538c
--- /dev/null
@@ -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 (file)
index 0000000..17ebb6c
--- /dev/null
@@ -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 (file)
index 0000000..29e2852
--- /dev/null
@@ -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 (file)
index 0000000..1aaaea1
--- /dev/null
@@ -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