diff options
author | 2015-05-12 18:25:42 +0200 | |
---|---|---|
committer | 2015-05-13 09:31:04 +0000 | |
commit | 2d131cd335b35914133d3dd8d1d8f5741fc38eb0 (patch) | |
tree | 6c891c459a58d5c2625aea2b3b71f16128f36244 /README.rst | |
parent | 6c8042ae1c057b701d1c42a563faab4b216d4d92 (diff) |
add README and scripts for build and test
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>
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/README.rst b/README.rst new file mode 100644 index 000000000..049a42677 --- /dev/null +++ b/README.rst @@ -0,0 +1,87 @@ +========= +Yardstick +========= + +Overview +======== + +Yardstick is a framework to test non functional characteristics of an NFV +Infrastructure as perceived by an application. + +An application is a set of virtual machines deployed using the orchestrator of +the target cloud, for example OpenStack Heat. + +Yardstick measures a certain service performance but can also validate the +service performance to be within a certain level of agreement. + +Yardstick is _not_ about testing OpenStack functionality (tempest) or +benchmarking OpenStack APIs (rally). + +Concepts +======== + +Benchmark - assess the relative performance of something + +Benchmark configuration file - describes a single test case in yaml format + +Context +- The set of cloud resources used by a benchmark (scenario) +– Is a simplified Heat template (context is converted into a Heat template) + +Data +- Output produced by running a benchmark, written to a file in json format + +Runner +- Logic that determines how the test is run +– For example number of iterations, input value stepping, duration etc + +Scenario +- Type/class of measurement for example Ping, Pktgen, (Iperf, LmBench, ...) + +SLA +- Some limit to be verified (specific to scenario), for example max_latency +– Associated action to automatically take: assert, monitor etc + +Architecture +============ + +Yardstick is a command line tool written in python inspired by Rally. Yardstick +is intended to run on a computer with access and credentials to a cloud. The +test case is described in a configuration file given as an argument. + +How it works: the benchmark task configuration file is parsed and converted into +an internal model. The context part of the model is converted into a Heat +template and deployed into a stack. Each scenario is run using a runner, either +serially or in parallel. Each runner runs in its own subprocess executing +commands in a VM using SSH. The output of each command is written as json +records to a file. + +Install +======= + +TBD + +Run +=== + +TBD + +Custom Image +============ + +pktgen test requires a ubuntu server cloud image +TBD + +Development Environment +======================= + +Example setup known to work for development and test: +- Development environment: Ubuntu14.04, eclipse, virtual environment +- Cloud: Mirantis OpenStack 6.0 deployed using Virtualbox + +Create a virtual environment: +$ sudo apt-get install python-virtualenv +$ virtualenv ~/yardstick_venv +$ source ~/yardstick_venv/bin/activate +$ python setup.py develop + |