add yardstick iruya 9.0.0 release notes
[yardstick.git] / docs / testing / user / userguide / opnfv_yardstick_tc011.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 TC011
8 *************************************
9
10 .. _iperf3: https://iperf.fr/
11
12 +-----------------------------------------------------------------------------+
13 |Packet delay variation between VMs                                           |
14 |                                                                             |
15 +--------------+--------------------------------------------------------------+
16 |test case id  | OPNFV_YARDSTICK_TC011_PACKET DELAY VARIATION BETWEEN VMs     |
17 |              |                                                              |
18 +--------------+--------------------------------------------------------------+
19 |metric        | jitter: packet delay variation (ms)                          |
20 |              |                                                              |
21 +--------------+--------------------------------------------------------------+
22 |test purpose  | The purpose of TC011 is to evaluate the IaaS network         |
23 |              | performance with regards to network jitter (packet delay     |
24 |              | variation).                                                  |
25 |              | It measures the packet delay variation sending the packets   |
26 |              | from one VM to the other.                                    |
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     | iperf3                                                       |
35 |              |                                                              |
36 |              | iPerf3 is a tool for active measurements of the maximum      |
37 |              | achievable bandwidth on IP networks. It supports tuning of   |
38 |              | various parameters related to timing, buffers and protocols. |
39 |              | The UDP protocols can be used to measure jitter delay.       |
40 |              |                                                              |
41 |              | (iperf3 is not always part of a Linux distribution, hence it |
42 |              | needs to be installed. It is part of the Yardstick Docker    |
43 |              | image. As an example see the /yardstick/tools/ directory for |
44 |              | how to generate a Linux image with pktgen included.)         |
45 |              |                                                              |
46 +--------------+--------------------------------------------------------------+
47 |test          | iperf3 test is invoked between a host VM and a target VM.    |
48 |description   |                                                              |
49 |              | Jitter calculations are continuously computed by the server, |
50 |              | as specified by RTP in RFC 1889. The client records a 64 bit |
51 |              | second/microsecond timestamp in the packet. The server       |
52 |              | computes the relative transit time as (server's receive time |
53 |              | - client's send time). The client's and server's clocks do   |
54 |              | not need to be synchronized; any difference is subtracted    |
55 |              | outin the jitter calculation. Jitter is the smoothed mean of |
56 |              | differences between consecutive transit times.               |
57 |              |                                                              |
58 +--------------+--------------------------------------------------------------+
59 |configuration | File: opnfv_yardstick_tc011.yaml                             |
60 |              |                                                              |
61 |              | * options:                                                   |
62 |              |   protocol: udp # The protocol used by iperf3 tools          |
63 |              |   # Send the given number of packets without pausing:        |
64 |              |   bandwidth: 20m                                             |
65 |              | * runner:                                                    |
66 |              |   duration: 30 # Total test duration 30 seconds.             |
67 |              |                                                              |
68 |              | * SLA (optional):                                            |
69 |              |   jitter: 10 (ms) # The maximum amount of jitter that is     |
70 |              |   accepted.                                                  |
71 |              |                                                              |
72 +--------------+--------------------------------------------------------------+
73 |applicability | Test can be configured with different:                       |
74 |              |                                                              |
75 |              | * bandwidth: Test case can be configured with different      |
76 |              |              bandwidth.                                      |
77 |              |                                                              |
78 |              | * duration: The test duration can be configured.             |
79 |              |                                                              |
80 |              | * jitter: SLA is optional. The SLA in this test case         |
81 |              |           serves as an example.                              |
82 |              |                                                              |
83 +--------------+--------------------------------------------------------------+
84 |usability     | This test case is one of Yardstick's generic test. Thus it   |
85 |              | is runnable on most of the scenarios.                        |
86 |              |                                                              |
87 +--------------+--------------------------------------------------------------+
88 |references    | iperf3_                                                      |
89 |              |                                                              |
90 |              | ETSI-NFV-TST001                                              |
91 |              |                                                              |
92 +--------------+--------------------------------------------------------------+
93 |pre-test      | The test case image needs to be installed into Glance        |
94 |conditions    | with iperf3 included in the image.                           |
95 |              |                                                              |
96 |              | No POD specific requirements have been identified.           |
97 |              |                                                              |
98 +--------------+--------------------------------------------------------------+
99 |test sequence | description and expected result                              |
100 |              |                                                              |
101 +--------------+--------------------------------------------------------------+
102 |step 1        | Two host VMs with iperf3 installed are booted, as server and |
103 |              | client.                                                      |
104 |              |                                                              |
105 +--------------+--------------------------------------------------------------+
106 |step 2        | Yardstick is connected with the host VM by using ssh.        |
107 |              | A iperf3 server is started on the server VM via the ssh      |
108 |              | tunnel.                                                      |
109 |              |                                                              |
110 +--------------+--------------------------------------------------------------+
111 |step 3        | iperf3 benchmark is invoked. Jitter is calculated and check  |
112 |              | against the SLA. Logs are produced and stored.               |
113 |              |                                                              |
114 |              | Result: Logs are stored.                                     |
115 |              |                                                              |
116 +--------------+--------------------------------------------------------------+
117 |step 4        | The host VMs are deleted.                                    |
118 |              |                                                              |
119 +--------------+--------------------------------------------------------------+
120 |test verdict  | Test should not PASS if any jitter is above the optional SLA |
121 |              | value, or if there is a test case execution problem.         |
122 |              |                                                              |
123 +--------------+--------------------------------------------------------------+