Oded Le'Sage b592dd9325 Enhance Shaker to support custom user options
Issue: Some of our more complex tests require injecting "custom" data
into the heat stacks in order to run correctly. For example in order to
run certain Contrail based tests we need to set "contrail-asn:(some
asn number)". The asn number varies between cloud deployments, so we
dynamically set this field in a Heat environment file. However this is
a very specific field that other Shaker users might not need or
understand it, so this commit allows for a more generic approach.

This commit aims to let the user specify "custom" user defined options
similar to the matrix config parameter. Since this opts is not
directly referenced anywhere in code it's main use is to inject data
into heat environment files. The YAML format allows flexibility for any
object the user might want to add during their scenario
run or it can be left blank without any issues.

Change-Id: I96b6e578eb59813e5e0c8a2fe7a14c5ecc369be7
2018-11-06 16:53:26 -06:00
2016-08-04 15:36:41 +03:00
2015-10-17 22:38:47 +00:00
2018-07-06 10:33:13 +07:00
2015-01-28 18:56:01 +03:00
2018-04-21 13:54:24 +08:00
2016-12-14 12:51:10 +04:00
2018-01-03 03:15:03 +00:00
2015-11-12 14:05:16 +03:00
2018-07-06 10:33:13 +07:00
2018-10-22 15:03:38 +02:00

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
Description
Distributed data-plane performance testing tool
Readme 3.5 MiB
Languages
Python 91%
HTML 8%
Shell 0.8%
Dockerfile 0.2%