Rally provides a framework for performance analysis and benchmarking of individual OpenStack components as well as full production OpenStack cloud deployments
Go to file
boden bbde640539 Add self to AUTHORS file
Update AUTHORS file to identify myself as a contributor.
I will be assisting with some efforts in Rally.

Change-Id: I63f32f4aacd3e8ada9a81a68d4cf9a84a31cdf17
2013-10-11 04:49:28 -04:00
doc/sample Make devstack engine more flexible 2013-10-10 12:40:45 +03:00
etc/rally Add rally.sample.conf to project 2013-08-14 14:08:09 +04:00
openstack-patches Added openstack patches for nova 2013-09-12 11:47:54 +03:00
rally Merge "Rewrite rally.utils.sync_execute() to wait_for()" 2013-10-10 21:53:34 +00:00
tests Merge "Rewrite rally.utils.sync_execute() to wait_for()" 2013-10-10 21:53:34 +00:00
tools Add run_tests.sh as alternative for tox 2013-08-24 18:10:32 +04:00
.gitignore Add task status tracking 2013-09-18 19:04:57 +03:00
.gitreview Add .gitreview file 2013-09-06 19:37:42 +04:00
.testr.conf Move tests to root dirrectory and fix tox 2013-08-28 19:08:07 +04:00
AUTHORS Add self to AUTHORS file 2013-10-11 04:49:28 -04:00
babel.cfg Add rally.sample.conf to project 2013-08-14 14:08:09 +04:00
LICENSE Initial commit 2013-08-03 09:17:25 -07:00
openstack-common.conf Add DB utils from Oslo 2013-08-25 14:51:38 +04:00
README.rst Improve readme 2013-09-14 02:20:41 +04:00
requirements.txt Make devstack engine more flexible 2013-10-10 12:40:45 +03:00
run_tests.sh Move tests to root dirrectory and fix tox 2013-08-28 19:08:07 +04:00
setup.cfg Added cli scripts to package config 2013-09-23 12:35:51 +03:00
setup.py Add tox, pep and requirements to project 2013-08-14 12:23:42 +04:00
test-requirements.txt Benchmark test framework for Rally 2013-09-18 01:35:44 +04:00
tox.ini Rally logging: test engine 2013-09-30 19:00:02 +04:00

Rally

Introduction

Rally is a Benchmark-as-a-Service project for OpenStack.

Rally is intended for providing the community with a benchmarking tool that is capable of performing specific, complicated and reproducible test cases on real deployment scenarios.

In the OpenStack ecosystem there are currently several tools that are helpful in carrying out the benchmarking process for an OpenStack deployment. To name a few, there are DevStack and FUEL which are intended for deploying and managing OpenStack clouds, the Tempest testing framework that validates OpenStack APIs, some tracing facilities like Tomograph with Zipkin, and so on. The challenge, however, is to compile all these tools together on a reproducible basis. That can be a rather difficult task since the number of compute nodes in a practical deployment can be really huge and also because one may be willing to use lots of different deployment strategies that pursue different goals (e.g., while benchmarking the Nova Scheduler, one usually does not care of virtualization details, but is more concerned with the infrastructure topologies; while in other specific cases it may be the virtualization technology that matters). Compiling a bunch of already existing benchmarking facilities into one project, making it flexible to user requirements and ensuring the reproducibility of test results, is exactly what Rally does.

Architecture

Rally is basically split into 4 main components:

  1. Deployment Engine, which is responsible for processing and deploying VM images (using DevStack or FUEL according to users preferences). The engine can do one of the following:

    • deploying an OS on already existing VMs;
    • starting VMs from a VM image with pre-installed OS and OpenStack;
    • delpoying multiply VMs inside each has OpenStack compute node based on a VM image.
  2. VM Provider, which interacts with cloud provider-specific interfaces to load and destroy VM images;

  3. Benchmarking Tool, which carries out the benchmarking process in several stages:

    • runs Tempest tests, reduced to 5-minute length (to save the usually expensive computing time);
    • runs the used-defined test scenarios (using the Rally testing framework);
    • collects all the test results and processes the by Zipkin tracer;
    • puts together a benchmarking report and stores it on the machine Rally was lauched on.
  4. Orchestrator, which is the central component of the system. It uses the Deployment Engine to run control and compute nodes and to launch an OpenStack distribution and, after that, calls the Benchmarking Tool to start the benchmarking process.

Wiki page:

https://wiki.openstack.org/wiki/Rally

Launchpad page:

https://launchpad.net/rally

Code is hosted on github:

https://github.com/stackforge/rally