Rally provides a framework for performance analysis and benchmarking of individual OpenStack components as well as full production OpenStack cloud deployments
Go to file
Andrey Kurilin 30d5a8ed04 Deprecate rally.common.yamlutils and rally.common.fileutils
* rally.common.fileutils contains stuff that related only to
  rally.cli.envutils + openstack related helper

* rally.common.yamlutils was designed for CLI purpose and should not be
  places under rally.common.

Change-Id: I9d639d2baa9298a26e7670c5b4b356a8b56583a2
2020-03-22 00:44:08 +02:00
.zuul.d Rework docker build 2020-03-21 15:37:33 +02:00
doc Fix pep8 job according to latest set of rules 2020-01-03 16:14:10 +02:00
etc Rework docker build 2020-03-21 15:37:33 +02:00
rally Deprecate rally.common.yamlutils and rally.common.fileutils 2020-03-22 00:44:08 +02:00
rally-jobs [evil] Remove OpenStack related plugins 2018-06-20 19:01:47 +03:00
samples [evil] Remove OpenStack related plugins 2018-06-20 19:01:47 +03:00
tests Deprecate rally.common.yamlutils and rally.common.fileutils 2020-03-22 00:44:08 +02:00
.coveragerc [CI] Fix coverage job 2016-06-27 15:39:13 +03:00
.dockerignore Rework docker build 2020-03-21 15:37:33 +02:00
.gitignore [ci] Start fixing CLI job 2017-10-12 12:13:18 +03:00
.gitreview OpenDev Migration Patch 2019-04-19 19:32:06 +00:00
bindep.txt Rework rally-install-* jobs 2020-02-14 13:44:20 +02:00
CHANGELOG.rst Deprecate rally.common.yamlutils and rally.common.fileutils 2020-03-22 00:44:08 +02:00
CONTRIBUTING.rst [docs][6] Re-design docs to cover all user-groups 2017-01-10 11:25:00 -08:00
DOCKER_README.md Rework docker build 2020-03-21 15:37:33 +02:00
Dockerfile Rework docker build 2020-03-21 15:37:33 +02:00
install_rally.sh install_rally.sh: moved zypper pkg manager up to handle case when 2019-06-03 14:43:11 -06:00
LICENSE Initial commit 2013-08-03 09:17:25 -07:00
README.rst update git.openstack.org to opendev 2019-04-25 23:59:52 +00:00
requirements.txt Remove six usage 2020-02-21 16:15:31 +02:00
setup.cfg Include min python version at setup.cfg 2020-03-17 15:36:10 +02:00
setup.py Stop checking installation on ubuntu-xenial nodes 2020-03-03 13:45:55 +02:00
test-requirements.txt Use unittests.mock instead of mock lib 2020-03-21 18:13:40 +02:00
tox.ini Rework docker build 2020-03-21 15:37:33 +02:00
upper-constraints.txt Ensure python 3.8 is supported 2020-02-28 09:17:43 +02:00

Rally

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

image

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

Documentation

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.

Architecture

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.