aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick
AgeCommit message (Collapse)AuthorFilesLines
2015-12-21Fix lmbench memory read latency stop sizeKristian Hunt1-4/+4
Stop size parameter's type should be float to allow for performing measurements on only L1 and L2 cache if needed. JIRA: - Change-Id: Ibc4d052c343e9dcccf6101c6c949172bb5a0f9e1 Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
2015-12-21To avoid breaking tests when monitor is setPer Holmgren2-2/+2
Two runners, Arithemic and Sequence, broke running tests even if SLA "monitor" was set. Changed these two runners to work in similar fashion as the other two, i.e. that only None can break. "assert" still asserts, and "monitor" just logs but then continues. Change-Id: Ic441761cad8747e5ecfcd0babe719c1aa23981e7 JIRA: -
2015-12-21Merge "Rewrite the HA test case (1)"qi liang9-123/+171
2015-12-18Changes Arithmetic runner to accept several step parametersPer Holmgren1-28/+63
The Arithmetic runner is modified to accept several named parameters to iterate over in each scenario. Possible to chose either to iterate through them in a nested-for-loop fashion (default) or in a tupled loop fashion (combine i:th element of each input). Still possible to only provide one parameter to step/iterate over, as before. All existing yaml files with Arithmetic types have been modified to run the tests as before, and to provide same results as before this change. The only change is in sample file pktgen.yaml to provide a valid example of how to use this modification. It is also possible to step backwards, i.e. start > stop, with a negative step parameter value. (Noticed that tests are terminated when there is SLA error problems in "monitor" mode. Should be fixed in another commit) Change-Id: Ib2ebd24b71dd55d6817cee8e67026a0dd13a9e17 JIRA: -
2015-12-18Add utility tools to ApexLakeVincenzo Riccobene13-29/+1336
Add utility tools and related tests to ApexLake Fix also small things in all tests JIRA: YARDSTICK-35 Change-Id: I76ab79b3b7ba3b48633517477b262f5bcdc743f0 Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-18Rewrite the HA test case (1)wym_libra9-123/+171
refactor the attacker implement. 1) BaseAttacker is added 2) a simple attacker named "kill-process" inherit the BaseAttacker 3) serviceha.py selects an attacker through the BaseAttacker by attacker name JIRA: YARDSTICK-149 Change-Id: Ib718d5edc6b5e14bc3ea0592e0146468ff70b43e Signed-off-by: wym_libra <yimin.wang@huawei.com>
2015-12-15Add run_in_background attribute to scenariosJo¶rgen Karlsson6-18/+77
This change adds the possibility to run scenarios as "background tasks". Background scenarios/tasks: - are started before all "normal scenarios" - runs in parallel with "normal scenarios" - terminates when all "normal scenarios" have completed their tasks They are intended as a way to perform background tasks, e.g. collect data such as cpuload etc, in parallel with the execution of normal benchmarking scenarios. Note that we already have the 'run_in_parallel' attribute but this attribute has a couple of issues and do not solve all the uses cases. Change-Id: I9c5230bfdbbb66030f57b658ce1db87ff2c2d62b Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-12-15Add support to the test case required by YARDSTICK-146Vincenzo Riccobene2-0/+198
Add supporto to ApexLake for the test case to validate the vTC instantiation on OpenStack JIRA: YARDSTICK-146 Change-Id: Ib154bac19ec1c32a508682235478a3c7fc530299 Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-15Add support to the test case required by YARDSTICK-145Vincenzo Riccobene5-0/+723
Add support to ApexLake to the test case that validates the instantiation of the virtual Traffic Classifier within OpenStack JIRA: YARDSTICK-145 Change-Id: I533712de36de4e40fdec15b2be2348fbb8c29dfc Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-14Add support to the test case required by YARDSTICK-36Vincenzo Riccobene2-0/+190
Add support to ApexLake for the calculation of the throughput of the vTC in case of noisy neighbors deployment, through the DPDK pktgen. JIRA: YARDSTICK-36 Change-Id: I00950f967cac1f12f733a05af8166c757dc02e0a Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-14Add support to the test case required by YARDSTICK-35Vincenzo Riccobene5-0/+505
Add to ApexLake the support to the calculation of the throughput for the vTC using DPDK pktgen. JIRA: YARDSTICK-35 Change-Id: I2ead9522648d6955f64fd18c543dabf7f26e2490 Signed-off-by: Vincenzo Riccobene <vincenzo.m.riccobene@intel.com> Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-11Add bash script to change VLAN tag on packetsVincenzo Riccobene2-0/+25
JIRA: YARDSTICK-35 Change-Id: I8cb5c05a0d33aac2bc90aa037843db67d2ab0e36 Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-11Add Constant traffic generation LUA script for DPDK and PCAP filesVincenzo Riccobene10-0/+74
Inlcude a LUA script that generates constant rate traffic for DPDK pktgen Also include PCAP files of requested size (64, 128, 256, 512, 1024, 1280, 1518) JIRA: YARDSTICK-35 Change-Id: I25c1a6a8763bd14fdf25450619a5e5bbd8e978db Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-11Merge "Add full support to the DPDK packet generator"Jörgen Karlsson4-0/+1101
2015-12-11Add 'nodes' attribute to the scenario definitionwym_libra1-1/+15
Defining the 'nodes' attribute which can include more node not only 'host' and 'target' Design etherpad link: https://etherpad.opnfv.org/p/yardstick_framework JIRA:- Change-Id: Ida18ebcda1c73c88d208aa11a10696d1063134ef Signed-off-by: wym_libra <yimin.wang@huawei.com>
2015-12-11Add full support to the DPDK packet generatorVincenzo Riccobene4-0/+1101
Add packet generator base class (to support extensions of packet generators Add the DPDK packet gen python wrapper and tests JIRA: YARDSTICK-35 Change-Id: I2072801bcf077586b6abb45c5d452a346e2efe70 Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-08Adds Heat Manger and tests to ApexLakeVincenzo Riccobene4-0/+311
Adds to ApexLake a module that manages the connection with OpenStack Heat to trigger instantiation and termination of stacks. Also Moves tests and bin directory in the right place. JIRA: YARDSTICK-35 Change-Id: I0ea407a3129625a238fb4187896c65a2bcd02700 Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-12-08Fix network property validation errorJo¶rgen Karlsson1-1/+1
Fix for the validation error on port.properties.network when deploying using OS Kilo or later. Change-Id: I761cc958573d6eb8c909a08f186486f3ac93e816 JIRA: - Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-12-08Add scenario for reading processor loadJo¶rgen Karlsson1-0/+239
This scenario reads processor and system load statistics and does not run any benchmark tests. The scenario is intended to be run in parallell with other scenarios in order to collect processor and system load statistics. System load is read from /proc/loadavg. Processor usage stats is read using the 'mpstat' utility if it has been installed on the host. If 'mpstat' is not installed on the host processor usage stats is read from /proc/stats. Change-Id: I7156e0c941100023571db750de7540786a4fedb8 JIRA: YARDSTICK-181 Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-12-03Adds script to run tests and test for heat template generationVincenzo Riccobene2-0/+72
Adds to ApexLake the script to run the tests for the python modules of the project (they will be added later on). It also adds the tests for heat template generation JIRA: YARDSTICK-35 Change-Id: I3c7fcfe044b33130dd6a5d1285f3d6522eac58c6 Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-11-17Merge "A initial HA test case"qi liang7-0/+376
2015-11-16Add heat template generation module with required constantsVincenzo Riccobene4-0/+371
Adds to ApexLake the support to the generation of the all the possible configurations and related heat templates. Files containing constants have been added as well to support the module. They will also be useful for other modules of the framework. JIRA: YARDSTICK-35 Change-Id: I9d33d5b11c586d40dbff199c21e428113bf3cdeb Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-11-13A initial HA test casewym_libra7-0/+376
1)stop an openstack service 2)then monitor the corresponding api and check the availability of it 3)recovery the openstack service JIRA: YARDSTICK-149 Change-Id: Id7b77d2f5c71844729c04f37442c8cfaa270ab12 Signed-off-by: wym_libra <yimin.wang@huawei.com>
2015-11-04Docker container for Yardstick CI part 2Jo¶rgen Karlsson1-4/+4
Added test suit selection and an option to use the HTTP Result API. Part 1: https://gerrit.opnfv.org/gerrit/#/c/2201/ Change-Id: I1c25d07e46cd44e25f448706ff2dfc3b31cd7208 JIRA:- Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-11-03Merge "Avoid the ValueError exception for a ping timeout."qi liang1-5/+8
2015-11-02Avoid the ValueError exception for a ping timeout.wu.zhihui1-5/+8
In ping.py: If ping a ip address timeout, the return value "stdout" is null. And the code "rtt=float(stdout)" raises a ValueError exception. The better handle is to avoid the exception and log a ping timeout. Change-Id: Ia2a3ff44c35dda1a700a5109f8e642a636e89bc6 Signed-off-by: wu.zhihui <wu.zhihui1@zte.com.cn>
2015-11-01Support NodeContext typeQiLiang1-0/+94
Initial NodeContext implementation to support BareMetal, Controller, Compute scenarios. Usage: 0) install yardstick 1) mkdir -p /etc/yardstick/nodes 2) cp <yardstick_repo>/etc/yardstick/nodes/pod.yaml.sample \ /etc/yardstick/nodes/pod.yaml 3) edit /etc/yardstick/nodes/pod.yaml (make show ip, username, ssh key are configured correctly) 4) yardstick -d task start \ <yardstick_repo>/samples/ping-node-context.yaml 5) cat /tmp/yardstick.out Design etherpad link: https://etherpad.opnfv.org/p/yardstick_framework JIRA: YARDSTICK-169 Change-Id: I3f6ade8243e68d88326f23ed213edb32c638ed32 Signed-off-by: QiLiang <liangqi1@huawei.com>
2015-10-28Extend lmbench scenario to measure memory bandwidthKristian Hunt3-21/+106
Lmbench scenario has now two scripts and will choose between them, based on whether the intention is to run memory latency or bandwidth tests. Added also unit test file for this scenario. JIRA: YARDSTICK-113 Change-Id: I2ba4dbef31f3cafbdb3c583ece5ed9512a906896 Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
2015-10-28record the total time of test case runningkubi1-1/+12
total time and one task time both will be put into console JIRA:YARDSTICK-166 Change-Id: I1422355c5ca0228c11e6334c13bb13554bdca4af Signed-off-by: kubi <jean.gaoliang@huawei.com>
2015-10-27Heat context code refactor part 2QiLiang16-256/+390
Heat context code refactor to cater for the evolution of the Yardstick framework. Refactor runner_cfg host/target info handle, as specified at https://etherpad.opnfv.org/p/yardstick_framework step 4. Get general Context info (use Context.get). Before this refactor host and target vm must have the same user name and ssh key, that is not general enough for later extension. test_case.yaml do NOT need to change. JIRA: YARDSTICK-168 Change-Id: I5cfe868f3c6f633214ef550bc9676fe1de0709db Signed-off-by: QiLiang <liangqi1@huawei.com>
2015-10-22add lua script for RFC 2544 throughput on dpdk packet generatorVincenzo Riccobene1-0/+132
First commit for ApexLake: the vTC Characterization Framework The included file is a lua script for the calculation of the throughput for dpdk_pktgen JIRA: YARDSTICK-35 Change-Id: I02d015cee5f6b0593d668498439893f9091f5a8b Signed-off-by: Vincenzo Riccobene <vincenzox.m.riccobene@intel.com>
2015-10-22Update sla check for scenarioshoujingwen13-64/+59
This patch modify the question that SLA check result is not complete. JIRA: YARDSTICK-172 Change-Id: I10438390baee92caf00dbfcdbdb833823ff8ce31 Signed-off-by: houjingwen <houjingwen@huawei.com>
2015-10-20Heat context code refactorQiLiang7-473/+539
Heat context code refactor to cater for the evolution of the Yardstick framework. At test_case.yaml context segment add "type" to indicate the context type, see samples/ping-heat-context.yaml for an example. And the default context type is Heat, so the existing yaml file do not need to change. JIRA: YARDSTICK-168 Change-Id: Ida0ce12c17cd9b88d7acfb4c9eb1ac6986394b38 Signed-off-by: QiLiang <liangqi1@huawei.com>
2015-10-16Use result_collection_api to store test resultQiLiang4-16/+45
Execute a sample task file from Yardstick, push the test results to MongodB provided by Releng using the common result api provided by Functest. Usage: 0) install yardstick 1) config yardstick mkdir /etc/yardstick cat << EOF >> /etc/yardstick/yardstick.conf [DEFAULT] debug = True dispatcher = http [dispatcher_http] timeout = 5 target = http://213.77.62.197/results EOF 2) run test yardstick task start sample/fio.yaml 3) fetch result from remote result_collection_api curl "http://213.77.62.197/results?case=Fio&installer=compass" JIRA: YARDSTICK-132 Change-Id: I0996c6487c1900704380feb895555057a3f184e9 Signed-off-by: QiLiang <liangqi1@huawei.com>
2015-10-16add error handling when given failing script callswym_libra1-23/+70
JIRA:YARDSTICK-100 Change-Id: I1986b5e443abf186ef9c0235b66ada26c8574af1 Signed-off-by: wym_libra <yimin.wang@huawei.com>
2015-10-15Add Cyclictest scenario and sampleQiLiang2-0/+205
Support measuring operating system's high resolution by using Cyclictest. JIRA: YARDSTICK-122 Change-Id: I2e00ce117e263deaaf52cd2d663b845bd5b65432 Signed-off-by: QiLiang <liangqi1@huawei.com>
2015-10-15Merge "Support general configuration file"QiLiang5-75/+104
2015-10-15Support general configuration fileQiLiang5-75/+104
Use openstack library oslo_config for parsing configuration options from the command line and configuration files. Refer http://docs.openstack.org/developer/oslo.config/ or rally source code for more info on oslo_config library usage. This patch is initially for test result dispatcher configuration, but it is very general to use. Usage: 0) install yardstick 1) mkdir /etc/yardstick 2) cp <repo_root_dir>/etc/yardstick/yardstick.conf.sample \ /etc/yardstick/yardstick.conf 3) edit /etc/yardstick/yardstick.conf 4) run `yardstick task start xxx` cmd JIRA: YARDSTICK-61 Change-Id: I01677ef6e9ab7c1975aa193799195e850da73478 Signed-off-by: QiLiang <liangqi1@huawei.com>
2015-10-15Support for netperfkubi2-0/+210
As agreed in the IRC meeting, use iperf for YARDSTICK-112; support for netperf shall also be included in the framework (Yardstick-121). bulk data test and req/rsp test are supportted by netperf JIRA:YARDSTICK-121 Change-Id: I0e934dc067802c2792d751a19a187cd00ad8741b Signed-off-by: kubi <jean.gaoliang@huawei.com>
2015-10-14Merge "Fio scenario support sla"houjingwen1-8/+24
2015-10-13Add test suite functionality to task commandsKristian Hunt1-22/+94
This patch proposes a more permanent solution to replace the already existing one (YARDSTICK-106). A test suite is a .yaml file which consists of multiple task files which are meant to run as a one set. Each test case in the test suite has to specify the location of the test .yaml task file and can specify additional task arguments or a task arguments file. It is possible to specify the directory where the task files are located in the suite file. If it is left unspecified then it defaults to tests/opnfv/test_cases according to https://etherpad.opnfv.org/p/yardstick_folders A Command line argument --suite is added to the task command. This argument indicates that the intention is to run a test suite. JIRA: YARDSTICK-107 Change-Id: I69508b3b536dd592b6240a2a32dd5d665e0ac4b4 Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
2015-10-13Fio scenario support slahoujingwen1-8/+24
JIRA: YARDSTICK-34 Change-Id: I782ba5845f8bd54a19bad078fe7be546400f7524 Signed-off-by: houjingwen <houjingwen@huawei.com>
2015-10-09add a key check to fix bugjean.gaoliang@huawei.com1-3/+4
JIRA:YARDSTICK-160 Change-Id: I2cfe91b30d0c906417234d5bf7787fb5dc568921 Signed-off-by: jean.gaoliang@huawei.com <jean.gaoliang@huawei.com>
2015-10-08Add testing packet delay variation between VMswym_libra1-8/+22
1)create test case("iperfs-jitter") for measuring packet delay variation 2)and modify "iperf3.py" to support it JIRA:YARDSTICK-131 Change-Id: Ic3416a713b69dc7687f6f85ecc0b79da8dfb7ed9 Signed-off-by: wym_libra <yimin.wang@huawei.com>
2015-09-24Fix bug in fio scenariohoujingwen4-62/+39
1) when duration>3600s in fio.yaml, ssh time out 2) sometimes the latency value in test result is null 3) update plot.py, fit for code update in fio.py 4) small bug in file.py (result output dump) Add --output-format=json in default args, so fio command can return json format data. JIRA: YARDSTICK-143 Change-Id: Ie02977b8c9f11986a1eed66896b84d18db3d2211 Signed-off-by: houjingwen <houjingwen@huawei.com>
2015-09-22Structure output and make it less redundantJo¶rgen Karlsson5-74/+90
Note: this commit replaces: https://gerrit.opnfv.org/gerrit/#/c/976/8 Adjusts the JSON output of the runners to follow a different structure, laid out below. It is based upon the patch above but is not using the output manager. The purpose is to provide a unified basic layout (as already existed), while making long data series much less repetitive and more space efficient. OUTPUT FORMAT: ------------------------------------------------------------------------ RUNNER PREP - printed exactly once per runner per scenario. Runner MUST print this before sending any RUNNER DATA output { runner_id: <int> scenario_cfg: { <scenario and runner config> } } where runner_id: ID of the runner sending this block scenario_cfg: scenario and runner configuration ------------------------------------------------------------------------ RUNNER DATA runner may print any number of these AFTER having printed a RUNNER PREP { runner_id: <int> benchmark: { <measurements> } } ------------------------------------------------------------------------ The runner_id currently is not unique across runners as it is assigned by noting the runner process id in the underlying operating system. A possible improvement would be to assign runner_id an UUID value according to RFC 4122 (e.g. uuid.uuid4() in python). ------------------------------------------------------------------------ Other changes/cleanups in this patch: - Removed the context argument from _worker_process as it was redundant. It contained a dictionary with the runner configuration but the same dictionary was already in included in the scenario_args argument. - For clarity renamed scenario_args to scenario_cfg. scenario_cfg was the original name used in task.py and it changed name across function calls. Change-Id: I17d96f37c7d3e24b0747d23fcad7509fa949d662 JIRA: YARDSTICK-59 Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-09-16Remove setting logger level to debug in scenariosKristian Hunt6-13/+8
Logging level should be specified using a command line flag -v or -d when running yardstick, rather than hardcoded into source code. If the message is to be displayed whenever yardstick is executed regardless of the verbosity level, then the message should be logged to warning or error levels, instead of debug. JIRA: YARDSTICK-95 Change-Id: Idc9b81b583f4999bfbc57893f0ab3c3675c70f71 Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
2015-09-15Merge "Add test result dispatcher"Hou Jingwen5-11/+176
2015-09-06Support to config external network by shell envQiLiang1-0/+4
Example invocation: $ export EXTERNAL_NETWORK=net04_ext $ yardstick task start samples/ping.yaml The default external network is "net04_ext" external_net should not be possible set in yaml anymore. JIRA: YARDSTICK-54 Change-Id: I8c7b2850801f312c6878e9a363b06cdc8ade09bf Signed-off-by: QiLiang <liangqi1@huawei.com>
2015-09-01add support for Jinja2 in task filekubi2-6/+109
Add support in task file for the template syntax based on Jinja2. JIRA:YARDSTICK-101 Change-Id: I24be133ba590510612d97a1fce6c024e6edb57e4 Signed-off-by: kubi <jean.gaoliang@huawei.com>