1 # Copyright 2015-2016 Intel Corporation.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 # This file describes a list of testcases. Each testcase is described as a
16 # dictionary in a list of dictionaries.
18 # The dictionary keys, their meanings and available values are:
20 # "Name": "phy2phy_burst", # A human-readable string identifying the
22 # "Traffic Type": "rfc2544", # One of the supported traffic types.
23 # # It can be overridden by cli option traffic_type.
24 # # Default value is "rfc2544".
25 # "Deployment": "p2p", # One of the supported deployment scenarios.
26 # "Description": "Lorem ipsum..." # Optional. A human-readable string
27 # # describing the test.
28 # "Frame Modification": "vlan" # One of the supported frame modifications:
29 # # vlan, mpls, mac, dscp, ttl, ip_addr,
31 # "biDirectional": ["True"|"False"]
32 # # Specifies if generated traffic will be
33 # # full-duplex (True) or half-duplex (False)
34 # # It can be overridden by cli option bidirectional.
35 # # Default value is "False". Must be of type
37 # "MultiStream": 0-65535 # Optional. Defines number of flows simulated
38 # # by traffic generator. Value 0 disables
39 # # MultiStream feature
40 # # It can be overridden by cli option multistream.
41 # "Stream Type": ["L2"|"L3"|"L4"] # Optional. Stream Type is an extension
42 # # of the "MultiStream" feature. If MultiStream
43 # # is disabled, then Stream Type will be ignored.
44 # # Stream Type defines ISO OSI network layer
45 # # used for simulation of multiple streams.
46 # # It can be overridden by cli option stream_type.
48 # # "L2" - iteration of destination MAC address
49 # # "L3" - iteration of destination IP address
50 # # "L4" - iteration of destination port
51 # # of selected transport protocol
52 # # Default value is "L4".
53 # "Pre-installed Flows": ["Yes"|"No"]
54 # # Optional. Pre-installed Flows is an extension
55 # # of the "MultiStream" feature. If MultiStream
56 # # is disabled, then Pre-installed Flows will be
57 # # ignored. It defines if stream specific flows
58 # # will be inserted into OVS or not.
59 # # It can be overridden by cli option
60 # # pre-installed_flows
62 # # "Yes" - flows will be inserted into OVS
63 # # "No" - flows won't be inserted into OVS
64 # # Default value is "No".
65 # "Flow Type": ["port"|"IP"] # Optional. Defines flows complexity. In case
66 # # it isn't specified, then "port" will be used.
68 # # "port" - flow is defined by ingress ports
69 # # "IP" - flow is defined by ingress ports
70 # # and src and dst IP addresses
71 # "iLoad": 0-100 # Optional. Defines desired percentage
72 # # of frame rate used during continuous stream
73 # # tests. Can be overridden by cli option
75 # # Default value is 100.
76 # "Load": dictionary # Optional. Configures background load
77 # # during testcase execution.
78 # Description of "Load" dictionary keys, their meanings and available values:
80 # "tool": "stress" # One of the supported load generators.
81 # "load": 0-100 # percentage of cores which should be
82 # # utilized by load generator
83 # # e.g. load = 70%, detected cpu cores = 14 =>
84 # # round(14*0.7)=10, i.e. 10 instances of load
85 # # generator will be executed
86 # "reserved": 0- (Default 0) # Optional. Defines number of cores reserved
88 # # e.g. load = 80%, detected cpu cores = 14,
89 # # reserved = 4 => round((14-4)*0.8)=8,
90 # # i.e. 8 load gen. instances will be executed
91 # "pattern" : "c" # stress/stress-ng specific; Number of 'c',
92 # # 'm' and 'i' defines ratio between cpu, mem
93 # # and io workers respectively
94 # # e.g. "ccccmmi" => ratio among workers types
95 # # will be 3:2:1, so in case that 12 stress
96 # # instances should be executed, then 6 cpu,
97 # # 4 memory and 2 io workers will be executed
98 # "load_memory": 0-100 # Optional. Defines percentage of the system
99 # # memory, which should be utilized by memory
100 # # workers (if they are part of "pattern").
101 # # if not specified then default stress(-ng)
102 # # value will be used
103 # "options": "" # Optional. Additional command line options
104 # # to be passed to the load generator.
105 # "vSwitch" : "OvsVanilla" # Defines vSwitch to be used for test execution.
106 # # It will override any VSWITCH option stated
107 # # in configuration files or value specified
108 # # on command line through --vswitch parameter.
109 # "VNF" : "QemuVirtioNet" # Defines VNF to be used for test execution.
110 # # It will override any VNF option stated
111 # # in configuration files or value specified
112 # # on command line through --vnf parameter.
113 # "Trafficgen" : "Dummy" # Defines traffic generator to be used for test
114 # # execution. It will override any VNF option
115 # # stated in configuration files or value
116 # # specified on command line through --trafficgen
118 # "Parameters" : {'TRAFFICGEN_PKT_SIZES' : (512,)}
119 # # Dictionary with testcase specific configuration
120 # # environment. Specified parameters will be modified
121 # # before the test execution and their original values will
122 # # be restored after TC finishes. This dictionary will
123 # # override any values defined by TEST_PARAMS option
124 # # stated in configuration files or values specified
125 # # on command line through --test-params parameter.
126 # "Test Modifier": [FrameMod|Other],
127 # "Dependency": [Test_Case_Name |None],
129 PERFORMANCE_TESTS = [
131 "Name": "phy2phy_tput",
132 "Traffic Type": "rfc2544",
134 "biDirectional": "True",
135 "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
138 "Name": "phy2phy_forwarding",
139 "Traffic Type": "rfc2889",
141 "biDirectional": "True",
142 "Description": "LTD.Forwarding.RFC2889.MaxForwardingRate",
146 "Traffic Type": "back2back",
148 "biDirectional": "True",
149 "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
152 "Name": "phy2phy_tput_mod_vlan",
153 "Traffic Type": "rfc2544",
155 "Frame Modification": "vlan",
156 "biDirectional": "False",
157 "Description": "LTD.Throughput.RFC2544.PacketLossRatioFrameModification"
160 "Name": "phy2phy_cont",
161 "Traffic Type": "continuous",
163 "Description": "Phy2Phy Continuous Stream",
164 "biDirectional": "True",
169 "Traffic Type": "continuous",
171 "Description": "PVP Continuous Stream",
172 "biDirectional": "True",
177 "Traffic Type": "continuous",
178 "Deployment": "pvvp",
179 "Description": "PVVP Continuous Stream",
180 "biDirectional": "True",
185 "Traffic Type": "continuous",
186 "Deployment": "pvpv",
187 "Description": "Two VMs in parallel with Continuous Stream",
188 "biDirectional": "True",
192 "Name": "phy2phy_scalability",
193 "Traffic Type": "rfc2544",
195 "biDirectional": "True",
196 "Description": "LTD.Scalability.Flows.RFC2544.0PacketLoss",
197 "MultiStream": "8000",
201 "Traffic Type": "rfc2544",
203 "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
204 "biDirectional": "True",
207 "Name": "pvp_back2back",
208 "Traffic Type": "back2back",
210 "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
211 "biDirectional": "True",
215 "Traffic Type": "rfc2544",
217 "Deployment": "pvvp",
218 "Description": "LTD.Throughput.RFC2544.PacketLossRatio",
219 "biDirectional": "True",
222 "Name": "pvvp_back2back",
223 "Traffic Type": "back2back",
225 "Deployment": "pvvp",
226 "Description": "LTD.Throughput.RFC2544.BackToBackFrames",
227 "biDirectional": "True",
230 "Name": "phy2phy_cpu_load",
231 "Traffic Type": "rfc2544",
233 "biDirectional": "True",
234 "Description": "LTD.CPU.RFC2544.0PacketLoss",
236 "tool" : "stress-ng",
243 "Name": "phy2phy_mem_load",
244 "Traffic Type": "rfc2544",
246 "biDirectional": "True",
247 "Description": "LTD.Memory.RFC2544.0PacketLoss",
249 "tool" : "stress-ng",