aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
diff options
context:
space:
mode:
authorHans Feldt <hans.feldt@ericsson.com>2015-05-12 18:25:42 +0200
committerHans Feldt <hans.feldt@ericsson.com>2015-05-13 09:31:04 +0000
commit2d131cd335b35914133d3dd8d1d8f5741fc38eb0 (patch)
tree6c891c459a58d5c2625aea2b3b71f16128f36244 /README.rst
parent6c8042ae1c057b701d1c42a563faab4b216d4d92 (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.rst87
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
+