Author: Boris PavlovichMirantis is pleased to announce the upcoming release of a new benchmarking tool in OpenStack - Rally. This project is responsible for deploying OpenStack in a specific cloud configuration, testing its correctness, and measuring various performance parameters.
Why Rally?
OpenStack is a very complex and flexible software consisting of many subsystems and components. Therefore, trying to test and understand how the various embedded solutions and proposed changes in OpenStack affect the behavior and performance of the system as a whole, integrators and developers of OpenStack inevitably face difficulties associated with the extreme complexity of OpenStack. Moreover, the huge variety of possible cloud configurations in which OpenStack can be installed and used further complicates the task of conducting benchmarking.
In fact, it is hardly possible to get meaningful results when testing and comparing with benchmarks only local OpenStack elements. Running specific benchmarking procedures on an already installed OpenStack system as a whole and using a given cloud configuration, on the contrary, will bring much more positive and practical results from a practical point of view. This is exactly what Rally is intended for: this project provides the community with a cloud benchmarking tool that can perform certain complex and repeatable comparison scenarios with benchmarks on deployed OpenStack systems.
')
Rally components
Rally interacts with the OpenStack through the OpenStack API. It automatically installs and tests OpenStack, sends reports to the database, determines the data profile, and creates a separate page with the installation image. Having done all this, Rally completes the installation.
Rally integrates a number of existing benchmarking tools in one project, which makes it flexible to user requirements and ensures reproducible test results. Rally includes 4 components:
- Deployment Engine (Deploy Engine), which is responsible for processing and using images of virtual machines (VM) using either DevStack or FUEL, depending on user preferences. This mechanism can do one of the following:
- Deploy an OS on an existing VM.
- Run multiple VMs from a VM image with preinstalled OS and OpenStack.
Deploy multiple VMs, each of which has an OpenStack compute node based on a VM image.
- VM Provider (VM Provider), interacting with the interfaces of specific cloud providers for loading and destroying VM images.
- Benchmarking Tool, which implements various stages of benchmarking:
- Performs Tempest tests of no more than 5 minutes.
- Runs user test scripts (using the Rally test environment).
- Collects all the results and processes them using the Zipkin distributed trace system.
- Forms a general test benchmarking report and saves it on the machine where Rally was launched.
- Orchestrator (Orchestrator) - the central component of the system. He uses the Deploy Engine to run the management and compute nodes and the OpenStack distribution, after which he calls the Benchmarking Tool to start the benchmarking process.
Below is a diagram of the functioning of the Rally.

To determine how OpenStack works, profiling is performed, i.e. determines how many users can provide thousands of servers. Rally starts the virtual machine, makes a request on it and stops it, showing how the installation of the VM affected the speed of processing requests and their number. Rally keeps track of scaling and performance, helping you understand what slows down your cloud. You can use this information to eliminate the causes of slow work and then iterate using the same benchmark tests to check whether the changes you made actually improved performance.
Ultimately, after installing, users will know how many users they will have and what needs to be done in order for OpenStack to work.
More information about the announced tool can be found on the
Rally page
on the wiki .
about the author
Boris is the technical leader of the OpenStack community team at Mirantis. He coordinates the implementation of various OpenStack projects and is responsible for the OpenStack benchmarking system. Among other things, he's just one of the OpenStack contributors.
Please check out the
presentation that we showed in Hong Kong at the OpenStack Summit 2013, and if you have any questions about the projects, ask us here or at # openstack-rally on irc.freenode.net. We will also be glad to see you in our team. Join now!
Original article
in English