CSIT 1701 report files and script
[csit.git] / docs / report / honeycomb_functional_tests_virl / overview.rst
1 Overview\r
2 ========\r
3 \r
4 Honeycombe Functional Test Topologies in VIRL\r
5 ---------------------------------------------\r
6 \r
7 CSIT Honeycomb functional tests are executed on virtualized topologies created\r
8 using Virtual Internet Routing Lab (VIRL) simulation platform contributed by\r
9 Cisco. VIRL runs on physical baremetal servers hosted by LF FD.io project. All\r
10 tests are executed in two node logical test topology - TG node and SUT node.\r
11 Used logical test topology is shown in the figure below.::\r
12 \r
13                      +------------------------+\r
14                      |                        |\r
15                      |  +------------------+  |\r
16         +--------------->                  <--------------+\r
17         |            |  |                  |  |           |\r
18         |  |------------>       DUT1       <-----------+  |\r
19         |  |         |  +------------------+  |        |  |\r
20         |  |         |                        |        |  |\r
21         |  |         |                  SUT1  |        |  |\r
22         |  |         +------------------------+        |  |\r
23         |  |                                           |  |\r
24         |  |                                           |  |\r
25         |  |               +-----------+               |  |\r
26         |  +--------------->           <---------------+  |\r
27         |                  |    TG     |                  |\r
28         +------------------>           <------------------+\r
29                            +-----------+\r
30 \r
31 Virtual testbeds are created dynamically whenever a verification job is\r
32 started triggered by the patch submission to gerrit and destroyed upon\r
33 completion of all functional tests. During test execution, all nodes are\r
34 reachable thru the MGMT network connected to every node via dedicated NICs and\r
35 links (not shown above for clarity). Each node is a Virtual Machine and each\r
36 connection that is drawn on the diagram is available for use in any test case.\r
37 \r
38 Honeycomb Functional Tests Overview\r
39 -----------------------------------\r
40 \r
41 The following Honeycomb functional test areas are included in the CSIT |release|\r
42 with results listed in this report:\r
43 \r
44 - **Basic interface management** - CRUD for interface state,\r
45   - ipv4/ipv6 address, ipv4 neighbor, MTU value.\r
46   - Test case count: 7\r
47 - **L2BD** - CRUD for L2 Bridge-Domain, interface assignment.\r
48   - Create up to two bridge domains with all implemented functions turned on.\r
49   - (flooding, unknown-unicast flooding, forwarding, learning, arp-termination)\r
50   - Assign up to two physical interfaces to a single bridge domain.\r
51   - Remove interface assignments, remove bridge domains.\r
52   - Test case count: 5\r
53 - **L2FIB** - CRD for L2-FIB entries.\r
54   - Create 4 FIB entries\r
55   - (one of each for filter/forward, static/dynamic combinations).\r
56   - Remove FIB entries.\r
57   - Test case count: 7\r
58 - **VxLAN** - CRD for VxLAN tunnels.\r
59   - Create VxLAN interface.\r
60   - Disable VxLAN interface.\r
61   - Re-create a disabled VxLAN interface.\r
62   - Test case count: 6\r
63 - **VxLAN-GPE** - CRD for VxLAN GPE tunnels.\r
64   - Create VxLAN GPE interface.\r
65   - Disable VxLAN interface.\r
66   - Re-create a disabled VxLAN interface.\r
67   - Test case count: 7\r
68 - **Vhost-user** - CRUD for Vhost-user interfaces.\r
69   - Create, modify and delete Vhost-user interface, as client and server.\r
70   - Test case count: 8\r
71 - **TAP** - CRUD for Tap interface management.\r
72   - Create, modify and delete TAP interface.\r
73   - Test case count: 3\r
74 - **VLAN** - CRUD for VLAN sub-interface management.\r
75   - Create VLAN sub-interface over a physical interface.\r
76   - Toggle interface state separately for super-interface and sub-interface.\r
77   - Configure IP address and bridge domain assignment on sub-interface.\r
78   - Configure VLAN tag rewrite on sub-interface.\r
79   - Test case count: 17\r
80 - **ACL** - CRD for low-level classifiers: table and session management,\r
81   - interface assignment.\r
82   - Configure up to 2 classify tables.\r
83   - Configure up to 2 classify sessions on one table.\r
84   - Assign classify session to a physical interface.\r
85   - Remove tables, sessions, interface assignments.\r
86   - Test case count: 9\r
87 - **PBB** - CRD for provider backbone bridge sub-interface.\r
88   - Configure, modify and remove a PBB sub-interface over a physical interface.\r
89   - Test case count: 9\r
90 - **NSH_SFC** - CRD for NSH maps and entries, using NSH_SFC plugin.\r
91   - Configure up to 2 NSH entries.\r
92   - Configure up to 2 NSH maps.\r
93   - Modify and delete NSH maps and entries.\r
94   - Test case count: 8\r
95 - **LISP** - CRD for Lisp: mapping, locator set, adjacency, map resolver.\r
96   - Toggle Lisp feature status.\r
97   - Configure and delete Lisp mapping as local and remote.\r
98   - Configure and delete Lisp adjacency mapping\r
99   - Configure and delete Lisp map resolver, proxy ITR.\r
100   - Test case count: 11\r
101 - **NAT** - CRD for NAT entries, interface assignment.\r
102   - Configure and delete up to two NAT entries.\r
103   - Assign NAT entries to a physical interface.\r
104   - Test case count: 6\r
105 - **Port mirroring** - CRD for SPAN port mirroring, interface assignment.\r
106   - Configure SPAN port mirroring on a physical interface, mirroring\r
107   - up to 2 interfaces.\r
108   - Remove SPAN configuration from interfaces.\r
109   - Test case count: 3\r
110 - **Honeycomb Infractructure** - configuration persistence,\r
111   - Netconf notifications for interface events,\r
112   - Netconf negative tests aimed at specific issues\r
113 \r
114 Total 111 Honeycomb tests in the CSIT |release|.\r
115 \r
116 Operational data in Honeycomb should mirror configuration data at all times.\r
117 Because of this, test cases follow this general pattern:\r
118 \r
119 #. read operational data of the feature using restconf.\r
120 #. read status of the feature using VPP API dump.\r
121 #. modify configuration of the feature using restconf.\r
122 #. verify changes to operational data using restconf.\r
123 #. verify changes using VPP API dump.\r
124 \r
125 Test cases involving network interfaces utilize the first two interfaces on\r
126 the DUT node.\r
127 \r