This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
OpenStack Rally• Rally started as an incubator project in Aug 2013• Became part of OpenStack just before the
OpenStack Kilo release.• Rally is targeted towards Developers, DevOps, QA
Engineers and Cloud Administrators.• Key Contributions from Mirantis ,RedHat and IBM
Rally Contributors
More on Rally
• Rally can be configured to test any number of OpenStack deployments.
• Rally has four key services with a central database repository– OpenStack deployment engine--which can assist in simplifying OpenStack
deployments. Leverages existing deployment tools like devstack ,Fuel etc. – Benchmarking and profiling engine--allows you to create parameterized
load on the cloud , based on large repository of benchmarks. – Verification engine--uses tempest as the verifier. – Reporting services for viewing and formatting results
After the Installation is complete need to set up the Rally databaserally-manage db recreate
Rally uses SQL-Lite. The Database is under rally/databaseNote: Rally requires Python version 2.6, 2.7 or 3.4.
Configure Rally with existing DevStack
First source your OpenStack/devstack Resource Filesource openrc #file containing the devstack parameters
The best way to get your Resource file is to access the Horizon UI ,Project=>Compute=>Access & Security=>API Access .Click on Download OpenStack RC File.
Register your OpenStack environment with Rally rally deployment create --fromenv --name=existing1
Configure Rally with existing DevStack
You can use a JSON file to do deployment create rally deployment create --file=existing.json --name=existingSample Contents of existing.json
In the previous scenarios we saw before , Rally creates random users and tenants to use during the test and delete them after the tests are done.
In the production world you may want to run the tests as existing users (either because you cannot create new users or you want to run tests from an isolated group of users)
Rally facilitates running tests as existing users/tenants
Adding SLA to BenchmarkingRally allows you to set success criteria (also called SLA - Service-Level Agreement) for every benchmark. Rally will automatically check them for you. To enforce SLA , add the following to your scenario configuration:"sla": { "max_seconds_per_iteration": 10, "failure_rate": { "max": 25 } }
After that run your rally tests as before. The test fails when the SLA is not met (as in this case exceeds 25% OR Max seconds is > 10 secs)
Adding SLA to BenchMarking…Cont
Run the tests… rally task start ./boot-and-delete-SLA.jsonOnce the tests have been successfully run , let us run the SLA-CHECKrally task sla_check
After that run your rally tests as before. The test fails when the SLA is not met.
Configuring Multiple OpenStack deployments
You can configure Rally to run against multiple OpenStack deployments. Use:rally create deployment --file=cloud1.json --name=cloud1for each cloud deployment (user unique name and json files)Then
rally deployment use cloud1 (or whatever you want to use and all subsequent rally operations operate on cloud1)
rally task list --all-deployment … for all tasks across all deployments
Rally Search and Help
Rally provides a command line search engine to search for scenarios, help information etc.
rally info BenchmarkScenarios
rally info find <ScenarioGroupName>
Rally deployment with OpenStack
Rally provides mechanism to deploy DevStack. To do that
Tempest Vs. Rally• Tempest only supports only single deployment. To test a different deployment,
Tempest must be reconfigured.• Tempest does not have a central repository to store results across multiple clouds .• Tempest has no built-in functionality for comparing test results• Tempest does not have any reporting capabilities.Also • Rally is easy to deploy and configure. Can support any number of OpenStack
deployments• Stores deployment information and verification test results in a central Database This is important because:
• Verification test results are available forever in database• Results from multiple Rally deployments can be compared and analyzed• rally has built in reporting features for viewing and comparing results