Metadata-Version: 2.1
Name: pyshaker
Version: 1.4.3.dev2
Summary: Distributed data-plane performance testing tool
Home-page: https://pyshaker.readthedocs.io/
Author: OpenStack
Author-email: openstack-discuss@lists.openstack.org
License: UNKNOWN
Download-URL: https://pypi.org/project/pyshaker/
Project-URL: Bug Tracker, https://launchpad.net/shaker
Project-URL: Documentation, https://pyshaker.readthedocs.io/
Project-URL: Source Code, https://opendev.org/performa/shaker
Platform: UNKNOWN
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/x-rst; charset=UTF-8
Requires-Dist: Jinja2 (<3.0.0,>=2.10.1)
Requires-Dist: PyYAML (>=3.10.0)
Requires-Dist: diskimage-builder (!=1.6.0,!=1.7.0,!=1.7.1,>=1.1.2)
Requires-Dist: iso8601 (>=0.1.11)
Requires-Dist: os-client-config (<1.31.0,>=1.22.0)
Requires-Dist: pbr (>=1.8)
Requires-Dist: pygal
Requires-Dist: python-subunit (>=0.0.18)
Requires-Dist: pyzmq (>=16.0)
Requires-Dist: six (>=1.9.0)
Requires-Dist: timeout-decorator (>=0.4.0)
Requires-Dist: keystoneauth1 (<=3.18.0,>=2.18.0) ; (python_version<'3.6')
Requires-Dist: oslo.concurrency (<4.0.0,>=3.8.0) ; (python_version<'3.6')
Requires-Dist: oslo.config (!=3.18.0,<8.0.0,>=3.14.0) ; (python_version<'3.6')
Requires-Dist: oslo.log (<4.0.0,>=3.11.0) ; (python_version<'3.6')
Requires-Dist: oslo.serialization (<3.0.0,>=1.10.0) ; (python_version<'3.6')
Requires-Dist: oslo.utils (<4.0.0,>=3.18.0) ; (python_version<'3.6')
Requires-Dist: pykwalify (<1.8.0) ; (python_version<'3.6')
Requires-Dist: python-glanceclient (<=3.0.0,>=2.5.0) ; (python_version<'3.6')
Requires-Dist: python-heatclient (<2.0.0,>=1.6.1) ; (python_version<'3.6')
Requires-Dist: python-neutronclient (<8.0.0,>=5.1.0) ; (python_version<'3.6')
Requires-Dist: python-novaclient (<17.0.0,>=7.1.0) ; (python_version<'3.6')
Requires-Dist: keystoneauth1 (>=2.18.0) ; (python_version>='3.6')
Requires-Dist: oslo.concurrency (>=3.8.0) ; (python_version>='3.6')
Requires-Dist: oslo.config (!=3.18.0,>=3.14.0) ; (python_version>='3.6')
Requires-Dist: oslo.log (>=3.11.0) ; (python_version>='3.6')
Requires-Dist: oslo.serialization (>=1.10.0) ; (python_version>='3.6')
Requires-Dist: oslo.utils (>=3.18.0) ; (python_version>='3.6')
Requires-Dist: pykwalify ; (python_version>='3.6')
Requires-Dist: python-glanceclient (>=2.5.0) ; (python_version>='3.6')
Requires-Dist: python-heatclient (>=1.6.1) ; (python_version>='3.6')
Requires-Dist: python-neutronclient (>=5.1.0) ; (python_version>='3.6')
Requires-Dist: python-novaclient (>=7.1.0) ; (python_version>='3.6')

Shaker
======

**The distributed data-plane testing tool built for OpenStack.**

Shaker wraps around popular system network testing tools like
`iperf <https://iperf.fr/>`_, `iperf3 <https://iperf.fr/>`_
and netperf (with help of `flent <https://flent.org/>`_).
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
-------------------------

.. code-block:: bash

   $ 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 <http://pyshaker.readthedocs.io/en/latest/catalog.html>`_)
    * ``<report.html>`` - file to store the final report

Full list of parameters is available in `documentation <http://pyshaker.readthedocs.io/en/latest/tools.html#shaker>`_.


Shaker in Container
-------------------

Shaker is available as container at Docker Hub at
`performa/shaker <https://hub.docker.com/r/performa/shaker/>`_

.. code-block:: bash

    $ 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 <http://pyshaker.readthedocs.io/en/latest/catalog.html>`_)
 * ``os-XXX`` - OpenStack cloud credentials


Links
-----
* PyPi - https://pypi.org/project/pyshaker/
* Docker - https://hub.docker.com/r/performa/shaker/
* Docs - https://pyshaker.readthedocs.io/
* Bugtracker - https://launchpad.net/shaker



