Add license info and update structure
[yardstick.git] / docs / userguide / opnfv_yardstick_tc021.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 TC021
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_TC0021_Virtual Traffic Classifier            |
18 |              | Instantiation Test in Presence of Noisy Neighbours           |
19 |              |                                                              |
20 +--------------+--------------------------------------------------------------+
21 |metric        | Failure                                                      |
22 |              |                                                              |
23 +--------------+--------------------------------------------------------------+
24 |test purpose  | To verify that a newly instantiated vTC is 'alive' and       |
25 |              | functional and its instantiation is correctly supported by   |
26 |              | the infrastructure in the presence of noisy neighbours.      |
27 |              |                                                              |
28 +--------------+--------------------------------------------------------------+
29 |configuration | file: opnfv_yardstick_tc021.yaml                             |
30 |              |                                                              |
31 |              | vnic_type: type of VNIC to be used.                          |
32 |              |      Allowed values are:                                     |
33 |              |           - normal: for default OvS port configuration       |
34 |              |           - direct: for SR-IOV port configuration            |
35 |              |      Default value: None                                     |
36 |              |                                                              |
37 |              | vtc_flavor: OpenStack flavor to be used for the vTC          |
38 |              |      Default available values are: m1.small, m1.medium,      |
39 |              |      and m1.large, but the user can create his/her own       |
40 |              |      flavor and give it as input                             |
41 |              |      Default value: None                                     |
42 |              |                                                              |
43 |              | num_of_neighbours: Number of noisy neighbours (VMs) to be    |
44 |              |     instantiated during the experiment.                      |
45 |              |     Allowed values: range (1, 10)                            |
46 |              |                                                              |
47 |              | amount_of_ram: RAM to be used by each neighbor.              |
48 |              |     Allowed values: ['250M', '1G', '2G', '3G', '4G', '5G',   |
49 |              |                      '6G', '7G', '8G', '9G', '10G']          |
50 |              |     Deault value: 256M                                       |
51 |              |                                                              |
52 |              | number_of_cores: Number of noisy neighbours (VMs) to be      |
53 |              |     instantiated during the experiment.                      |
54 |              |     Allowed values: range (1, 10)                            |
55 |              |     Default value: 1                                         |
56 |              |                                                              |
57 |              | vlan_sender: vlan tag of the network on which the vTC will   |
58 |              |      receive traffic (VLAN Network 1).                       |
59 |              |      Allowed values: range (1, 4096)                         |
60 |              |                                                              |
61 |              | vlan_receiver: vlan tag of the network on which the vTC      |
62 |              |      will send traffic back to the packet generator          |
63 |              |      (VLAN Network 2).                                       |
64 |              |      Allowed values: range (1, 4096)                         |
65 |              |                                                              |
66 |              | default_net_name: neutron name of the defaul network that    |
67 |              |      is used for access to the internet from the vTC         |
68 |              |      (vNIC 1).                                               |
69 |              |                                                              |
70 |              | default_subnet_name: subnet name for vNIC1                   |
71 |              |      (information available through Neutron).                |
72 |              |                                                              |
73 |              | vlan_net_1_name: Neutron Name for VLAN Network 1             |
74 |              |      (information available through Neutron).                |
75 |              |                                                              |
76 |              | vlan_subnet_1_name: Subnet Neutron name for VLAN Network 1   |
77 |              |      (information available through Neutron).                |
78 |              |                                                              |
79 |              | vlan_net_2_name: Neutron Name for VLAN Network 2             |
80 |              |      (information available through Neutron).                |
81 |              |                                                              |
82 |              | vlan_subnet_2_name: Subnet Neutron name for VLAN Network 2   |
83 |              |      (information available through Neutron).                |
84 |              |                                                              |
85 +--------------+--------------------------------------------------------------+
86 |test tool     | DPDK pktgen                                                  |
87 |              |                                                              |
88 |              | DPDK Pktgen is not part of a Linux distribution,             |
89 |              | hence it needs to be installed by the user.                  |
90 |              |                                                              |
91 +--------------+--------------------------------------------------------------+
92 |references    | DPDK Pktgen: DPDK Pktgen: DPDKpktgen_                        |
93 |              |                                                              |
94 |              | ETSI-NFV-TST001                                              |
95 |              |                                                              |
96 |              | RFC 2544: rfc2544_                                           |
97 |              |                                                              |
98 +--------------+--------------------------------------------------------------+
99 |applicability | Test can be configured with different flavors, vNIC type     |
100 |              | and packet sizes. Default values exist as specified above.   |
101 |              | The vNIC type and flavor MUST be specified by the user.      |
102 |              |                                                              |
103 +--------------+--------------------------------------------------------------+
104 |pre-test      | The vTC has been successfully instantiated and configured.   |
105 |              | The user has correctly assigned the values to the deployment |
106 |              |  configuration parameters.                                   |
107 |              |                                                              |
108 |              | - Multicast traffic MUST be enabled on the network.          |
109 |              |      The Data network switches need to be configured in      |
110 |              |      order to manage multicast traffic.                      |
111 |              |      Installation and configuration of smcroute is required  |
112 |              |      before to run the test case.                            |
113 |              |      (For further instructions please refer to the ApexLake  |
114 |              |      documentation).                                         |
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 provided |
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 selected parameters:          |
141 |              | - vTC flavor                                                 |
142 |              | - vNIC type                                                  |
143 |              | A constant rate traffic is sent to the vTC for 10 seconds.   |
144 |              |                                                              |
145 +--------------+--------------------------------------------------------------+
146 |step 5        | The vTC instance tags all the packets and sends them back to |
147 |              | the packet generator for 10 seconds.                         |
148 |              |                                                              |
149 |              | The framework checks if the packet generator receives back   |
150 |              | all the packets with the correct tag from the vTC.           |
151 |              |                                                              |
152 +--------------+--------------------------------------------------------------+
153 |test verdict  |  The vTC is deemed to be successfully instantiated if all    |
154 |              |  packets are sent back with the right tag as requested,      |
155 |              |  else it is deemed DoA (Dead on arrival)                     |
156 |              |                                                              |
157 +--------------+--------------------------------------------------------------+