Unify TG and VNF names in infrastructure files
[yardstick.git] / docs / testing / user / userguide / opnfv_yardstick_tc002.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, Ericsson AB and others.
5
6 *************************************
7 Yardstick Test Case Description TC002
8 *************************************
9
10 .. _cirros-image: https://download.cirros-cloud.net
11 .. _Ping: https://linux.die.net/man/8/ping
12
13 +-----------------------------------------------------------------------------+
14 |Network Latency                                                              |
15 |                                                                             |
16 +--------------+--------------------------------------------------------------+
17 |test case id  | OPNFV_YARDSTICK_TC002_NETWORK LATENCY                        |
18 |              |                                                              |
19 +--------------+--------------------------------------------------------------+
20 |metric        | RTT (Round Trip Time)                                        |
21 |              |                                                              |
22 +--------------+--------------------------------------------------------------+
23 |test purpose  | The purpose of TC002 is to do a basic verification that      |
24 |              | network latency is within acceptable boundaries when packets |
25 |              | travel between hosts located on same or different compute    |
26 |              | blades.                                                      |
27 |              |                                                              |
28 |              | The purpose is also to be able to spot the trends.           |
29 |              | Test results, graphs and similar shall be stored for         |
30 |              | comparison reasons and product evolution understanding       |
31 |              | between different OPNFV versions and/or configurations.      |
32 |              |                                                              |
33 +--------------+--------------------------------------------------------------+
34 |test tool     | ping                                                         |
35 |              |                                                              |
36 |              | Ping is a computer network administration software utility   |
37 |              | used to test the reachability of a host on an Internet       |
38 |              | Protocol (IP) network. It measures the round-trip time for   |
39 |              | packet sent from the originating host to a destination       |
40 |              | computer that are echoed back to the source.                 |
41 |              |                                                              |
42 |              | Ping is normally part of any Linux distribution, hence it    |
43 |              | doesn't need to be installed. It is also part of the         |
44 |              | Yardstick Docker image.                                      |
45 |              | (For example also a Cirros image can be downloaded from      |
46 |              | cirros-image_, it includes ping)                             |
47 |              |                                                              |
48 +--------------+--------------------------------------------------------------+
49 |test topology | Ping packets (ICMP protocol's mandatory ECHO_REQUEST         |
50 |              | datagram) are sent from host VM to target VM(s) to elicit    |
51 |              | ICMP ECHO_RESPONSE.                                          |
52 |              |                                                              |
53 |              | For one host VM there can be multiple target VMs.            |
54 |              | Host VM and target VM(s) can be on same or different compute |
55 |              | blades.                                                      |
56 |              |                                                              |
57 +--------------+--------------------------------------------------------------+
58 |configuration | file: opnfv_yardstick_tc002.yaml                             |
59 |              |                                                              |
60 |              | Packet size 100 bytes. Test duration 60 seconds.             |
61 |              | One ping each 10 seconds. Test is iterated two times.        |
62 |              | SLA RTT is set to maximum 10 ms.                             |
63 |              |                                                              |
64 +--------------+--------------------------------------------------------------+
65 |applicability | This test case can be configured with different:             |
66 |              |                                                              |
67 |              |  * packet sizes;                                             |
68 |              |  * burst sizes;                                              |
69 |              |  * ping intervals;                                           |
70 |              |  * test durations;                                           |
71 |              |  * test iterations.                                          |
72 |              |                                                              |
73 |              | Default values exist.                                        |
74 |              |                                                              |
75 |              | SLA is optional. The SLA in this test case serves as an      |
76 |              | example. Considerably lower RTT is expected, and also normal |
77 |              | to achieve in balanced L2 environments. However, to cover    |
78 |              | most configurations, both bare metal and fully virtualized   |
79 |              | ones, this value should be possible to achieve and           |
80 |              | acceptable for black box testing. Many real time             |
81 |              | applications start to suffer badly if the RTT time is higher |
82 |              | than this. Some may suffer bad also close to this RTT, while |
83 |              | others may not suffer at all. It is a compromise that may    |
84 |              | have to be tuned for different configuration purposes.       |
85 |              |                                                              |
86 +--------------+--------------------------------------------------------------+
87 |usability     | This test case is one of Yardstick's generic test. Thus it   |
88 |              | is runnable on most of the scenarios.                        |
89 |              |                                                              |
90 +--------------+--------------------------------------------------------------+
91 |references    | Ping_                                                        |
92 |              |                                                              |
93 |              | ETSI-NFV-TST001                                              |
94 |              |                                                              |
95 +--------------+--------------------------------------------------------------+
96 |pre-test      | The test case image (cirros-image) needs to be installed     |
97 |conditions    | into Glance with ping included in it.                        |
98 |              |                                                              |
99 |              | No POD specific requirements have been identified.           |
100 |              |                                                              |
101 +--------------+--------------------------------------------------------------+
102 |test sequence | description and expected result                              |
103 |              |                                                              |
104 +--------------+--------------------------------------------------------------+
105 |step 1        | Two host VMs are booted, as server and client.               |
106 |              |                                                              |
107 +--------------+--------------------------------------------------------------+
108 |step 2        | Yardstick is connected with the server VM by using ssh.      |
109 |              | 'ping_benchmark' bash script is copied from Jump Host to the |
110 |              | server VM via the ssh tunnel.                                |
111 |              |                                                              |
112 +--------------+--------------------------------------------------------------+
113 |step 3        | Ping is invoked. Ping packets are sent from server VM to     |
114 |              | client VM. RTT results are calculated and checked against    |
115 |              | the SLA. Logs are produced and stored.                       |
116 |              |                                                              |
117 |              | Result: Logs are stored.                                     |
118 |              |                                                              |
119 +--------------+--------------------------------------------------------------+
120 |step 4        | Two host VMs are deleted.                                    |
121 |              |                                                              |
122 +--------------+--------------------------------------------------------------+
123 |test verdict  | Test should not PASS if any RTT is above the optional SLA    |
124 |              | value, or if there is a test case execution problem.         |
125 |              |                                                              |
126 +--------------+--------------------------------------------------------------+