Merge "Extend vBNG PPPoE test cases functionality"
[yardstick.git] / docs / testing / user / userguide / nsb / tc_vfw_rfc3511.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International
2 .. License.
3 .. http://creativecommons.org/licenses/by/4.0
4 .. (c) OPNFV, 2018 Intel Corporation.
5
6 *******************************************************
7 Yardstick Test Case Description: NSB vFW RFC3511 (HTTP)
8 *******************************************************
9
10 +------------------------------------------------------------------------------+
11 | NSB vFW test for VNF characterization based on RFC3511 and IXIA              |
12 |                                                                              |
13 +---------------+--------------------------------------------------------------+
14 | test case id  | tc_{context}_http_ixload_{http_size}_Requests-65000_{type}   |
15 |               |                                                              |
16 |               | * context = baremetal, heat_external                         |
17 |               | * http_size = 1b, 4k, 64k, 256k, 512k, 1024k payload size    |
18 |               | * type = Concurrency, Connections, Throughput                |
19 |               |                                                              |
20 +---------------+--------------------------------------------------------------+
21 | metric        | * HTTP Total Throughput (Kbps);                              |
22 |               | * HTTP Simulated Users;                                      |
23 |               | * HTTP Concurrent Connections;                               |
24 |               | * HTTP Connection Rate;                                      |
25 |               | * HTTP Transaction Rate                                      |
26 |               |                                                              |
27 +---------------+--------------------------------------------------------------+
28 | test purpose  | The vFW RFC3511 tests measure performance characteristics of |
29 |               | the SUT by sending the HTTP traffic from uplink to downlink  |
30 |               | TG ports through vFW VNF. The application forwards received  |
31 |               | traffic based on rules provided by the user in the TC        |
32 |               | configuration and default rules created by vFW to send       |
33 |               | traffic from uplink ports to downlink and voice versa.       |
34 |               |                                                              |
35 +---------------+--------------------------------------------------------------+
36 | configuration | The 2 ports RFC3511 test cases are listed below:             |
37 |               |                                                              |
38 |               | * tc_baremetal_http_ixload_1024k_Requests-65000              |
39 |               |   _Concurrency.yaml                                          |
40 |               | * tc_baremetal_http_ixload_1b_Requests-65000                 |
41 |               |   _Concurrency.yaml                                          |
42 |               | * tc_baremetal_http_ixload_256k_Requests-65000               |
43 |               |   _Concurrency.yaml                                          |
44 |               | * tc_baremetal_http_ixload_4k_Requests-65000                 |
45 |               |   _Concurrency.yaml                                          |
46 |               | * tc_baremetal_http_ixload_512k_Requests-65000               |
47 |               |   _Concurrency.yaml                                          |
48 |               | * tc_baremetal_http_ixload_64k_Requests-65000                |
49 |               |   _Concurrency.yaml                                          |
50 |               | * tc_heat_external_http_ixload_1b_Requests-10Gbps            |
51 |               |   _Throughput.yaml                                           |
52 |               | * tc_heat_external_http_ixload_1b_Requests-65000             |
53 |               |   _Concurrency.yaml                                          |
54 |               | * tc_heat_external_http_ixload_1b_Requests-65000             |
55 |               |   _Connections.yaml                                          |
56 |               |                                                              |
57 |               | The 4 ports RFC3511 test cases are listed below:             |
58 |               |                                                              |
59 |               | * tc_baremetal_http_ixload_1b_Requests-65000                 |
60 |               |   _Concurrency_4port.yaml                                    |
61 |               |                                                              |
62 +---------------+--------------------------------------------------------------+
63 | test tool     | The vFW is a DPDK application that performs basic filtering  |
64 |               | for malformed packets and dynamic packet filtering of        |
65 |               | incoming packets using the connection tracker library.       |
66 |               |                                                              |
67 +---------------+--------------------------------------------------------------+
68 | applicability | The vFW RFC3511 test cases can be configured with different: |
69 |               |                                                              |
70 |               |  * http payload sizes;                                       |
71 |               |  * traffic flows;                                            |
72 |               |  * rules;                                                    |
73 |               |                                                              |
74 |               | Default values exist.                                        |
75 |               |                                                              |
76 +---------------+--------------------------------------------------------------+
77 | pre-test      | For OpenStack test case image (yardstick-samplevnf) needs    |
78 | conditions    | to be installed into Glance with vFW and DPDK included in    |
79 |               | it (NSB install).                                            |
80 |               |                                                              |
81 |               | For Baremetal tests cases vFW and DPDK must be installed on  |
82 |               | the hosts where the test is executed. The pod.yaml file must |
83 |               | have the necessary system and NIC information.               |
84 |               |                                                              |
85 +---------------+--------------------------------------------------------------+
86 | test sequence | Description and expected result                              |
87 |               |                                                              |
88 +---------------+--------------------------------------------------------------+
89 | step 1        | For Baremetal test: The vFW VNF is started on the hosts      |
90 |               | based on the pod file.                                       |
91 |               |                                                              |
92 |               | For Heat external test: The vFW VM are deployed and booted.  |
93 |               |                                                              |
94 +---------------+--------------------------------------------------------------+
95 | step 2        | Yardstick is connected with the TG (IxLoad) via IxLoad API   |
96 |               | and VNF by using ssh. The test will resolve the topology and |
97 |               | instantiate all VNFs and TG and collect the KPI's/metrics.   |
98 |               |                                                              |
99 +---------------+--------------------------------------------------------------+
100 | step 3        | The TG simulates HTTP traffic based on selected type of TC.  |
101 |               |                                                              |
102 |               | Concurrency:                                                 |
103 |               |   The TC attempts to simulate some number of human users.    |
104 |               |   The simulated users are gradually brought online until 64K |
105 |               |   users is met (the Ramp-Up phase), then taken offline (the  |
106 |               |   Ramp Down phase).                                          |
107 |               |                                                              |
108 |               | Connections:                                                 |
109 |               |   The TC creates some number of HTTP connections per second. |
110 |               |   It will attempt to generate the 64K of HTTP connections    |
111 |               |   per second.                                                |
112 |               |                                                              |
113 |               | Throughput:                                                  |
114 |               |   TC simultaneously transmits and receives TCP payload       |
115 |               |   (bytes) at a certain rate measured in Megabits per second  |
116 |               |   (Mbps), Kilobits per second (Kbps), or Gigabits per        |
117 |               |   second. The 10 Gbits is default throughput.                |
118 |               |                                                              |
119 |               | At the end of the TC, the KPIs are collected and stored      |
120 |               | (depends on the selected dispatcher).                        |
121 |               |                                                              |
122 +---------------+--------------------------------------------------------------+
123 | step 4        | In Baremetal test: The test quits the application and        |
124 |               | unbinds the DPDK ports.                                      |
125 |               |                                                              |
126 |               | In Heat test: All VNF VMs are deleted and connections to TG  |
127 |               | are terminated.                                              |
128 |               |                                                              |
129 +---------------+--------------------------------------------------------------+
130 | test verdict  | The test case will try to achieve the configured HTTP        |
131 |               | Concurrency/Throughput/Connections.                          |
132 +---------------+--------------------------------------------------------------+
133