update docs for procedure after host reboot
[yardstick.git] / docs / testing / user / userguide / opnfv_yardstick_tc081.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, Huawei Technologies Co.,Ltd and others.
5
6 *************************************
7 Yardstick Test Case Description TC080
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_TC081_NETWORK_LATENCY_BETWEEN_CONTAINER_AND_ |
18 |              | VM                                                           |
19 |              |                                                              |
20 +--------------+--------------------------------------------------------------+
21 |metric        | RTT (Round Trip Time)                                        |
22 |              |                                                              |
23 +--------------+--------------------------------------------------------------+
24 |test purpose  | The purpose of TC080 is to do a basic verification that      |
25 |              | network latency is within acceptable boundaries when packets |
26 |              | travel between a containers and a VM.                        |
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. (For example also a Cirros image can |
45 |              | be downloaded from cirros-image_, it includes ping)          |
46 |              |                                                              |
47 +--------------+--------------------------------------------------------------+
48 |test topology | Ping packets (ICMP protocol's mandatory ECHO_REQUEST         |
49 |              | datagram) are sent from host container to target vm to       |
50 |              | elicit ICMP ECHO_RESPONSE.                                   |
51 |              |                                                              |
52 +--------------+--------------------------------------------------------------+
53 |configuration | file: opnfv_yardstick_tc081.yaml                             |
54 |              |                                                              |
55 |              | Packet size 200 bytes. Test duration 60 seconds.             |
56 |              | SLA RTT is set to maximum 10 ms.                             |
57 |              |                                                              |
58 +--------------+--------------------------------------------------------------+
59 |applicability | This test case can be configured with different:             |
60 |              |                                                              |
61 |              |  * packet sizes;                                             |
62 |              |  * burst sizes;                                              |
63 |              |  * ping intervals;                                           |
64 |              |  * test durations;                                           |
65 |              |  * test iterations.                                          |
66 |              |                                                              |
67 |              | Default values exist.                                        |
68 |              |                                                              |
69 |              | SLA is optional. The SLA in this test case serves as an      |
70 |              | example. Considerably lower RTT is expected, and also normal |
71 |              | to achieve in balanced L2 environments. However, to cover    |
72 |              | most configurations, both bare metal and fully virtualized   |
73 |              | ones, this value should be possible to achieve and           |
74 |              | acceptable for black box testing. Many real time             |
75 |              | applications start to suffer badly if the RTT time is higher |
76 |              | than this. Some may suffer bad also close to this RTT, while |
77 |              | others may not suffer at all. It is a compromise that may    |
78 |              | have to be tuned for different configuration purposes.       |
79 |              |                                                              |
80 +--------------+--------------------------------------------------------------+
81 |usability     | This test case should be run in Kunernetes environment.      |
82 |              |                                                              |
83 +--------------+--------------------------------------------------------------+
84 |references    | Ping_                                                        |
85 |              |                                                              |
86 |              | ETSI-NFV-TST001                                              |
87 |              |                                                              |
88 +--------------+--------------------------------------------------------------+
89 |pre-test      | The test case Docker image (openretriever/yardstick) needs   |
90 |conditions    | to be pulled into Kubernetes environment.                    |
91 |              | The VM image (cirros-image) needs to be installed into       |
92 |              | Glance with ping included in it.                             |
93 |              |                                                              |
94 |              | No further requirements have been identified.                |
95 |              |                                                              |
96 +--------------+--------------------------------------------------------------+
97 |test sequence | description and expected result                              |
98 |              |                                                              |
99 +--------------+--------------------------------------------------------------+
100 |step 1        | A containers is booted, as server and a VM is booted as      |
101 |              | client.                                                      |
102 |              |                                                              |
103 +--------------+--------------------------------------------------------------+
104 |step 2        | Yardstick is connected with the server container by using    |
105 |              | ssh. 'ping_benchmark' bash script is copied from Jump Host   |
106 |              | to the server container via the ssh tunnel.                  |
107 |              |                                                              |
108 +--------------+--------------------------------------------------------------+
109 |step 3        | Ping is invoked. Ping packets are sent from server container |
110 |              | to client VM. RTT results are calculated and checked against |
111 |              | the SLA. Logs are produced and stored.                       |
112 |              |                                                              |
113 |              | Result: Logs are stored.                                     |
114 |              |                                                              |
115 +--------------+--------------------------------------------------------------+
116 |step 4        | The container and VM are deleted.                            |
117 |              |                                                              |
118 +--------------+--------------------------------------------------------------+
119 |test verdict  | Test should not PASS if any RTT is above the optional SLA    |
120 |              | value, or if there is a test case execution problem.         |
121 |              |                                                              |
122 +--------------+--------------------------------------------------------------+