summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2016-11-10 15:29:45 +0000
committerMartin Klozik <martinx.klozik@intel.com>2016-11-30 15:46:40 +0000
commit32a2593e6b7735bcbd0e6e28cd57e93fb7dccb34 (patch)
tree125212e88155d55e83b56233901d7607ff0cb09f
parentefdc282f4b08e96f3e09d43f94ba0508e4f26090 (diff)
yardstick: CLI params support for yardstick TCs
Vswitchperf specific class in yardstick was updated to reflect new functionality of --test-params. These changes have impact on vsperf documentation and yardstick samples. As part of this fix following changes were made: * trafficgen mode can be executed with default configuration * yardstick specific TC samples were updated * dummy traffic generator was enhanced to support back2back * dummy traffic generator was enhanced to accept traffic results from configuration JIRA: VSPERF-422 JIRA: VSPERF-205 Change-Id: Ibeaa6ef46bde453e3ca5dee6e4568fc8c3853521 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Bill Michalowski <bmichalo@redhat.com> Reviewed-by: Antonio Fischetti <antonio.fischetti@intel.com> Reviewed-by: <sridhar.rao@spirent.com>
-rw-r--r--conf/03_traffic.conf23
-rwxr-xr-xdocs/userguide/yardstick.rst149
-rwxr-xr-xtools/pkt_gen/dummy/dummy.py35
-rwxr-xr-xvsperf7
-rw-r--r--yardstick/tests/p2p_cont.yaml74
-rw-r--r--yardstick/tests/p2p_rfc2544_throughput_sample.yaml (renamed from yardstick/tests/p2p_tput.yaml)20
-rw-r--r--yardstick/tests/rfc2544_back2back_dummy.yaml (renamed from yardstick/tests/p2p_back2back.yaml)35
-rw-r--r--yardstick/tests/rfc2544_continuous_dummy.yaml86
-rw-r--r--yardstick/tests/rfc2544_throughput_dummy.yaml86
9 files changed, 358 insertions, 157 deletions
diff --git a/conf/03_traffic.conf b/conf/03_traffic.conf
index d7327629..87210b8d 100644
--- a/conf/03_traffic.conf
+++ b/conf/03_traffic.conf
@@ -40,6 +40,29 @@ TRAFFICGEN_RFC2544_TESTS = 1
TRAFFICGEN_RFC2889_TRIALS = 1
TRAFFICGEN_LOSSRATE = 0.0
+##############################
+# DUMMY Configuration -- BEGIN
+
+# By default, dummy traffic generator asks for "measured" values.
+# Following dictionary allows to preconfigure these values and
+# to avoid user interaction. It can be useful for automated
+# integration tests.
+# Example of values for continuous traffic type:
+# TRAFFICGEN_DUMMY_RESULTS{'frames rx': 500000,
+# 'frames tx': 500000,
+# 'rx rate %': 100,
+# 'tx rate %': 100,
+# 'frameloss %': 0,
+# 'min latency': 1,
+# 'max latency': 15,
+# 'avg latency': 2.5,
+# }
+#
+TRAFFICGEN_DUMMY_RESULTS = {}
+
+# DUMMY Configuration -- END
+############################
+
#############################
# IXIA Configuration -- BEGIN
diff --git a/docs/userguide/yardstick.rst b/docs/userguide/yardstick.rst
index 18adbdbe..f118373b 100755
--- a/docs/userguide/yardstick.rst
+++ b/docs/userguide/yardstick.rst
@@ -34,16 +34,42 @@ Please note, that yardstick uses OpenStack for execution of testcases.
OpenStack must be installed with Heat and Neutron services. Otherwise
vswitchperf testcases cannot be executed.
-Vswitchperf VM image preparation
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+VM image with vswitchperf
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A special VM image is required for execution of vswitchperf specific testcases
+by yardstick. It is possible to use a sample VM image available at OPNFV
+artifactory or to build customized image.
+
+Sample VM image with vswitchperf
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Sample VM image is available at vswitchperf section of OPNFV artifactory
+for free download:
+
+.. code-block:: console
+
+ $ wget http://artifacts.opnfv.org/vswitchperf/vnf/vsperf-yardstick-image.qcow2
+
+This image can be used for execution of sample testcases with dummy traffic
+generator.
+
+**NOTE:** Traffic generators might require an installation of client software.
+This software is not included in the sample image and must be installed by user.
+
+**NOTE:** This image will be updated only in case, that new features related
+to yardstick integration will be added to the vswitchperf.
+
+Preparation of custom VM image
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In general, any Linux distribution supported by vswitchperf can be used as
a base image for vswitchperf. One of the possibilities is to modify vloop-vnf
-image, which can be downloaded from `<http://artifacts.opnfv.org/>`__.
+image, which can be downloaded from `<http://artifacts.opnfv.org/vswitchperf.html/>`__.
.. code-block:: console
- $ wget http://artifacts.opnfv.org/vswitchperf/vloop-vnf-ubuntu-14.04_20151216.qcow2
+ $ wget http://artifacts.opnfv.org/vswitchperf/vnf/vloop-vnf-ubuntu-14.04_20160823.qcow2
Please follow the `installation instructions
<http://artifacts.opnfv.org/vswitchperf/docs/configguide/installation.html>`__ to
@@ -55,17 +81,52 @@ In case, that selected traffic generator requires installation of additional
client software, please follow appropriate documentation. For example in case
of IXIA, you would need to install IxOS and IxNetowrk TCL API.
-Final image with vswitchperf must be uploaded into the glance service and
+VM image usage
+~~~~~~~~~~~~~~
+
+Image with vswitchperf must be uploaded into the glance service and
vswitchperf specific flavor configured, e.g.:
.. code-block:: console
- $ glance --os-username admin --os-image-api-version 1 image-create --name
- vsperf --is-public true --disk-format qcow2 --container-format bare --file
- image.qcow2
+ $ glance --os-username admin --os-image-api-version 1 image-create --name \
+ vsperf --is-public true --disk-format qcow2 --container-format bare --file \
+ vsperf-yardstick-image.qcow2
$ nova --os-username admin flavor-create vsperf-flavor 100 2048 25 1
+Testcase execution
+^^^^^^^^^^^^^^^^^^
+
+After installation, yardstick is available as python package within yardstick
+specific virtual environment. It means, that yardstick environment must be
+enabled before the test execution, e.g.:
+
+.. code-block:: console
+
+ source ~/yardstick_venv/bin/activate
+
+
+Next step is configuration of OpenStack environment, e.g. in case of devstack:
+
+.. code-block:: console
+
+ source /opt/openstack/devstack/openrc
+ export EXTERNAL_NETWORK=public
+
+Vswitchperf testcases executable by yardstick are located at vswitchperf
+repository inside ``yardstick/tests`` directory. Example of their download
+and execution follows:
+
+.. code-block:: console
+
+ git clone https://gerrit.opnfv.org/gerrit/vswitchperf
+ cd vswitchperf
+
+ yardstick -d task start yardstick/tests/rfc2544_throughput_dummy.yaml
+
+**NOTE:** Optional argument ``-d`` shows debug output.
+
Testcase customization
^^^^^^^^^^^^^^^^^^^^^^
@@ -84,22 +145,22 @@ Example of yaml file:
-
type: Vsperf
options:
- testname: 'rfc2544_p2p_tput'
+ testname: 'p2p_rfc2544_throughput'
traffic_type: 'rfc2544'
- pkt_sizes: '64'
+ frame_size '64'
bidirectional: 'True'
iload: 100
- duration: 30
trafficgen_port1: 'eth1'
trafficgen_port2: 'eth3'
external_bridge: 'br-ex'
- conf-file: '~/vsperf-yardstick.conf'
+ test_params: 'TRAFFICGEN_DURATION=30;'
+ conf_file: '~/vsperf-yardstick.conf'
host: vsperf.demo
runner:
type: Sequence
- scenario_option_name: pkt_sizes
+ scenario_option_name: frame_size
sequence:
- 64
- 128
@@ -123,22 +184,19 @@ argument. Following options are supported:
- **traffic_type** - specifies the type of traffic executed by traffic generator;
valid values are "rfc2544", "continuous" and "back2back"; Default: 'rfc2544'
-- **pkt_sizes** - a packet size for which test should be executed;
+- **frame_size** - a packet size for which test should be executed;
Multiple packet sizes can be tested by modification of Sequence runner
section inside YAML definition. Default: '64'
-- **duration** - sets duration for which traffic will be generated; Default: 30
- **bidirectional** - specifies if traffic will be uni (False) or bi-directional
(True); Default: False
- **iload** - specifies frame rate; Default: 100
-- **rfc2544_tests** - specifies the number of tests performed for each packet
- size
- **multistream** - specifies the number of simulated streams; Default: 0 (i.e.
multistream feature is disabled)
- **stream_type** - specifies network layer used for multistream simulation
the valid values are "L4", "L3" and "L2"; Default: 'L4'
-- **conf-file** - sets path to the vswitchperf configuration file, which will be
+- **conf_file** - sets path to the vswitchperf configuration file, which will be
uploaded to VM; Default: '~/vsperf-yardstick.conf'
-- **setup-script** - sets path to the setup script, which will be executed
+- **setup_script** - sets path to the setup script, which will be executed
during setup and teardown phases
- **trafficgen_port1** - specifies device name of 1st interface connected to
the trafficgen
@@ -146,16 +204,27 @@ argument. Following options are supported:
the trafficgen
- **external_bridge** - specifies name of external bridge configured in OVS;
Default: 'br-ex'
+- **test_params** - specifies a string with a list of vsperf configuration
+ parameters, which will be passed to the ``--test-params`` CLI argument;
+ Parameters should be stated in the form of ``param=value`` and separated
+ by a semicolon. Please check VSPERF documentation for details about
+ available configuration parameters and their data types.
+ In case that both **test_params** and **conf_file** are specified,
+ then values from **test_params** will override values defined
+ in the configuration file.
In case that **trafficgen_port1** and/or **trafficgen_port2** are defined, then
these interfaces will be inserted into the **external_bridge** of OVS. It is
expected, that OVS runs at the same node, where the testcase is executed. In case
of more complex OpenStack installation or a need of additional OVS configuration,
-**setup-script** can be used.
+**setup_script** can be used.
-Note: It is essential to prepare customized configuration file for the vsperf
-and to specify its name by **conf-file** option. Config file must specify, which
-traffic generator will be used and configure traffic generator specific options.
+Note: It is essential to specify a configuration for selected traffic generator.
+In case, that standalone testcase is created, then traffic generator can be
+selected and configured directly in YAML file by **test_params**. On the other
+hand, if multiple testcases should be executed with the same traffic generator
+settings, then a customized configuration file should be prepared and its name
+passed by **conf_file** option.
Section runner
~~~~~~~~~~~~~~
@@ -163,7 +232,7 @@ Section runner
Yardstick supports several `runner types
<http://artifacts.opnfv.org/yardstick/docs/userguide/architecture.html#runner-types>`__.
In case of vswitchperf specific TCs, **Sequence** runner type can be used to
-execute the testcase for given list of packet sizes.
+execute the testcase for given list of frame sizes.
Section sla
@@ -189,35 +258,3 @@ In case that any of defined metrics will be lower than defined value, then
testcase will be marked as failed. Based on ``action`` policy, yardstick
will either stop test execution (value ``assert``) or it will run next test
(value ``monitor``).
-
-Testcase execution
-^^^^^^^^^^^^^^^^^^
-
-After installation, yardstick is available as python package within yardstick
-specific virtual environment. It means, that before test execution yardstick
-environment must be enabled, e.g.:
-
-.. code-block:: console
-
- source ~/yardstick_venv/bin/activate
-
-
-Next step is configuration of OpenStack environment, e.g. in case of devstack:
-
-.. code-block:: console
-
- source /opt/openstack/devstack/openrc
- export EXTERNAL_NETWORK=public
-
-Vswitchperf testcases executable by yardstick are located at vswitchperf
-repository inside ``yardstick/tests`` directory. Example of their download
-and execution follows:
-
-.. code-block:: console
-
- git clone https://gerrit.opnfv.org/gerrit/vswitchperf
- cd vswitchperf
-
- yardstick -d task start yardstick/tests/p2p_cont.yaml
-
-Note: Optional argument ``-d`` shows debug output.
diff --git a/tools/pkt_gen/dummy/dummy.py b/tools/pkt_gen/dummy/dummy.py
index 3324824c..528b5902 100755
--- a/tools/pkt_gen/dummy/dummy.py
+++ b/tools/pkt_gen/dummy/dummy.py
@@ -25,6 +25,7 @@ own.
import json
+from conf import settings
from tools.pkt_gen import trafficgen
from core.results.results_constants import ResultsConstants
@@ -76,7 +77,10 @@ def get_user_traffic(traffic_type, traffic_conf, flow_conf, traffic_stats):
% (traffic_type, traffic_conf, json.dumps(flow_conf, indent=4)))
for stat in traffic_stats:
- results.append(_get_user_traffic_stat(stat))
+ if stat in settings.getValue('TRAFFICGEN_DUMMY_RESULTS'):
+ results.append(settings.getValue('TRAFFICGEN_DUMMY_RESULTS')[stat])
+ else:
+ results.append(_get_user_traffic_stat(stat))
return results
@@ -206,6 +210,33 @@ class Dummy(trafficgen.ITrafficGenerator):
result[ResultsConstants.FRAME_LOSS_PERCENT] = float(results[7])
return result
+ def send_rfc2544_back2back(self, traffic=None, tests=1, duration=2,
+ lossrate=0.0):
+ """
+ Send traffic per RFC2544 back2back test specifications.
+ """
+ traffic_ = self.traffic_defaults.copy()
+ result = {}
+
+ if traffic:
+ traffic_ = trafficgen.merge_spec(traffic_, traffic)
+
+ results = get_user_traffic(
+ 'back2back',
+ '%d tests, %d seconds iterations, %f packet loss, multistream '
+ '%s' % (tests, duration, lossrate, traffic['multistream']),
+ traffic_,
+ ('b2b frames', 'b2b frame loss %'))
+
+ framesize = traffic_['l2']['framesize']
+
+ # builds results by using user-supplied values
+ # and guessing remainder using available info
+ result[ResultsConstants.B2B_FRAMES] = float(results[0])
+ result[ResultsConstants.B2B_FRAME_LOSS_PERCENT] = float(results[1])
+ return result
+
+
if __name__ == '__main__':
TRAFFIC = {
@@ -219,4 +250,6 @@ if __name__ == '__main__':
with Dummy() as dev:
print(dev.send_burst_traffic(traffic=TRAFFIC))
print(dev.send_cont_traffic(traffic=TRAFFIC))
+ print(dev.send_rfc2544_throughput(traffic=TRAFFIC))
+ print(dev.send_rfc2544_back2back(traffic=TRAFFIC))
print(dev.send_rfc(traffic=TRAFFIC))
diff --git a/vsperf b/vsperf
index ee494dcd..385f7929 100755
--- a/vsperf
+++ b/vsperf
@@ -504,8 +504,11 @@ def main():
# than both a settings file and environment variables
settings.load_from_dict(args)
+ settings.setValue('mode', args['mode'])
+
# set dpdk and ovs paths accorfing to VNF and VSWITCH
- functions.settings_update_paths()
+ if settings.getValue('mode') != 'trafficgen':
+ functions.settings_update_paths()
# if required, handle list-* operations
handle_list_options(args)
@@ -584,8 +587,6 @@ def main():
# for backward compatibility
settings.setValue('WHITELIST_NICS', list(nic['pci'] for nic in nic_list))
- settings.setValue('mode', args['mode'])
-
# generate results directory name
date = datetime.datetime.fromtimestamp(time.time())
results_dir = "results_" + date.strftime('%Y-%m-%d_%H-%M-%S')
diff --git a/yardstick/tests/p2p_cont.yaml b/yardstick/tests/p2p_cont.yaml
deleted file mode 100644
index 5cd63793..00000000
--- a/yardstick/tests/p2p_cont.yaml
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2016 Intel Corporation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# VSPERF specific configuration file for execution of continuous traffic.
-# Traffic executed by traffic generator is forwarded directly between
-# interfaces connected to the traffic generator. So test will only
-# benchmark the performance of OVS external bridge at controller node.
-# For details about supported test options see following file from
-# the yardstick repository:
-#
-# yardstick/benchmark/scenarios/networking/vsperf.py
-
-schema: "yardstick:task:0.1"
-
-scenarios:
--
- type: Vsperf
- options:
- testname: 'rfc2544_p2p_continuous'
- traffic_type: 'continuous'
- pkt_sizes: '64'
- bidirectional: 'True'
- iload: 100
- duration: 30
- trafficgen_port1: 'eth1'
- trafficgen_port2: 'eth3'
- external_bridge: 'br-ex'
- conf-file: '~/vsperf-yardstick.conf'
-
- host: vsperf.demo
-
- runner:
- type: Sequence
- scenario_option_name: pkt_sizes
- sequence:
- - 64
- - 128
- - 512
- - 1024
- - 1518
- sla:
- metrics: 'throughput_rx_fps'
- throughput_rx_fps: 500000
- action: monitor
-
-context:
- name: demo
- image: vsperf
- flavor: vsperf-flavor
- user: ubuntu
-
- placement_groups:
- pgrp1:
- policy: "availability"
-
- servers:
- vsperf:
- floating_ip: true
- placement: "pgrp1"
-
- networks:
- test:
- cidr: '10.0.0.0/24'
diff --git a/yardstick/tests/p2p_tput.yaml b/yardstick/tests/p2p_rfc2544_throughput_sample.yaml
index 7a172450..b633732b 100644
--- a/yardstick/tests/p2p_tput.yaml
+++ b/yardstick/tests/p2p_rfc2544_throughput_sample.yaml
@@ -16,10 +16,10 @@
# traffic. Traffic executed by traffic generator is forwarded directly
# between interfaces connected to the traffic generator. So test will only
# benchmark the performance of OVS external bridge at controller node.
-# For details about supported test options see following file from
-# the yardstick repository:
+# Details about supported test options and test case execution can be
+# found in VSPERF documentation:
#
-# yardstick/benchmark/scenarios/networking/vsperf.py
+# http://artifacts.opnfv.org/vswitchperf/docs/userguide/yardstick.html
schema: "yardstick:task:0.1"
@@ -27,22 +27,22 @@ scenarios:
-
type: Vsperf
options:
- testname: 'rfc2544_p2p_tput'
+ testname: 'p2p_rfc2544_throughput'
traffic_type: 'rfc2544'
- pkt_sizes: '64'
+ frame_size: '64'
bidirectional: 'True'
iload: 100
- duration: 30
+ test_params: 'TRAFFICGEN_DURATION=30;'
trafficgen_port1: 'eth1'
trafficgen_port2: 'eth3'
external_bridge: 'br-ex'
- conf-file: '~/vsperf-yardstick.conf'
+ conf_file: '~/vsperf-yardstick.conf'
host: vsperf.demo
runner:
type: Sequence
- scenario_option_name: pkt_sizes
+ scenario_option_name: frame_size
sequence:
- 64
- 128
@@ -50,6 +50,10 @@ scenarios:
- 1024
- 1518
sla:
+ # The throughput SLA (or any other SLA) cannot be set to a meaningful
+ # value without knowledge of the server and networking environment,
+ # possibly including prior testing in that environment to establish
+ # a baseline SLA level under well-understood circumstances.
metrics: 'throughput_rx_fps'
throughput_rx_fps: 500000
action: monitor
diff --git a/yardstick/tests/p2p_back2back.yaml b/yardstick/tests/rfc2544_back2back_dummy.yaml
index 39ab03e1..a3265c52 100644
--- a/yardstick/tests/p2p_back2back.yaml
+++ b/yardstick/tests/rfc2544_back2back_dummy.yaml
@@ -12,14 +12,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# VSPERF specific configuration file for execution of back2back traffic.
-# Traffic executed by traffic generator is forwarded directly between
-# interfaces connected to the traffic generator. So test will only
-# benchmark the performance of OVS external bridge at controller node.
-# For details about supported test options see following file from
-# the yardstick repository:
+# VSPERF specific configuration file for execution of RFC2544 back2back
+# traffic.
+# This test uses a dummy traffic generator, which does not execute a real
+# traffic. The purpose of this test is to demonstrate vsperf execution
+# by yardstick environment. Provided 'test_params' option can modified
+# to use a real traffic generator.
+# Details about supported test options and test case execution can be
+# found in VSPERF documentation:
#
-# yardstick/benchmark/scenarios/networking/vsperf.py
+# http://artifacts.opnfv.org/vswitchperf/docs/userguide/yardstick.html
schema: "yardstick:task:0.1"
@@ -27,22 +29,21 @@ scenarios:
-
type: Vsperf
options:
- testname: 'rfc2544_p2p_back2back'
+ testname: 'rfc2544_back2back'
traffic_type: 'back2back'
- pkt_sizes: '64'
+ frame_size: '64'
bidirectional: 'True'
iload: 100
- duration: 30
- trafficgen_port1: 'eth1'
- trafficgen_port2: 'eth3'
- external_bridge: 'br-ex'
- conf-file: '~/vsperf-yardstick.conf'
+ test_params: 'TRAFFICGEN="Dummy";
+ TRAFFICGEN_DUMMY_RESULTS={
+ "b2b frames":"10000",
+ "b2b frame loss %":"0.0"}'
host: vsperf.demo
runner:
type: Sequence
- scenario_option_name: pkt_sizes
+ scenario_option_name: frame_size
sequence:
- 64
- 128
@@ -50,6 +51,10 @@ scenarios:
- 1024
- 1518
sla:
+ # The throughput SLA (or any other SLA) cannot be set to a meaningful
+ # value without knowledge of the server and networking environment,
+ # possibly including prior testing in that environment to establish
+ # a baseline SLA level under well-understood circumstances.
metrics: 'b2b_frames'
b2b_frames: 1
action: monitor
diff --git a/yardstick/tests/rfc2544_continuous_dummy.yaml b/yardstick/tests/rfc2544_continuous_dummy.yaml
new file mode 100644
index 00000000..fea0af3f
--- /dev/null
+++ b/yardstick/tests/rfc2544_continuous_dummy.yaml
@@ -0,0 +1,86 @@
+# Copyright 2016 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# VSPERF specific configuration file for execution of RFC2544 continuous
+# traffic.
+# This test uses a dummy traffic generator, which does not execute a real
+# traffic. The purpose of this test is to demonstrate vsperf execution
+# by yardstick environment. Provided 'test_params' option can modified
+# to use a real traffic generator.
+# Details about supported test options and test case execution can be
+# found in VSPERF documentation:
+#
+# http://artifacts.opnfv.org/vswitchperf/docs/userguide/yardstick.html
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+ type: Vsperf
+ options:
+ testname: 'rfc2544_continuous'
+ traffic_type: 'continuous'
+ frame_size: '64'
+ bidirectional: 'True'
+ iload: 100
+ test_params: 'TRAFFICGEN_DURATION=30;
+ TRAFFICGEN="Dummy";
+ TRAFFICGEN_DUMMY_RESULTS={
+ "frames tx":15000000,
+ "frames rx":15000000,
+ "tx rate %":100,
+ "rx rate %":100,
+ "min latency":1,
+ "max latency":15,
+ "avg latency":2.5,
+ "frameloss %":0,}'
+
+ host: vsperf.demo
+
+ runner:
+ type: Sequence
+ scenario_option_name: frame_size
+ sequence:
+ - 64
+ - 128
+ - 512
+ - 1024
+ - 1518
+ sla:
+ # The throughput SLA (or any other SLA) cannot be set to a meaningful
+ # value without knowledge of the server and networking environment,
+ # possibly including prior testing in that environment to establish
+ # a baseline SLA level under well-understood circumstances.
+ metrics: 'throughput_rx_fps'
+ throughput_rx_fps: 500000
+ action: monitor
+
+context:
+ name: demo
+ image: vsperf
+ flavor: vsperf-flavor
+ user: ubuntu
+
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+
+ servers:
+ vsperf:
+ floating_ip: true
+ placement: "pgrp1"
+
+ networks:
+ test:
+ cidr: '10.0.0.0/24'
diff --git a/yardstick/tests/rfc2544_throughput_dummy.yaml b/yardstick/tests/rfc2544_throughput_dummy.yaml
new file mode 100644
index 00000000..81755c50
--- /dev/null
+++ b/yardstick/tests/rfc2544_throughput_dummy.yaml
@@ -0,0 +1,86 @@
+# Copyright 2016 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# VSPERF specific configuration file for execution of RFC2544 throughput
+# traffic.
+# This test uses a dummy traffic generator, which does not execute a real
+# traffic. The purpose of this test is to demonstrate vsperf execution
+# by yardstick environment. Provided 'test_params' option can modified
+# to use a real traffic generator.
+# Details about supported test options and test case execution can be
+# found in VSPERF documentation:
+#
+# http://artifacts.opnfv.org/vswitchperf/docs/userguide/yardstick.html
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+ type: Vsperf
+ options:
+ testname: 'rfc2544_throughput'
+ traffic_type: 'rfc2544'
+ frame_size: '64'
+ bidirectional: 'True'
+ iload: 100
+ test_params: 'TRAFFICGEN_DURATION=30;
+ TRAFFICGEN="Dummy";
+ TRAFFICGEN_DUMMY_RESULTS={
+ "frames tx":15000000,
+ "frames rx":15000000,
+ "tx rate %":100,
+ "rx rate %":100,
+ "min latency":1,
+ "max latency":15,
+ "avg latency":2.5,
+ "frameloss %":0,}'
+
+ host: vsperf.demo
+
+ runner:
+ type: Sequence
+ scenario_option_name: frame_size
+ sequence:
+ - 64
+ - 128
+ - 512
+ - 1024
+ - 1518
+ sla:
+ # The throughput SLA (or any other SLA) cannot be set to a meaningful
+ # value without knowledge of the server and networking environment,
+ # possibly including prior testing in that environment to establish
+ # a baseline SLA level under well-understood circumstances.
+ metrics: 'throughput_rx_fps'
+ throughput_rx_fps: 500000
+ action: monitor
+
+context:
+ name: demo
+ image: vsperf
+ flavor: vsperf-flavor
+ user: ubuntu
+
+ placement_groups:
+ pgrp1:
+ policy: "availability"
+
+ servers:
+ vsperf:
+ floating_ip: true
+ placement: "pgrp1"
+
+ networks:
+ test:
+ cidr: '10.0.0.0/24'