CSIT 1701 report files and script
[csit.git] / docs / report / introduction / csit_test_naming.rst
1 CSIT Test Naming\r
2 ================\r
3 \r
4 Background\r
5 ----------\r
6 \r
7 CSIT |release| introduced a common structured naming convention for all\r
8 performance and functional tests. This change was driven by substantially\r
9 growing number and type of CSIT test cases. Firstly, the original practice did\r
10 not always follow any strict naming convention. Secondly test names did not\r
11 always clearly capture tested packet encapsulations, and the actual type or\r
12 content of the tests. Thirdly HW configurations in terms of NICs, ports and\r
13 their locality were not captured either. These were but few reasons that drove\r
14 the decision to change and define a new more complete and stricter test naming\r
15 convention. And to apply it to all existing and new test suites and test\r
16 cases.\r
17 \r
18 The new naming should be intuitive for majority of the tests. Complete\r
19 description of the newly adopted CSIT test naming convention is provided on\r
20 `CSIT test naming page <https://wiki.fd.io/view/CSIT/csit-test-naming>`_. Here\r
21 few illustrative examples of the new naming usage for test suites across CSIT\r
22 performance, functional and HoneyComb management test areas.\r
23 \r
24 Naming Convention\r
25 -----------------\r
26 \r
27 The CSIT approach is to use tree naming convention and to encode following\r
28 testing information into test suite and test case names:\r
29 \r
30 1. packet network port configuration\r
31 \r
32   * port type, physical or virtual;\r
33   * number of ports;\r
34   * NIC model, if applicable;\r
35   * port-NIC locality, if applicable;\r
36 \r
37 2. packet encapsulations;\r
38 \r
39 3. VPP packet processing\r
40 \r
41   * packet forwarding mode;\r
42   * packet processing function(s);\r
43 \r
44 4. packet forwarding path\r
45 \r
46   * if present, network functions (processes, containers, VMs) and their\r
47     topology within the computer;\r
48 \r
49 5. main measured variable, type of test.\r
50 \r
51 Proposed convention is to encode ports and NICs on the left (underlay),\r
52 followed by outer-most frame header, then other stacked headers up to the\r
53 header processed by vSwitch-VPP, then VPP forwarding function, then encap on\r
54 vhost interface, number of vhost interfaces, number of VMs. If chained VMs\r
55 present, they get added on the right. Test topology is expected to be\r
56 symmetric, in other words packets enter and leave SUT through ports specified\r
57 on the left of the test name. Here some examples to illustrate the convention\r
58 followed by the complete legend, and tables mapping the new test filenames to\r
59 old ones.\r
60 \r
61 Naming Examples\r
62 ---------------\r
63 \r
64 CSIT test suite naming examples (filename.robot) for common tested VPP\r
65 topologies:\r
66 \r
67 1. **Physical port to physical port - a.k.a. NIC-to-NIC, Phy-to-Phy, P2P**\r
68 \r
69   * *PortNICConfig-WireEncapsulation-PacketForwardingFunction-\r
70     PacketProcessingFunction1-...-PacketProcessingFunctionN-TestType*\r
71   * *10ge2p1x520-dot1q-l2bdbasemaclrn-ndrdisc.robot* => 2 ports of 10GE on Intel\r
72     x520 NIC, dot1q tagged Ethernet, L2 bridge-domain baseline switching with\r
73     MAC learning, NDR throughput discovery.\r
74   * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrchk.robot* => 2 ports of 10GE on\r
75     Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain baseline switching\r
76     with MAC learning, NDR throughput discovery.\r
77   * *10ge2p1x520-ethip4-ip4base-ndrdisc.robot* => 2 ports of 10GE on Intel x520\r
78     NIC, IPv4 baseline routed forwarding, NDR throughput discovery.\r
79   * *10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot* => 2 ports of 10GE on Intel\r
80     x520 NIC, IPv6 scaled up routed forwarding, NDR throughput discovery.\r
81   * *10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot* => 2 ports of 10GE on\r
82     Intel x520 NIC, IPv4 baseline routed forwarding, ingress Access Control\r
83     Lists baseline matching on destination, NDR throughput discovery.\r
84   * *40ge2p1vic1385-ethip4-ip4base-ndrdisc.robot* => 2 ports of 40GE on Cisco\r
85     vic1385 NIC, IPv4 baseline routed forwarding, NDR throughput discovery.\r
86   * *eth2p-ethip4-ip4base-func.robot* => 2 ports of Ethernet, IPv4 baseline\r
87     routed forwarding, functional tests.\r
88 \r
89 2. **Physical port to VM (or VM chain) to physical port - a.k.a. NIC2VM2NIC,\r
90    P2V2P, NIC2VMchain2NIC, P2V2V2P**\r
91 \r
92   * *PortNICConfig-WireEncapsulation-PacketForwardingFunction-\r
93     PacketProcessingFunction1-...-PacketProcessingFunctionN-VirtEncapsulation-\r
94     VirtPortConfig-VMconfig-TestType*\r
95   * *10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2 ports\r
96     of 10GE on Intel x520 NIC, dot1q tagged Ethernet, L2 bridge-domain switching\r
97     to/from two vhost interfaces and one VM, NDR throughput discovery.\r
98   * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2\r
99     ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain\r
100     switching to/from two vhost interfaces and one VM, NDR throughput discovery.\r
101   * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc.robot* => 2\r
102     ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain\r
103     switching to/from four vhost interfaces and two VMs, NDR throughput\r
104     discovery.\r
105   * *eth2p-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func.robot* => 2 ports of\r
106     Ethernet, IPv4 VXLAN Ethernet, L2 bridge-domain switching to/from two vhost\r
107     interfaces and one VM, functional tests.\r
108 \r
109 3. **API CRUD tests - Create (Write), Read (Retrieve), Update (Modify), Delete\r
110    (Destroy) operations for configuration and operational data**\r
111 \r
112   * *ManagementTestKeyword-ManagementOperation-ManagedFunction1-...-\r
113     ManagedFunctionN-ManagementAPI1-ManagementAPIN-TestType*\r
114   * *mgmt-cfg-lisp-apivat-func* => configuration of LISP with VAT API calls,\r
115     functional tests.\r
116   * *mgmt-cfg-l2bd-apihc-apivat-func* => configuration of L2 Bridge-Domain with\r
117     HoneyComb API and VAT API calls, functional tests.\r
118   * *mgmt-oper-int-apihcnc-func* => reading status and operational data of\r
119     interface with HoneyComb NetConf API calls, functional tests.\r
120   * *mgmt-cfg-int-tap-apihcnc-func* => configuration of tap interfaces with\r
121     HoneyComb NetConf API calls, functional tests.\r
122   * *mgmt-notif-int-subint-apihcnc-func* => notifications of interface and\r
123     sub-interface events with HoneyComb NetConf Notifications, functional tests.\r
124 \r
125 For complete description of CSIT test naming convention please refer to `CSIT\r
126 test naming page <https://wiki.fd.io/view/CSIT/csit-test-naming>`_.\r