A collection of plugins for Rally framework designed for the OpenStack platform.
Go to file
Mikhail Dubov 8621610146 Add support for user/admin permissions in endpoints
Instead of storing the endpoints as a single admin credentials dictionary
(containing the username, password etc.) we should be able to store several
endpoints which can be possibly returned from the deploy object, as well as
the information whether these endpoints have the admin permission or not.
If not, then the deployment is going to be used with the predefined set of
users (that will be implemented next). If there is an admin endpoint, then
the users for benchmarking will be generated (the "admin" role).
This information now gets stored in a dictionary of form:

    "endpoints": [
        {"username": ..., "password": ...,
         "tenant_name": ..., "auth_url": ..., "permission": "admin|user"},
        {"username": ..., "password": ...,
         "tenant_name": ..., "auth_url": ...,
         "permission": "admin|user"},
        ...
    ]

Blueprint benchmarking-with-predefined-users

Change-Id: If36e33e89daa036bd4b0d7db8e2d3b5b5b0f4aca
2014-02-14 01:19:22 +04:00
doc/source Add support to build docs by Sphinx 2014-01-15 19:11:11 +04:00
etc/rally Added SSL support for OpenStack services clients 2014-02-12 16:56:08 +04:00
rally Add support for user/admin permissions in endpoints 2014-02-14 01:19:22 +04:00
tests Move tests to root dirrectory and fix tox 2013-08-28 19:08:07 +04:00
.coveragerc Omit openstack/common/ in test coverage reports 2014-01-16 00:53:49 +04:00
.gitignore Add .venv to git ignore 2013-12-23 17:01:22 +04:00
.gitreview Add .gitreview file 2013-09-06 19:37:42 +04:00
LICENSE Initial commit 2013-08-03 09:17:25 -07:00
README.rst Fixed some formatting and typos in the README 2013-10-15 17:04:25 -06:00
requirements.txt Added Heat client initialization 2014-02-12 00:11:56 +04:00
setup.cfg Call rally-manage with warning when openstack-rally-manage is used 2014-01-29 11:37:32 +00:00
setup.py Sync with global requirements 2014-01-01 23:08:07 +04:00
test-requirements.txt Temporary fix testtols version to unblock gate 2014-01-29 21:55:11 +04:00
tox.ini Sync with global requirements 2014-01-01 23:08:07 +04:00

Rally

Introduction

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

Rally is intended to provide 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 which validates OpenStack APIs, some tracing facilities like Tomograph with Zipkin. 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 easily be large and also because one may be willing to use many 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). What Rally aims to do is Compile many already existing benchmarking facilities into one project, making it flexible to user requirements and ensuring the reproducibility of test results.

Architecture

Rally is 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:

    • deploy an Operating System (OS) on already existing VMs;
    • starting VMs from a VM image with pre-installed OS and OpenStack;
    • delpoying multiple VMs inside each 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 user-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, in addition to launching an OpenStack distribution. After that, it 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