From 32a2593e6b7735bcbd0e6e28cd57e93fb7dccb34 Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Thu, 10 Nov 2016 15:29:45 +0000 Subject: 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 Reviewed-by: Al Morton Reviewed-by: Christian Trautman Reviewed-by: Bill Michalowski Reviewed-by: Antonio Fischetti Reviewed-by: --- docs/userguide/yardstick.rst | 149 +++++++++++++++++++++++++++---------------- 1 file changed, 93 insertions(+), 56 deletions(-) (limited to 'docs') 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 ``__. +image, which can be downloaded from ``__. .. 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 `__ 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 `__. 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. -- cgit 1.2.3-korg