Distributed data-plane performance testing tool
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Le'Sage, Oded (ol7435) 870b20b34f implement support for heat's get_file function 7 months ago
doc/source Enhance Shaker to support the shell class execution after reboot 11 months ago
etc Enhance Shaker to support the shell class execution after reboot 11 months ago
shaker implement support for heat's get_file function 7 months ago
tools Update documentation 2 years ago
.dockerignore Pack Shaker into container 5 years ago
.gitignore Enhance Shaker to support custom user options 3 years ago
.gitreview OpenDev Migration Patch 3 years ago
.stestr.conf Switch to stestr 3 years ago
.zuul.yaml Resolve job failures 11 months ago
Dockerfile Add Zuul job to build Docker image 3 years ago
LICENSE Initial commit 7 years ago
README.rst Update project links and package metadata 2 years ago
config-generator.conf Fix config processing for oslo.log 7 years ago
openstack-common.conf Use oslo.log lib instead of incunator code 7 years ago
readthedocs.yml Fix docs gate and rtd build 5 years ago
requirements.txt Resolve job failures 11 months ago
rtd-requirements.txt Fix docs gate and rtd build 5 years ago
setup.cfg Update project links and package metadata 2 years ago
setup.py Update requirements and pin pyzmq 6 years ago
test-requirements.txt Resolve py27 and pep8 job failures 2 years ago
tox.ini Resolve py27 and pep8 job failures 2 years ago

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 performa/shaker

$ docker run -p <port>:<port> -v <artifacts-dir>:/artifacts performa/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