Merge "rename test suite script"
[yardstick.git] / docs / userguide / opnfv_yardstick_tc007.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, Intel Corporation and others.
5
6 *************************************
7 Yardstick Test Case Description TC007
8 *************************************
9
10 .. _DPDKpktgen: https://github.com/Pktgen/Pktgen-DPDK/
11 .. _rfc2544: https://www.ietf.org/rfc/rfc2544.txt
12
13 +-----------------------------------------------------------------------------+
14 |Network Performance                                                          |
15 |                                                                             |
16 +--------------+--------------------------------------------------------------+
17 |test case id  | OPNFV_YARDSTICK_TC007_Virtual Traffic Classifier Data Plane  |
18 |              |  Throughput Benchmarking Test in Presence of Noisy           |
19 |              |  neighbours                                                  |
20 |              |                                                              |
21 +--------------+--------------------------------------------------------------+
22 |metric        | Throughput                                                   |
23 |              |                                                              |
24 +--------------+--------------------------------------------------------------+
25 |test purpose  | To measure the throughput supported by the virtual Traffic   |
26 |              | Classifier according to the RFC2544 methodology for a        |
27 |              | user-defined set of vTC deployment configurations in the     |
28 |              | presence of noisy neighbours.                                |
29 |              |                                                              |
30 +--------------+--------------------------------------------------------------+
31 |configuration | file: opnfv_yardstick_tc007.yaml                             |
32 |              |                                                              |
33 |              | packet_size: size of the packets to be used during the       |
34 |              |      throughput calculation.                                 |
35 |              |      Allowe values: [64, 128, 256, 512, 1024, 1280, 1518]    |
36 |              |                                                              |
37 |              | vnic_type: type of VNIC to be used.                          |
38 |              |      Allowed values are:                                     |
39 |              |           - normal: for default OvS port configuration       |
40 |              |           - direct: for SR-IOV port configuration            |
41 |              |                                                              |
42 |              | vtc_flavor: OpenStack flavor to be used for the vTC          |
43 |              |     Default available values are: m1.small, m1.medium,       |
44 |              |     and m1.large, but the user can create his/her own        |
45 |              |     flavor and give it as input                              |
46 |              |                                                              |
47 |              | num_of_neighbours: Number of noisy neighbours (VMs) to be    |
48 |              |     instantiated during the experiment.                      |
49 |              |     Allowed values: range (1, 10)                            |
50 |              |                                                              |
51 |              | amount_of_ram: RAM to be used by each neighbor.              |
52 |              |     Allowed values: ['250M', '1G', '2G', '3G', '4G', '5G',   |
53 |              |                      '6G', '7G', '8G', '9G', '10G']          |
54 |              |     Deault value: 256M                                       |
55 |              |                                                              |
56 |              | number_of_cores: Number of noisy neighbours (VMs) to be      |
57 |              |     instantiated during the experiment.                      |
58 |              |     Allowed values: range (1, 10)                            |
59 |              |     Default value: 1                                         |
60 |              |                                                              |
61 |              | vlan_sender: vlan tag of the network on which the vTC will   |
62 |              |      receive traffic (VLAN Network 1).                       |
63 |              |      Allowed values: range (1, 4096)                         |
64 |              |                                                              |
65 |              | vlan_receiver: vlan tag of the network on which the vTC      |
66 |              |      will send traffic back to the packet generator          |
67 |              |      (VLAN Network 2).                                       |
68 |              |      Allowed values: range (1, 4096)                         |
69 |              |                                                              |
70 |              | default_net_name: neutron name of the defaul network that    |
71 |              |      is used for access to the internet from the vTC         |
72 |              |      (vNIC 1).                                               |
73 |              |                                                              |
74 |              | default_subnet_name: subnet name for vNIC1                   |
75 |              |      (information available through Neutron).                |
76 |              |                                                              |
77 |              | vlan_net_1_name: Neutron Name for VLAN Network 1             |
78 |              |      (information available through Neutron).                |
79 |              |                                                              |
80 |              | vlan_subnet_1_name: Subnet Neutron name for VLAN Network 1   |
81 |              |      (information available through Neutron).                |
82 |              |                                                              |
83 |              | vlan_net_2_name: Neutron Name for VLAN Network 2             |
84 |              |      (information available through Neutron).                |
85 |              |                                                              |
86 |              | vlan_subnet_2_name: Subnet Neutron name for VLAN Network 2   |
87 |              |      (information available through Neutron).                |
88 |              |                                                              |
89 +--------------+--------------------------------------------------------------+
90 |test tool     | DPDK pktgen                                                  |
91 |              |                                                              |
92 |              | DPDK Pktgen is not part of a Linux distribution,             |
93 |              | hence it needs to be installed by the user.                  |
94 |              |                                                              |
95 +--------------+--------------------------------------------------------------+
96 |references    | DPDKpktgen_                                                  |
97 |              |                                                              |
98 |              | ETSI-NFV-TST001                                              |
99 |              |                                                              |
100 |              | rfc2544_                                                     |
101 |              |                                                              |
102 +--------------+--------------------------------------------------------------+
103 |applicability | Test can be configured with different flavors, vNIC type     |
104 |              | and packet sizes. Default values exist as specified above.   |
105 |              | The vNIC type and flavor MUST be specified by the user.      |
106 |              |                                                              |
107 +--------------+--------------------------------------------------------------+
108 |pre-test      | The vTC has been successfully instantiated and configured.   |
109 |              | The user has correctly assigned the values to the deployment |
110 |              |  configuration parameters.                                   |
111 |              |                                                              |
112 |              | - Multicast traffic MUST be enabled on the network.          |
113 |              |      The Data network switches need to be configured in      |
114 |              |      order to manage multicast traffic.                      |
115 |              | - In the case of SR-IOV vNICs use, SR-IOV compatible NICs    |
116 |              |      must be used on the compute node.                       |
117 |              | - Yarsdtick needs to be installed on a host connected to the |
118 |              |      data network and the host must have 2 DPDK-compatible   |
119 |              |      NICs. Proper configuration of DPDK and DPDK pktgen is   |
120 |              |      required before to run the test case.                   |
121 |              |      (For further instructions please refer to the ApexLake  |
122 |              |      documentation).                                         |
123 |              |                                                              |
124 +--------------+--------------------------------------------------------------+
125 |test sequence | Description and expected results                             |
126 |              |                                                              |
127 +--------------+--------------------------------------------------------------+
128 |step 1        | The noisy neighbours are deployed as required by the user.   |
129 |              |                                                              |
130 +--------------+--------------------------------------------------------------+
131 |step 2        | The vTC is deployed, according to the configuration required |
132 |              | by the user                                                  |
133 |              |                                                              |
134 +--------------+--------------------------------------------------------------+
135 |step 3        | The vTC is correctly deployed and configured as necessary.   |
136 |              | The initialization script has been correctly executed and    |
137 |              | the vTC is ready to receive and process the traffic.         |
138 |              |                                                              |
139 +--------------+--------------------------------------------------------------+
140 |step 4        | Test case is executed with the parameters specified by the   |
141 |              | user:                                                        |
142 |              |  - vTC flavor                                                |
143 |              |  - vNIC type                                                 |
144 |              |  - packet size                                               |
145 |              | The traffic is sent to the vTC using the maximum available   |
146 |              |  traffic rate                                                |
147 |              |                                                              |
148 +--------------+--------------------------------------------------------------+
149 |step 5        | The vTC instance forwards all the packets back to the        |
150 |              | packet generator for 60 seconds, as specified by RFC 2544.   |
151 |              |                                                              |
152 |              | Steps 4 and 5 are executed different times with different    |
153 |              | with different traffic rates, in order to find the maximum   |
154 |              | supported traffic rate, accoring to the current definition   |
155 |              | of throughput in RFC 2544.                                   |
156 |              |                                                              |
157 +--------------+--------------------------------------------------------------+
158 |test verdict  |  The result of the test is a number between 0 and 100 which  |
159 |              |  represents the throughput in terms of percentage of the     |
160 |              |  available pktgen NIC bandwidth.                             |
161 |              |                                                              |
162 +--------------+--------------------------------------------------------------+