Rally provides a framework for performance analysis and benchmarking of individual OpenStack components as well as full production OpenStack cloud deployments
Clone or download
andreykurilin Propose 1.2.0 release
Change-Id: I34eca39cc5a4f444932bcacb598cfcc5749bd5be
Latest commit f58317f Sep 19, 2018
Failed to load latest commit information.
.zuul.d switch documentation job to new PTI Aug 30, 2018
devstack [evil][ci] Preparing to remove all OpenStack in-tree plugins Jun 13, 2018
doc Fix minor typo in Rally Plugins doc Jul 11, 2018
etc Add rally env cleanup command Aug 7, 2018
rally-jobs [evil] Remove OpenStack related plugins Jun 20, 2018
rally Add support of exporting results to elasticsearch 6.x Sep 19, 2018
samples [evil] Remove OpenStack related plugins Jun 20, 2018
tests Add support of exporting results to elasticsearch 6.x Sep 19, 2018
.coveragerc [CI] Fix coverage job Jun 27, 2016
.dockerignore Fix docker build command Nov 11, 2015
.gitignore [ci] Start fixing CLI job Oct 12, 2017
.gitreview Update git review + hosting/mirroring links Apr 18, 2015
CHANGELOG.rst Propose 1.2.0 release Sep 19, 2018
CONTRIBUTING.rst [docs][6] Re-design docs to cover all user-groups Jan 10, 2017
Dockerfile Dockerfile - trivial fixes Feb 7, 2018
LICENSE Initial commit Aug 3, 2013
README.rst Prepare to Rally 1.0.0 release Jun 20, 2018
bindep.txt Update links in bindep.txt Jan 16, 2018
install_rally.sh [install] Use constraints in install script Jan 14, 2018
optional-requirements.txt Fixing docker-check jenkins job Sep 20, 2016
requirements.txt Update our requirements.txt and u-c files Aug 7, 2018
setup.cfg Declare that we support py3.6 and py3.7 Aug 7, 2018
setup.py Updated from global requirements Sep 22, 2015
test-requirements.txt Update our requirements.txt and u-c files Aug 7, 2018
tox.ini switch documentation job to new PTI Aug 30, 2018
upper-constraints.txt Update our requirements.txt and u-c files Aug 7, 2018



Rally is tool & framework that allows one to write simple plugins and combine them in complex tests scenarios that allows to perform all kinds of testing!

Team and repository tags

Latest Version Gitter Chat Trello Board Apache License, Version 2.0

What is Rally

Rally is intended to provide a testing framework that is capable to perform specific, complicated and reproducible test cases on real deployment scenarios.

Rally workflow can be visualized by the following diagram:

Rally Architecture

Who Is Using Rally

Who is Using Rally


Rally documentation on ReadTheDocs is a perfect place to start learning about Rally. It provides you with an easy and illustrative guidance through this benchmarking tool.

For example, check out the Rally step-by-step tutorial that explains, in a series of lessons, how to explore the power of Rally in benchmarking your OpenStack clouds.


In terms of software architecture, Rally is built of 4 main components:

  1. Environment - one of key component in Rally. It manages and stores information about tested platforms. Env manager is using platform plugins to: create, delete, cleanup, check health, obtain information about platforms.
  2. Task component is responsible for executing tests defined in task specs, persisting and reporting results.
  3. Verification component allows to wrap subunit-based testing tools and provide complete tool on top of them with allow to do pre configuration, post cleanup as well process and persist results to Rally DB for future use like reporting and results comparing.

Use Cases

There are 3 major high level Rally Use Cases:

Rally Use Cases

Typical cases where Rally aims to help are:

  • Automate measuring & profiling focused on how new code changes affect the OpenStack performance;

  • Using Rally profiler to detect scaling & performance issues;

  • Investigate how different deployments affect the OS performance:

    • Find the set of suitable OpenStack deployment architectures;
    • Create deployment specifications for different loads (amount of controllers, swift nodes, etc.);
  • Automate the search for hardware best suited for particular OpenStack cloud;

  • Automate the production cloud specification generation:

    • Determine terminal loads for basic cloud operations: VM start & stop, Block Device create/destroy & various OpenStack API methods;
    • Check performance of basic cloud operations in case of different loads.