HONEYCOMB-194 Raise test coverage for translate-api to 80%
[honeycomb.git] / infra / Readme.adoc
1 = Honeycomb
2
3 Honeycomb is an VPP agent that runs the same host as a VPP instance
4 and exposes YANG models via NETCONF and RESTCONF to allow management of that VPP instance.
5 Honeycomb uses jAPI to communicate with the VPP.
6
7 [ditaa, "hc-architecture"]
8 ....
9                    /------------------\
10  ODL               | RESTCONF/NETCONF |
11                    \-+--------------+-/
12                      |              ^
13 ---------------------|--------------|---------------------
14                      v              |
15                    /------------------\
16                    |    Data layer    |
17                    \-+--------------+-/
18                      |              ^
19  Honeycomb           v              |
20                /-----+--------------+-----\
21                |     Translation layer    |
22                \----+----------------+----+
23                     |  VPP SPI impl  |
24                     +---+------+-----+
25                         |      ^
26 ------------------------|------|--------------------------
27                         v      |
28                        ++------++
29                        |  jAPI  |
30  VPP              /----+--------+------\
31                   |        VPP         |
32                   \--------------------/
33
34 ....
35
36 == NETCONF/RESTCONF layer
37
38 NETCONF and RESTCONF support is provided by ODL (Honeycomb is an ODL application).
39 In the future we plan to minimize ODL dependencies or completely remove karaf.
40
41 Transaction functionality is provided by the data layer.
42
43 == Data layer
44
45 Models CONFIG data store as a DataTree.
46
47 OPERATIONAL data store reads are passed directly to the translation layer.
48
49 Provides transaction functionality for NETCONF/RESTCONF layer.
50
51
52 == Translation layer
53
54 Extensible API for translation between Binding Aware data and actual device data.
55 Consists of readers and writers responsible for communication with the device.
56
57 Provides registry of readers and writers for the data layer.
58
59 == Supported features
60
61 List of supported requests for RESTCONF northbound interface can be found in
62 postman_rest_collection.json within the codebase. 
63 It is a POSTMAN compatible collection and can be imported into POSTMAN application.
64
65
66
67