summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-07-27Add unit test for pktgenKristian Hunt1-0/+195
Sample output from pktgen_benchmark.bash is read from a string. Running of unittest from run_test.sh is NOT enabled. JIRA:- Change-Id: I51391df0726ed9e7486775d2cdd5583b305ea8e0 Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
2015-07-16Merge "Fix yardstick.out overwritten bug"Hou Jingwen2-1/+5
2015-07-15Add test case description templateAna C1-0/+88
Template states mandatory information for each test case to be delivered by Yardstick Project. JIRA: YARDSTICK-2 Change-Id: I16b98acc6689e24f8e6a85c356ee1b8991bd5276 Signed-off-by: Ana C <ana.cunha@ericsson.com>
2015-07-15Fix yardstick.out overwritten bugpanghao12-1/+5
The output of scenarios will be appended to the yardstick.out file. JIRA: YARDSTICK-45 Change-Id: I185c6d2a8a534c8bb2b731bb84c47bdf4bad4427 Signed-off-by: panghao1 <shamrock.pang@huawei.com>
2015-07-14Fix bug in cli.pykubi1-1/+1
Make sure log level set correctly. JIRA: YARDSTICK-57 Change-Id: Icc0e100432ce773f70ee0ac9b18471f89849d990 Signed-off-by: kubi <jean.gaoliang@huawei.com>
2015-07-09bug fix: install ssh key resource filesQiLiang1-1/+2
JIRA: YARDSTICK-58 Change-Id: I6d930f8c35eb42a8e5f0f011dfa836496d68ff98 Signed-off-by: QiLiang <liangqi1@huawei.com>
2015-07-08Apply theme to server names in samplesraindirve7-30/+30
By request, changed the misleading 'client' and 'server' designations under context:servers in the sample files, to avoid misunderstandings and convey the message that their names are irrelevant. Uses the Greek pantheon as established in https://gerrit.opnfv.org/gerrit/#/c/946/ JIRA: - Change-Id: I28438340f7cbad679c2ffd4d147fbf0c7d2a379d Signed-off-by: raindirve <seanw@kth.se>
2015-07-08Fix iperf3 target ipaddr and no optionsKristian Hunt1-1/+5
1. Fixes runner failing because of key error in context 'target_ipaddr'. 2. Fixes type error when no options are specified in the task file (for example as in the current iperf3 sample task file). JIRA:- Change-Id: I21a1dea4571c14dbb1f9862dcf70b078837ebf07 Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
2015-07-08Add support for action hooks in runner configHans Feldt2-1/+123
pre-start and post-stop intention is to be used to gather information about the target system. single-shot and periodic-action intention is to perform actions on the infrastructure or cloud resources. For example server live migration or network interface down. Example of what can be added in the runner section: pre-start-action: command: "heat stack-show demo" periodic-action: interval: 10 command: "ifconfig vboxnet1" single-shot-action: after: 30 command: "nova show goofy.demo" post-stop-action: command: "nova list" pre-start and post-stop data are added into the output file. periodic and single-shot are not because that would interfere with the actual sampled data. Besides the intention is not to log statistics but do things with the infrastructure such as server live migration. TODO: add sections to the output file, something like pre, data & post JIRA: YARDSTICK-46 Change-Id: Ia059813fb74733f86368aea9c7a20e5afb71d228 Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-07-06Add support for measuring storage performance use fiohoujingwen6-1/+301
A simple test case is added that will test writes to ephemeral storage. See samples/fio.yaml The Fio test type can also be used to test block storage, just modify the "filename" argument. JIRA: YARDSTICK-34 Change-Id: I1758d2999f8a5fdd44726e1dfc3e9769ea39dad6 Signed-off-by: houjingwen <houjingwen@huawei.com>
2015-07-03Add new sequence runnerKristian Hunt2-0/+168
The "sequence" runner will use an input value of the test for every run from a pre-defined list from the task file. Example runner section of the task file: type: Sequence interval: 1 scenario_option_name: packetsize sequence: - 100 - 150 - 200 JIRA: YARDSTICK-47 Change-Id: I5bde9b78cb356499c338ef3da26ac1783670887d Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
2015-07-01Rename server resources aligning with task fileHans Feldt1-3/+4
In the task file we have cross referencing between servers (VMs). This is done with DNS style naming. However servers created in the cloud does not get the same type of name. This patch aligns the cloud resource name with the one in the task file. This prepares for running external scripts that takes server names as input (see YARDSTICK-46) The "instances" support in model.Server is not really working and should be removed or fixed. No sample task file is using this feature for now. Change-Id: If2f752a82d224f07e4b5ee2361c1ff2454f39462 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-06-29Add Pktgen test step durationKristian Hunt3-8/+29
JIRA: YARDSTICK-48 Step duration for Pktgen can be configured for each step. Change-Id: Ida6e2f7d8a1c7d86fb2e65389b5b56d5958d3ad9 Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
2015-06-29Add support to list and show runners & scenariosHans Feldt11-7/+201
Example usage and output: $ yardstick runner list +------------------------------------------------------------------------------+ | Type | Description +------------------------------------------------------------------------------+ | Duration | Run a scenario for a certain amount of time | Arithmetic | Run a scenario arithmetically stepping an input value | Constant | Run a scenario a certain number of times +------------------------------------------------------------------------------+ $ yardstick runner show Duration Run a scenario for a certain amount of time If the scenario ends before the time has elapsed, it will be started again. Parameters duration - amount of time the scenario will be run for type: int unit: seconds default: 1 sec interval - time to wait between each scenario invocation type: int unit: seconds default: 1 sec $ yardstick scenario list +------------------------------------------------------------------------------+ | Type | Description +------------------------------------------------------------------------------+ | Iperf3 | Execute iperf3 between two hosts | Pktgen | Execute pktgen between two hosts | Ping | Execute ping between two hosts +------------------------------------------------------------------------------+ $ yardstick scenario show Iperf3 Execute iperf3 between two hosts By default TCP is used but UDP can also be configured. For more info see http://software.es.net/iperf Parameters bytes - number of bytes to transmit only valid with a non duration runner, mutually exclusive with blockcount type: int unit: bytes default: 56 udp - use UDP rather than TCP type: bool unit: na default: false nodelay - set TCP no delay, disabling Nagle's Algorithm type: bool unit: na default: false blockcount - number of blocks (packets) to transmit, only valid with a non duration runner, mutually exclusive with bytes type: int unit: bytes default: - JIRA: - Change-Id: If218e129a30af7e20792190003c214677e732252 Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-06-18add new command line handlerJo¶rgen Karlsson7-218/+317
New command line handler with pluggable classes. Task subcommand added. To run a scenario: yardstick -d task start samples/ping.yaml $ yardstick -h usage: yardstick [-h] [-V] [-d] [-v] {task} ... Command-line interface to yardstick optional arguments: -h, --help show this help message and exit -V, --version display version -d, --debug increase output verbosity to debug -v, --verbose increase output verbosity to info subcommands: {task} $ yardstick task -h usage: yardstick task [-h] {start} ... Task commands. Set of commands to manage benchmark tasks. optional arguments: -h, --help show this help message and exit subcommands: {start} $ yardstick task start -h usage: yardstick task start [-h] [--keep-deploy] [--parse-only] [--output-file OUTPUT_FILE] taskfile Start a benchmark scenario. positional arguments: taskfile path to taskfile optional arguments: -h, --help show this help message and exit --keep-deploy keep context deployed in cloud --parse-only parse the benchmark config file and exit --output-file OUTPUT_FILE file where output is stored, default /tmp/yardstick.out JIRA :- Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com> Change-Id: If0672594efa4c94c94ebb73f0bc97ecfe3e00c62
2015-06-18Fix ipaddress bug in main.pyJo¶rgen Karlsson1-1/+1
Make sure argument to ip_address() is always unicode. Change-Id: Id319134fb412ba0ba26c57b8b7285b60e7222a79 JIRA:- Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-06-18Fix order of arguments in ping.pyJo¶rgen Karlsson1-1/+1
The bash script expects 'destination' followed by 'option' Change-Id: If1c42f867caaa05c794cc81acc34fdce1774eb7c Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-06-16Add support for single server ping testHans Feldt5-22/+76
A simple test case is added that will ping an external server on the internet. See samples/ping-ext-ip.yaml Change-Id: I15eb3cb6ab9e5c1cf280f2aade2bf4c9646d6cd4 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-06-16Merge "fix error in ping-serial yaml file"Jo¶rgen Karlsson1-3/+3
2015-06-16fix error in ping-serial yaml fileJo¶rgen Karlsson1-3/+3
Change-Id: Ibd98cdcc0ed56ab376d0c2f8f37d2b53e07f2d2b JIRA:- Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-06-16Merge "add unit test for ping"Jo¶rgen Karlsson7-19/+92
2015-06-15add unit test for pingJo¶rgen Karlsson7-19/+92
Running of unittest from run_test.sh is NOT enabled. JIRA:- Change-Id: I741d63e8ab37570c3cf67353fafc7f5210382219 Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-06-15Add support for external HOT templateHans Feldt5-39/+240
An external HOT template is a separate yaml file in native Heat format HOT. The external template is referenced in the task file and used as template for a "context". Parameters required at template instantiation are also configured in the task file. See new sample file ping-hot.yaml Change-Id: Ie2b7ea96ea90b75ca4e08a29e2223ceeb1474724 JIRA: YARDSTICK-24 Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-06-15Add support for building imagesHans Feldt4-1/+169
Two scripts are added. One that will be installed in user's PATH and one that is an example of how to modify an image from within. See README for example and script for more info Change-Id: Iab743f6e9105d5ba872ffba0512ffee954c6d830 JIRA: YARDSTICK-28 Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-06-11fix deploy without placement groupsJo¶rgen Karlsson1-1/+13
Change-Id: Ibc18a2652d3e8f4656fc58d7a5b45daeb36178d1 JIRA: YARDSTICK-30 Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-06-09Add support for multiple contexts(stacks)Hans Feldt4-32/+118
A list of contexts can be specified, cross referencing between contexts is supported and shown in the added sample file. TBD can placement group work between stacks? Change-Id: I26dbe94e52ba0be5e49f50fd70540a57de2204cb JIRA: YARDSTICK-31 Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-06-09add pktgen scenario and sampleJörgen Karlsson4-4/+305
Supports measuring network throughput UDP. SLA can be verified for packet lost per million packets (ppm) Change-Id: Ie5972f189bbe58b39a2fae98630b2f117c176ae5 JIRA: YARDSTICK-5 Signed-off-by: Jorgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-06-04fix exit status at SLA assertionHans Feldt3-8/+32
tested by changing SLA action to assert and lower rtt, yardstick command should exit non zero Change-Id: I2dd091941fb4359add849f218cacc04f364142cd JIRA: YARDSTICK-25 Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-28add iperf3 scenario and sampleHans Feldt2-0/+182
Supports measuring network throughput using TCP and UDP. SLA can be verified for bytes per second compared against the summary from iperf3. Change-Id: Ia387aac64932b9c01a64acdcba152fc46b32e382 JIRA: YARDSTICK-20 Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-28fix run_tests.shHans Feldt1-1/+1
Since we have no tests yet, just run flake8 Change-Id: I623d96c924524b2992175d345e176b7fd743413d JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-26make cidr optional in network sectionJörgen Karlsson1-1/+1
cidr defaults to '10.0.1.0/24' if not specified Change-Id: I12b25be8d4e4be3b56cf71096dfab439f91cf7d1 JIRA: - Signed-off-by: Jörgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-05-26add setup/teardown to scenario base class and runnersHans Feldt3-7/+22
Prepare for "service type" of scenarios that e.g. needs to start a service in setup and shut it down in teardown. In the runners, instantiation of the scenario is moved after the "worker START" log to get a more logical sequence logged. Change-Id: Idfaf5bb396eab9261e820291885b5a1dbc32f71e JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-25add Dockerfile for yardstickHans Feldt1-0/+40
This allows running yardstick from a container not using a virtualenv. Example commands to build and run: docker build -t opnfv/yardstick . docker run -it --rm opnfv/yardstick Change-Id: Ia5a433c116d61e8d27e5ddb7186ef4b3ecd35e87 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-22add main cmd for yardstickHans Feldt2-2/+141
Some necessary setup fixes (after the pbr 1.0.1 release) JIRA: - Change-Id: I6259f7211b2f446e57461b7b6ac0e42387b92f5c Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-22add package context with module modelHans Feldt2-0/+396
The "model" module contains classes that helps the main logic of yardstick to maintain a logical model/representation of the context as described in the yaml file. The main class Context has methods to deploy and undeploy the context into/from some target cloud. Change-Id: Ia04d9132ab8ef5de5dab686929e4b7ac05d7af30 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-22add orchestrator package with heat moduleHans Feldt2-0/+429
The heat module contains two classes, Template and Stack. Resources are added to a Template instance and then deployed. This returns a Stack instance that holds the output values from the deployment and that also has a method to undeploy - delete the stack. Change-Id: Ief3f75bbb015e5d43023b8d8e8ece49673572b13 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-22add yardstick ssh keyHans Feldt4-0/+32
yardstick for now uses a pre-generated ssh key Change-Id: Iac9f76c82c58e45f1ec8ac1bf529c3ba3562da4e JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-21fix flake8 complaintsHans Feldt1-2/+2
run_tests.sh now runs clean Change-Id: Idadebabfa9306cf750207326f5f0b5a35530af34 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-21fix run_tests exit statusHans Feldt1-0/+2
previously run_tests always returned 0 no matter the result. It can now be hooked up to a gerrit gate job. Change-Id: I2c4bccec71c179fd2b1b965613c34179da830ac5 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-21add package runners and a few runnersHans Feldt4-0/+294
The "duration" runner will run a test for an amount of time. The "arithmetic" runner will increase an input value of the test for every run until a limit is reached. Change-Id: I31c9864604110ce3f5d19ec110144d1c886c7620 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-20add ping benchmark typeHans Feldt3-0/+100
This simple benchmark can be used to measure network latency. Change-Id: I41f5b9f32544b2e668d39220fcfb87ed493f4baa JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-20add ssh moduleHans Feldt1-0/+256
The ssh module is used when executing benchmark scenarios using remote login to a VM. ssh.py originates from rally but is stripped down and slightly modified (some dependencies removed). Change-Id: I0dc479fa1cb06e7469c20e24d3124f020b97a73c JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-19add package scenarios with module baseHans Feldt3-0/+42
The Scenario class is a base class for all "real" scenarios. Change-Id: I4891321bdf489bce3e5c7e25c0c75e6882e344e4 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-19add package common with module utilsHans Feldt2-0/+62
The utils module supports finding subclasses of a class. This is used to find Runner and Scenarios types. utils.py originates from rally but is stripped down and slightly modified (some dependencies removed). Change-Id: Ibc196698e1212899b0836988d0345696b00c5caf JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-19Merge "add cmdparser"Hans Feldt1-0/+71
2015-05-15add sample benchmark configuration filesHans Feldt5-0/+191
Change-Id: I21a9e2db57d12e16bc0358bfa6c34c4d1d6a4de0 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-13add cmdparserHans Feldt1-0/+71
cmdparser.py is the parser for the command line tool yardstick Change-Id: I0a27be35ad21d54d8c5cc7c2ab72aa60ed8f5d1f JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-13Add yardstick packageJörgen Karlsson1-0/+18
JIRA: - Change-Id: Icb1c08befb66e883c11166eb36670252d63e9cf9 Signed-off-by: Jörgen Karlsson <jorgen.w.karlsson@ericsson.com>
2015-05-13add README and scripts for build and testHans Feldt4-0/+481
README.rst is work in progress and probably not proper rst format yet but should still contain valuable information. run_tests.sh is a script that runs unit and style tests on the code. It can be used as a gate check in gerrit. Similar scripts are standard practice in other open source projects. JIRA: - Change-Id: I5e586b346ff45f1151960a0e7fda2fe6072422c0 Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
2015-05-13Merge "Adding .gitreview to yardstick JIRA:0000 more information at ↵Ana C1-0/+23
https://wiki.opendaylight.org/view/Git-review_Workflow"