1 .. This work is licensed under a Creative Commons Attribution 4.0 International
3 .. http://creativecommons.org/licenses/by/4.0
4 .. (c) OPNFV, 2018 Intel Corporation.
6 *******************************************************
7 Yardstick Test Case Description: NSB vFW RFC3511 (HTTP)
8 *******************************************************
10 +------------------------------------------------------------------------------+
11 | NSB vFW test for VNF characterization based on RFC3511 and IXIA |
13 +---------------+--------------------------------------------------------------+
14 | test case id | tc_{context}_http_ixload_{http_size}_Requests-65000_{type} |
16 | | * context = baremetal, heat_external |
17 | | * http_size = 1b, 4k, 64k, 256k, 512k, 1024k payload size |
18 | | * type = Concurrency, Connections, Throughput |
20 +---------------+--------------------------------------------------------------+
21 | metric | * HTTP Total Throughput (Kbps); |
22 | | * HTTP Simulated Users; |
23 | | * HTTP Concurrent Connections; |
24 | | * HTTP Connection Rate; |
25 | | * HTTP Transaction Rate |
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. |
35 +---------------+--------------------------------------------------------------+
36 | configuration | The 2 ports RFC3511 test cases are listed below: |
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 |
57 | | The 4 ports RFC3511 test cases are listed below: |
59 | | * tc_baremetal_http_ixload_1b_Requests-65000 |
60 | | _Concurrency_4port.yaml |
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. |
67 +---------------+--------------------------------------------------------------+
68 | applicability | The vFW RFC3511 test cases can be configured with different: |
70 | | * http payload sizes; |
71 | | * traffic flows; |
74 | | Default values exist. |
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). |
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. |
85 +---------------+--------------------------------------------------------------+
86 | test sequence | Description and expected result |
88 +---------------+--------------------------------------------------------------+
89 | step 1 | For Baremetal test: The vFW VNF is started on the hosts |
90 | | based on the pod file. |
92 | | For Heat external test: The vFW VM are deployed and booted. |
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. |
99 +---------------+--------------------------------------------------------------+
100 | step 3 | The TG simulates HTTP traffic based on selected type of TC. |
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). |
109 | | The TC creates some number of HTTP connections per second. |
110 | | It will attempt to generate the 64K of HTTP connections |
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. |
119 | | At the end of the TC, the KPIs are collected and stored |
120 | | (depends on the selected dispatcher). |
122 +---------------+--------------------------------------------------------------+
123 | step 4 | In Baremetal test: The test quits the application and |
124 | | unbinds the DPDK ports. |
126 | | In Heat test: All VNF VMs are deleted and connections to TG |
127 | | are terminated. |
129 +---------------+--------------------------------------------------------------+
130 | test verdict | The test case will try to achieve the configured HTTP |
131 | | Concurrency/Throughput/Connections. |
132 +---------------+--------------------------------------------------------------+