info: Updated key project facts
[vswitchperf.git] / conf / 01_testcases.conf
1 # Copyright 2015-2016 Intel Corporation.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #   http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 # This file describes a list of testcases.  Each testcase is described as a
16 # dictionary in a list of dictionaries.
17 #
18 # The dictionary keys, their meanings and available values are:
19 #
20 # "Name": "phy2phy_burst",         # A human-readable string identifying the
21 #                                  # test.
22 # "Deployment": "p2p",             # One of the supported deployment scenarios.
23 # "Description": "Lorem ipsum..."  # Optional. A human-readable string
24 #                                  # describing the test.
25 # "Frame Modification": "vlan"     # One of the supported frame modifications:
26 #                                  # vlan, mpls, mac, dscp, ttl, ip_addr,
27 #                                  # ip_port.
28 # "Load": dictionary               # Optional. Configures background load
29 #                                  # during testcase execution.
30 #   Description of "Load" dictionary keys, their meanings and available values:
31 #
32 #   "tool": "stress"               # One of the supported load generators.
33 #   "load": 0-100                  # percentage of cores which should be
34 #                                  # utilized by load generator
35 #                                  # e.g. load = 70%, detected cpu cores = 14 =>
36 #                                  # round(14*0.7)=10, i.e. 10 instances of load
37 #                                  # generator will be executed
38 #   "reserved": 0- (Default 0)     # Optional. Defines number of cores reserved
39 #                                  # for vsperf
40 #                                  # e.g. load = 80%, detected cpu cores = 14,
41 #                                  # reserved = 4 => round((14-4)*0.8)=8,
42 #                                  # i.e. 8 load gen. instances will be executed
43 #   "pattern" : "c"                # stress/stress-ng specific; Number of 'c',
44 #                                  # 'm' and 'i' defines ratio between cpu, mem
45 #                                  # and io workers respectively
46 #                                  # e.g. "ccccmmi" => ratio among workers types
47 #                                  # will be 3:2:1, so in case that 12 stress
48 #                                  # instances should be executed, then 6 cpu,
49 #                                  # 4 memory and 2 io workers will be executed
50 #   "load_memory": 0-100           # Optional. Defines percentage of the system
51 #                                  # memory, which should be utilized by memory
52 #                                  # workers (if they are part of "pattern").
53 #                                  # if not specified then default stress(-ng)
54 #                                  # value will be used
55 #   "options": ""                  # Optional. Additional command line options
56 #                                  # to be passed to the load generator.
57 # "vSwitch" : "OvsVanilla"         # Defines vSwitch to be used for test execution.
58 #                                  # It will override any VSWITCH option stated
59 #                                  # in configuration files or value specified
60 #                                  # on command line through --vswitch parameter.
61 # "VNF" : "QemuVirtioNet"          # Defines VNF to be used for test execution.
62 #                                  # It will override any VNF option stated
63 #                                  # in configuration files or value specified
64 #                                  # on command line through --vnf parameter.
65 # "Trafficgen" : "Dummy"           # Defines traffic generator to be used for test
66 #                                  # execution. It will override any VNF option
67 #                                  # stated in configuration files or value
68 #                                  # specified on command line through --trafficgen
69 #                                  # parameter.
70 # "Parameters" : {'TRAFFICGEN_PKT_SIZES' : (512,)},
71 #                                  # Dictionary with testcase specific configuration
72 #                                  # environment. Specified parameters will be modified
73 #                                  # before the test execution and their original values will
74 #                                  # be restored after TC finishes. This dictionary will
75 #                                  # override any values defined by TEST_PARAMS option
76 #                                  # stated in configuration files or values specified
77 #                                  # on command line through --test-params parameter.
78 # "Test Modifier": [FrameMod|Other],
79 # "Dependency": [Test_Case_Name |None],
80
81 PERFORMANCE_TESTS = [
82     {
83         "Name": "phy2phy_tput",
84         "Deployment": "p2p",
85         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
86         "Parameters" : {
87             "TRAFFIC" : {
88                 "traffic_type" : "rfc2544_throughput",
89             },
90         },
91     },
92     {
93         "Name": "phy2phy_forwarding",
94         "Deployment": "p2p",
95         "Description": "LTD.Forwarding.RFC2889.MaxForwardingRate",
96         "Parameters" : {
97             "TRAFFIC" : {
98                 "traffic_type" : "rfc2889",
99             },
100         },
101     },
102     {
103         "Name": "back2back",
104         "Deployment": "p2p",
105         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
106         "Parameters" : {
107             "TRAFFIC" : {
108                 "traffic_type" : "rfc2544_back2back",
109             },
110         },
111     },
112     {
113         "Name": "phy2phy_tput_mod_vlan",
114         "Deployment": "p2p",
115         "Frame Modification": "vlan",
116         "Description": "LTD.Throughput.RFC2544.PacketLossRatioFrameModification",
117         "Parameters" : {
118             "TRAFFIC" : {
119                 "traffic_type" : "rfc2544_throughput",
120             },
121         },
122     },
123     {
124         "Name": "phy2phy_cont",
125         "Deployment": "p2p",
126         "Description": "Phy2Phy Continuous Stream",
127         "Parameters" : {
128             "TRAFFIC" : {
129                 "traffic_type" : "rfc2544_continuous",
130                 "frame_rate" : 100,
131             },
132         },
133     },
134     {
135         "Name": "pvp_cont",
136         "Deployment": "pvp",
137         "Description": "PVP Continuous Stream",
138         "Parameters" : {
139             "TRAFFIC" : {
140                 "traffic_type" : "rfc2544_continuous",
141                 "frame_rate" : 100,
142             },
143         },
144     },
145     {
146         "Name": "pvvp_cont",
147         "Deployment": "pvvp",
148         "Description": "PVVP Continuous Stream",
149         "Parameters" : {
150             "TRAFFIC" : {
151                 "traffic_type" : "rfc2544_continuous",
152                 "frame_rate" : 100,
153             },
154         },
155     },
156     {
157         "Name": "pvpv_cont",
158         "Deployment": "pvpv",
159         "Description": "Two VMs in parallel with Continuous Stream",
160         "Parameters" : {
161             "TRAFFIC" : {
162                 "traffic_type" : "rfc2544_continuous",
163                 "frame_rate" : 100,
164             },
165         },
166     },
167     {
168         "Name": "phy2phy_scalability",
169         "Deployment": "p2p",
170         "Description": "LTD.Scalability.Flows.RFC2544.0PacketLoss",
171         "Parameters" : {
172             "TRAFFIC" : {
173                 "traffic_type" : "rfc2544_throughput",
174                 "multistream" : "8000",
175             },
176         },
177     },
178     {
179         "Name": "pvp_tput",
180         "Deployment": "pvp",
181         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
182         "Parameters" : {
183             "TRAFFIC" : {
184                 "traffic_type" : "rfc2544_throughput",
185             },
186         },
187     },
188     {
189         "Name": "pvp_back2back",
190         "Deployment": "pvp",
191         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
192         "Parameters" : {
193             "TRAFFIC" : {
194                 "traffic_type" : "rfc2544_back2back",
195             },
196         },
197     },
198     {
199         "Name": "pvvp_tput",
200         "Collector": "cpu",
201         "Deployment": "pvvp",
202         "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
203         "Parameters" : {
204             "TRAFFIC" : {
205                 "traffic_type" : "rfc2544_throughput",
206             },
207         },
208     },
209     {
210         "Name": "pvvp_back2back",
211         "Collector": "cpu",
212         "Deployment": "pvvp",
213         "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
214         "Parameters" : {
215             "TRAFFIC" : {
216                 "traffic_type" : "rfc2544_back2back",
217             },
218         },
219     },
220     {
221         "Name": "phy2phy_cpu_load",
222         "Deployment": "p2p",
223         "Description": "LTD.CPU.RFC2544.0PacketLoss",
224         "Load" : {
225             "tool" : "stress-ng",
226             "load" : 100,
227             "reserved" : 4,
228             "pattern" : "c",
229         },
230         "Parameters" : {
231             "TRAFFIC" : {
232                 "traffic_type" : "rfc2544_throughput",
233             },
234         },
235     },
236     {
237         "Name": "phy2phy_mem_load",
238         "Deployment": "p2p",
239         "Description": "LTD.Memory.RFC2544.0PacketLoss",
240         "Load" : {
241             "tool" : "stress-ng",
242             "load" : 50,
243             "pattern" : "m",
244             "load_memory" : 80,
245         },
246         "Parameters" : {
247             "TRAFFIC" : {
248                 "traffic_type" : "rfc2544_throughput",
249             },
250         },
251     },
252 ]