Distributed data-plane performance testing tool
Go to file
Ilya Shakhat f5c3a09535 Do not list test scenarios in CLI help
Scenarios under `test/` subfolder are used for integration testing
or as samples. Skip them in CLI help and keep only production-ready.

Change-Id: I69a428480055c825aa3b590f02b4c09b346a6012
2018-11-05 16:05:32 +01:00
doc/source Do not list test scenarios in CLI help 2018-11-05 16:05:32 +01:00
etc Do not list test scenarios in CLI help 2018-11-05 16:05:32 +01:00
shaker Do not list test scenarios in CLI help 2018-11-05 16:05:32 +01:00
tools Add zuul job with integration testing 2018-10-22 15:03:38 +02:00
.dockerignore Pack Shaker into container 2016-08-04 15:36:41 +03:00
.gitignore Switch to stestr 2018-07-06 10:33:13 +07:00
.gitreview Update .gitreview for new namespace 2015-10-17 22:38:47 +00:00
.stestr.conf Switch to stestr 2018-07-06 10:33:13 +07:00
.zuul.yaml Add zuul job with integration testing 2018-10-22 15:03:38 +02:00
Dockerfile Install necessary tools inside Docker image 2017-04-04 15:34:57 +04:00
LICENSE Initial commit 2015-01-28 18:56:01 +03:00
README.rst Trivial: Update pypi url to new url 2018-04-21 13:54:24 +08:00
config-generator.conf Fix config processing for oslo.log 2015-03-03 17:38:25 +03:00
openstack-common.conf Use oslo.log lib instead of incunator code 2015-03-03 16:14:19 +03:00
readthedocs.yml Fix docs gate and rtd build 2016-12-14 12:51:10 +04:00
requirements.txt Cap os-client-config to avoid impact on YAML parser 2018-05-15 17:56:09 +02:00
rtd-requirements.txt Fix docs gate and rtd build 2016-12-14 12:51:10 +04:00
setup.cfg Fix the ineffective links in shaker 2018-01-03 03:15:03 +00:00
setup.py Update requirements and pin pyzmq 2015-11-12 14:05:16 +03:00
test-requirements.txt Switch to stestr 2018-07-06 10:33:13 +07:00
tox.ini Add zuul job with integration testing 2018-10-22 15:03:38 +02:00

README.rst

Shaker

The distributed data-plane testing tool built for OpenStack.

Shaker wraps around popular system network testing tools like iperf, iperf3 and netperf (with help of flent). Shaker is able to deploy OpenStack instances and networks in different topologies. Shaker scenario specifies the deployment and list of tests to execute. Additionally tests may be tuned dynamically in command-line.

Features

  • User-defined topology via Heat templates
  • Simultaneously test execution on multiple instances
  • Interactive report with stats and charts
  • Built-in SLA verification

Deployment Requirements

  • Shaker server routable from OpenStack cloud
  • Admin-user access to OpenStack API is preferable

Run in Python Environment

$ pip install pyshaker
$ . openrc
$ shaker-image-builder
$ shaker --server-endpoint <host:port> --scenario <scenario> --report <report.html>``
where:
  • host and port - host and port of machine where Shaker is deployed
  • scenario - the scenario to execute, e.g. openstack/perf_l2 ( catalog)
  • <report.html> - file to store the final report

Full list of parameters is available in documentation.

Shaker in Container

Shaker is available as container at Docker Hub at shakhat/shaker

$ docker run -p <port>:<port> -v <artifacts-dir>:/artifacts shakhat/shaker --scenario <scenario> --server-endpoint <host:port>
  --os-auth-url <os-auth-url> --os-username <os-username> --os-password <os-password> --os-project-name <os-project-name>
where:
  • host and port - host and port on machine where Shaker is deployed
  • artifacts-dir - where to store report and raw result
  • scenario - the scenario to execute, e.g. openstack/perf_l2 ( catalog)
  • os-XXX - OpenStack cloud credentials