SlideShare a Scribd company logo
1 of 27
Benchmark as a Service
Openstack- Rally
Openstack Meetup Bangalore
01/03/2014

C B Ananth – Cisco Systems – cbananth@gmail.com
Rahul Upadhyaya – Cisco Systems – rakrup@gmail.com
Agenda
•
•
•
•
•
•

Introduction
Components
Configuration and Scenarios
Running benchmarking tests
Demo
Q&A
Rally - Why ?
"How does OpenStack work at scale?”
Rally vs/& Tempest
Rally Versus Tempest
Both have different Objectives
Rally checks behavior at scale and stress.
Tempest just checks functional sanity.

Rally + Tempest
However Rally can invoke tempest internally
and check functional sanity. (work in progress)
Rally Components
• Server Providers - provide servers (virtual servers), with ssh access, in one L3
network.
• Deploy Engines - deploy OpenStack cloud on servers that are presented by
Server Providers
• Verification - component that runs tempest (or another specific set of tests)
against a deployed cloud, collects results & presents them in human readable
form.
• Benchmark engine - allows to write parameterized benchmark scenarios &
run them against the cloud.
Rally -Functionality
Rally Use Cases
Installing Rally on Ubuntu.
Note : We would recommend using a separate machine for Rally. If the machine
that you use to run rally has some Openstack components running, we suggest
creating a virtual environment for running Rally because it may have conflicts with
version of the client python libraries.

Prerequisite
•
•
•

sudo apt-get update
sudo apt-get install libpq-dev git-core python-dev libevent-dev libssl-dev python-pip libffi-dev
sudo pip install pbr
Installing Rally on Ubuntu.
Installing Rally
Clone
• git clone https://github.com/stackforge/rally.git && cd rally
• python setup.py install
Configure
• sudo mkdir /etc/rally
• sudo cp etc/rally/rally.conf.sample /etc/rally/rally.conf
• sudo vim /etc/rally/rally.conf
• # Change the "connection" parameter,
• # e.g. to connection="sqlite://///home/<your_username>/.venv/rally-db/$sqlite_db" (or any other place)
Create Database
• rally-manage db recreate
Rally : Deploy Engines.
The task of a deploy engine is to control the process of deploying some OpenStack
distribution like DevStack or FUEL before any benchmarking procedures take place.
Every deploy engine should implement the following fairly simple interface:
• constuctor, which takes a deployment entity as its only parameter;
• deploy(), which should deploy the appropriate OpenStack distribution given the
cloud config from the deployment object the engine was initialized with (possibly
using one of available server providers)
• cleanup(), which should clean up the OpenStack deployment (again, possibly using
one of available server providers).
Rally. Deploy Engine . Example
If you already have a existing Openstack Deployment that you want to benchmark
Use a json file that looks like one below. (with value specific to your system):
{
"name": "DummyEngine",
"endpoint": {
"auth_url": "http://192.168.122.22:5000/v2.0/",
"username": "admin",
"password": "password",
"tenant_name": "admin"
}
}

For Devstack based deployment
{
"name": "DevstackEngine",
"localrc": {
"ADMIN_PASSWORD": "secret",
"NOVA_REPO": "git://example.com/nova/",
...
},
"devstack_repo": "git://example.com/devstack/",
"provider": {
"name": "${PROVIDER_NAME}",
...
}
}
Rally – Server Providers
Server providers in Rally are typically used by deploy engines to manage virtual
machines necessary for OpenStack deployment and its following benchmarking.

The key feature of server providers is that they provide a unified interface for
interacting with different virtualization technologies (LXS, Virsh etc.) and cloud
suppliers (like Amazon).
Every server provider should implement the following basic interface:
•
•
•

constructor, which should take the deployment entity the provider should bind to and a
config dictionary as its parameters;
create_servers(image_uuid, type_id, amount), which should create the requested number
of virtual machines of the given type using a specific image. The method should also
return the list of created servers wrapped in special Server entities.
destroy_servers(), which should destroy all virtual machines previously created by the
same server provider.
Rally – Server Providers –Ex
DummyProvider – If you already have an Openstack Deployment.
This provider does nothing, but returns endpoints from configuration. This may
be useful if you have specific software/hardware configuration ready to deploy
OpenStack.
{
"name": "ExampleEngine",
"provider": {
"name": "DummyProvider",
"credentials": [{"user": "root", "host": "host1.net"}, {"user": "root", "host": "host2.net"}]
}

}
Rally – How_to_run
Simple 
1. Initialize your Deployment
2. Create a json for Supported Benchmarking scenario
3. Run Benchmarking against a deployment above
Rally – Initialize Deployment
1. Create a Deployment configuration (json) file.
If you are running Rally against a existing Openstack Deployment your should look like
{
"name": "DummyEngine",
"endpoint": {
"auth_url": <KEYSTONE_AUTH_URL>,
"username": <ADMIN_USER_NAME>,
"password": <ADMIN_PASSWORD>,
"tenant_name": <ADMIN_TENANT>
}
}

2. Create a deployment using deployment create command
$ rally deployment create --filename=dummy_deployment.json --name=dummy

3. If you want to list deployments
$ rally deployment list
4. Switch to a different Deployment
$ rally use deployment --deploy-id=<Another deployment UUID>
Rally – Set Benchmark scenario.
Some sample configurations are provided at “rally/doc/samples/tasks/”.
Lets pick up a scenario boot-and-delete.json from Nova. It looks like
{
"NovaServers.boot_and_delete_server": [
{
"args": {"flavor_id": 1,
"image_id": "73257560-c59b-4275-a1ec-ab140e5b9979"},
"execution": "continuous",
"config": {"times": 10, "active_users": 2, "tenants": 3,
"users_per_tenant": 2}
}
]
}

Modify this to design your test-case. Similarly for all other cases other available json can be modified or
you can even write a new one for a custom case.
Rally by default uses the last created deployment. Use the switch deployment commands to run the
tests with a different deployment.
Lets dig deeper
•
•
•
•
•
•

Test name : “NovaServers.boot_and_delete_server”
Execution : either continuous / periodic
Times : Number of times the test needs to be run
Active_users : Number of parallel threads (concurrent users)
Tenants : Total number of tenants to be created
Users_per_tenant : Number of users per single tenant

Other parameters to be used only with supported tests
• Network : Name of network to be used
• Script : If a script is passed as input to the test
• Actions : soft_reboot / stop_start
Rally – Run Benchmark.
Run your benchmark scenario by pointing at the json you created in the previous step
$ rally --verbose task start --task=my-task.json
You can check the state of the task
$ rally task list
To check a complete task analysis
$ rally task detailed <Task UUID>
Rally Result –Example.
$ rally task detailed <Task UUID>
================================================================================
Task <Task UUID> is finished. Failed: False
-------------------------------------------------------------------------------test scenario NovaServers.boot_and_delete_server
args position 0
args values:
{u'args': {u'flavor_id': <Flavor UUID>,
u'image_id': u'<Image UUID>'},
u'config': {u'active_users': 1, u'times': 2}}
+--------------------+---------------+---------------+---------------+
|
action
| max (sec) | avg (sec) | min (sec) |
+--------------------+---------------+---------------+---------------+
| nova.boot_server | 9.22798299789 | 8.90022659302 | 8.57247018814 |
| nova.delete_server | 4.24928498268 | 3.26377093792 | 2.27825689316 |
+--------------------+---------------+---------------+---------------+
+---------------+---------------+---------------+---------------+-------------+
| max (sec)
| avg (sec)
| min (sec)
| success/total | total times |
+---------------+---------------+---------------+---------------+-------------+
| 13.4775559902 | 12.1641695499 | 10.8507831097 | 1.0
| 2
|
+---------------+---------------+---------------+---------------+-------------+
--------------------------------------------------------------------------------
Supported Benchmarks (as of 01/03/14)
Basic Use-Cases of
 Authentication
 Nova
 Glance
 Keystone
 Cinder
Disclaimer

Rally is currently undergoing heavy development,some things may vary with time.
Make sure to go through to check the wiki when you start at
https://wiki.openstack.org/wiki/Rally
However, “Keep Calm” as basics would be the same.
Benchmarking scenarios
• Glance
– Create-and-delete-image
– Create-image-and-boot-instance
• Cinder
– Create-and-delete-volume
• Keystone
– Create-and-delete-user
– Create-user
Benchmarking scenarios
• Authenticate
– Authenticate-keystone
• Nova
– Boot-and-delete-periodic
– Boot-and-delete
– Boot-runcommand-delete
– Boot-server-from-volume-and-delete
– Soft-reboot
Note: Other scenarios can be suggested to the community under the
section, “Benchmarking scenario wishlist”
Demo
Contribute to Rally













Discussions & RoadMap
https://etherpad.openstack.org/p/Rally_Main
Open and assigned tasks
https://trello.com/b/DoD8aeZy/rally
To get account ping Boris in IRC (boris-42) or email me (boris(at)pavlovic.me)
IRC chat
server: freenode.net
chanel: #openstack-rally
Weekly Meetings
The Rally project team holds weekly meetings on Tuesdays at 1700 UTC in IRC, at the #openstack-meeting
channel.
Source
https://github.com/stackforge/rally
Project space
http://launchpad.net/rally
Blueprints
active: http://blueprints.launchpad.net/rally
v1 base: https://blueprints.launchpad.net/rally/+spec/init
Bugs
https://bugs.launchpad.net/rally
References
• https://wiki.openstack.org/wiki/Rally
• http://www.slideshare.net/mirantis/rally-benchmarkingatscale
• http://thoughtsoncloud.com/2013/12/benchmarking-and-scalingopenstack-in-the-enterprise/
Q&A

More Related Content

What's hot

Building Distributed System with Celery on Docker Swarm - PyCon JP 2016
Building Distributed System with Celery on Docker Swarm - PyCon JP 2016Building Distributed System with Celery on Docker Swarm - PyCon JP 2016
Building Distributed System with Celery on Docker Swarm - PyCon JP 2016Wei Lin
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGIMike Pittaro
 
Charla - SharePoint en la Nube (17Jul2013)
Charla - SharePoint en la Nube (17Jul2013)Charla - SharePoint en la Nube (17Jul2013)
Charla - SharePoint en la Nube (17Jul2013)Juan Andrés Valenzuela
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법Open Source Consulting
 
Developing your own OpenStack Swift middleware
Developing your own OpenStack Swift middlewareDeveloping your own OpenStack Swift middleware
Developing your own OpenStack Swift middlewareChristian Schwede
 
Building Distributed System with Celery on Docker Swarm
Building Distributed System with Celery on Docker SwarmBuilding Distributed System with Celery on Docker Swarm
Building Distributed System with Celery on Docker SwarmWei Lin
 
Laravel 5.6 new features and updates
Laravel 5.6  new features and updatesLaravel 5.6  new features and updates
Laravel 5.6 new features and updatesRocketRoute
 
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteBram Vogelaar
 
Viktor Tsykunov "Microsoft AI platform for every Developer"
Viktor Tsykunov "Microsoft AI platform for every Developer"Viktor Tsykunov "Microsoft AI platform for every Developer"
Viktor Tsykunov "Microsoft AI platform for every Developer"Lviv Startup Club
 
Best practices for ansible
Best practices for ansibleBest practices for ansible
Best practices for ansibleGeorge Shuklin
 
Get database properties using power shell in sql server 2008 techrepublic
Get database properties using power shell in sql server 2008   techrepublicGet database properties using power shell in sql server 2008   techrepublic
Get database properties using power shell in sql server 2008 techrepublicKaing Menglieng
 
Geoserver GIS Mapping Solution
Geoserver GIS Mapping SolutionGeoserver GIS Mapping Solution
Geoserver GIS Mapping SolutionKeshavSharma274
 
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013Puppet
 
Integrating Consul and Puppet
Integrating Consul and PuppetIntegrating Consul and Puppet
Integrating Consul and PuppetDylan Cochran
 
Integrating Consul and Puppet
Integrating Consul and PuppetIntegrating Consul and Puppet
Integrating Consul and PuppetOnyxPoint Inc
 
Sane Sharding with Akka Cluster
Sane Sharding with Akka ClusterSane Sharding with Akka Cluster
Sane Sharding with Akka Clustermiciek
 

What's hot (20)

Building Distributed System with Celery on Docker Swarm - PyCon JP 2016
Building Distributed System with Celery on Docker Swarm - PyCon JP 2016Building Distributed System with Celery on Docker Swarm - PyCon JP 2016
Building Distributed System with Celery on Docker Swarm - PyCon JP 2016
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
OpenStack API's and WSGI
OpenStack API's and WSGIOpenStack API's and WSGI
OpenStack API's and WSGI
 
Charla - SharePoint en la Nube (17Jul2013)
Charla - SharePoint en la Nube (17Jul2013)Charla - SharePoint en la Nube (17Jul2013)
Charla - SharePoint en la Nube (17Jul2013)
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
 
Developing your own OpenStack Swift middleware
Developing your own OpenStack Swift middlewareDeveloping your own OpenStack Swift middleware
Developing your own OpenStack Swift middleware
 
Rxjs marble-testing
Rxjs marble-testingRxjs marble-testing
Rxjs marble-testing
 
Building Distributed System with Celery on Docker Swarm
Building Distributed System with Celery on Docker SwarmBuilding Distributed System with Celery on Docker Swarm
Building Distributed System with Celery on Docker Swarm
 
Laravel 5.6 new features and updates
Laravel 5.6  new features and updatesLaravel 5.6  new features and updates
Laravel 5.6 new features and updates
 
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
 
Viktor Tsykunov "Microsoft AI platform for every Developer"
Viktor Tsykunov "Microsoft AI platform for every Developer"Viktor Tsykunov "Microsoft AI platform for every Developer"
Viktor Tsykunov "Microsoft AI platform for every Developer"
 
Terraform at Scale
Terraform at ScaleTerraform at Scale
Terraform at Scale
 
Best practices for ansible
Best practices for ansibleBest practices for ansible
Best practices for ansible
 
Get database properties using power shell in sql server 2008 techrepublic
Get database properties using power shell in sql server 2008   techrepublicGet database properties using power shell in sql server 2008   techrepublic
Get database properties using power shell in sql server 2008 techrepublic
 
Geoserver GIS Mapping Solution
Geoserver GIS Mapping SolutionGeoserver GIS Mapping Solution
Geoserver GIS Mapping Solution
 
Shareplex Presentation
Shareplex PresentationShareplex Presentation
Shareplex Presentation
 
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
Deploying VMware vCloud Hybrid Service with Puppet - PuppetConf 2013
 
Integrating Consul and Puppet
Integrating Consul and PuppetIntegrating Consul and Puppet
Integrating Consul and Puppet
 
Integrating Consul and Puppet
Integrating Consul and PuppetIntegrating Consul and Puppet
Integrating Consul and Puppet
 
Sane Sharding with Akka Cluster
Sane Sharding with Akka ClusterSane Sharding with Akka Cluster
Sane Sharding with Akka Cluster
 

Similar to Rally - Benchmarking_as_a_service - Openstack meetup

Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.Rahul Krishna Upadhyaya
 
Benchmarking Openstack Installations using Rally
Benchmarking Openstack Installations using RallyBenchmarking Openstack Installations using Rally
Benchmarking Openstack Installations using RallyRama Krishna B
 
OpenStack Rally presentation by RamaK
OpenStack Rally presentation by RamaKOpenStack Rally presentation by RamaK
OpenStack Rally presentation by RamaKRama Krishna B
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile InfrastructuresAntons Kranga
 
Kirill Rozin - Practical Wars for Automatization
Kirill Rozin - Practical Wars for AutomatizationKirill Rozin - Practical Wars for Automatization
Kirill Rozin - Practical Wars for AutomatizationSergey Arkhipov
 
Dive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr TsapDive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr TsapProvectus
 
dokumen.tips_rediscovering-spring-with-spring-boot1 (1).pdf
dokumen.tips_rediscovering-spring-with-spring-boot1 (1).pdfdokumen.tips_rediscovering-spring-with-spring-boot1 (1).pdf
dokumen.tips_rediscovering-spring-with-spring-boot1 (1).pdfAppster1
 
dokumen.tips_rediscovering-spring-with-spring-boot1.pdf
dokumen.tips_rediscovering-spring-with-spring-boot1.pdfdokumen.tips_rediscovering-spring-with-spring-boot1.pdf
dokumen.tips_rediscovering-spring-with-spring-boot1.pdfAppster1
 
Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)Gunith Devasurendra
 
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on OpenstackLinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on OpenstackOpenShift Origin
 
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)Matt Fuller
 
Above the clouds: introducing Akka
Above the clouds: introducing AkkaAbove the clouds: introducing Akka
Above the clouds: introducing Akkanartamonov
 
Easy Cloud Native Transformation using HashiCorp Nomad
Easy Cloud Native Transformation using HashiCorp NomadEasy Cloud Native Transformation using HashiCorp Nomad
Easy Cloud Native Transformation using HashiCorp NomadBram Vogelaar
 
OpenStack Swift Command Line Reference Diablo v1.2
OpenStack Swift Command Line Reference Diablo v1.2OpenStack Swift Command Line Reference Diablo v1.2
OpenStack Swift Command Line Reference Diablo v1.2Amar Kapadia
 
AutoScaling and Drupal
AutoScaling and DrupalAutoScaling and Drupal
AutoScaling and DrupalPromet Source
 
Scala, docker and testing, oh my! mario camou
Scala, docker and testing, oh my! mario camouScala, docker and testing, oh my! mario camou
Scala, docker and testing, oh my! mario camouJ On The Beach
 

Similar to Rally - Benchmarking_as_a_service - Openstack meetup (20)

Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
 
Benchmarking Openstack Installations using Rally
Benchmarking Openstack Installations using RallyBenchmarking Openstack Installations using Rally
Benchmarking Openstack Installations using Rally
 
OpenStack Rally presentation by RamaK
OpenStack Rally presentation by RamaKOpenStack Rally presentation by RamaK
OpenStack Rally presentation by RamaK
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
Kirill Rozin - Practical Wars for Automatization
Kirill Rozin - Practical Wars for AutomatizationKirill Rozin - Practical Wars for Automatization
Kirill Rozin - Practical Wars for Automatization
 
Dive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr TsapDive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr Tsap
 
dokumen.tips_rediscovering-spring-with-spring-boot1 (1).pdf
dokumen.tips_rediscovering-spring-with-spring-boot1 (1).pdfdokumen.tips_rediscovering-spring-with-spring-boot1 (1).pdf
dokumen.tips_rediscovering-spring-with-spring-boot1 (1).pdf
 
dokumen.tips_rediscovering-spring-with-spring-boot1.pdf
dokumen.tips_rediscovering-spring-with-spring-boot1.pdfdokumen.tips_rediscovering-spring-with-spring-boot1.pdf
dokumen.tips_rediscovering-spring-with-spring-boot1.pdf
 
Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)Rediscovering Spring with Spring Boot(1)
Rediscovering Spring with Spring Boot(1)
 
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on OpenstackLinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
 
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Above the clouds: introducing Akka
Above the clouds: introducing AkkaAbove the clouds: introducing Akka
Above the clouds: introducing Akka
 
Easy Cloud Native Transformation using HashiCorp Nomad
Easy Cloud Native Transformation using HashiCorp NomadEasy Cloud Native Transformation using HashiCorp Nomad
Easy Cloud Native Transformation using HashiCorp Nomad
 
Serverless Java on Kubernetes
Serverless Java on KubernetesServerless Java on Kubernetes
Serverless Java on Kubernetes
 
OpenStack Swift Command Line Reference Diablo v1.2
OpenStack Swift Command Line Reference Diablo v1.2OpenStack Swift Command Line Reference Diablo v1.2
OpenStack Swift Command Line Reference Diablo v1.2
 
AutoScaling and Drupal
AutoScaling and DrupalAutoScaling and Drupal
AutoScaling and Drupal
 
Ant
AntAnt
Ant
 
Ansible - Hands on Training
Ansible - Hands on TrainingAnsible - Hands on Training
Ansible - Hands on Training
 
Scala, docker and testing, oh my! mario camou
Scala, docker and testing, oh my! mario camouScala, docker and testing, oh my! mario camou
Scala, docker and testing, oh my! mario camou
 

Recently uploaded

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Recently uploaded (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

Rally - Benchmarking_as_a_service - Openstack meetup

  • 1. Benchmark as a Service Openstack- Rally Openstack Meetup Bangalore 01/03/2014 C B Ananth – Cisco Systems – cbananth@gmail.com Rahul Upadhyaya – Cisco Systems – rakrup@gmail.com
  • 3. Rally - Why ? "How does OpenStack work at scale?”
  • 4. Rally vs/& Tempest Rally Versus Tempest Both have different Objectives Rally checks behavior at scale and stress. Tempest just checks functional sanity. Rally + Tempest However Rally can invoke tempest internally and check functional sanity. (work in progress)
  • 5. Rally Components • Server Providers - provide servers (virtual servers), with ssh access, in one L3 network. • Deploy Engines - deploy OpenStack cloud on servers that are presented by Server Providers • Verification - component that runs tempest (or another specific set of tests) against a deployed cloud, collects results & presents them in human readable form. • Benchmark engine - allows to write parameterized benchmark scenarios & run them against the cloud.
  • 8. Installing Rally on Ubuntu. Note : We would recommend using a separate machine for Rally. If the machine that you use to run rally has some Openstack components running, we suggest creating a virtual environment for running Rally because it may have conflicts with version of the client python libraries. Prerequisite • • • sudo apt-get update sudo apt-get install libpq-dev git-core python-dev libevent-dev libssl-dev python-pip libffi-dev sudo pip install pbr
  • 9. Installing Rally on Ubuntu. Installing Rally Clone • git clone https://github.com/stackforge/rally.git && cd rally • python setup.py install Configure • sudo mkdir /etc/rally • sudo cp etc/rally/rally.conf.sample /etc/rally/rally.conf • sudo vim /etc/rally/rally.conf • # Change the "connection" parameter, • # e.g. to connection="sqlite://///home/<your_username>/.venv/rally-db/$sqlite_db" (or any other place) Create Database • rally-manage db recreate
  • 10. Rally : Deploy Engines. The task of a deploy engine is to control the process of deploying some OpenStack distribution like DevStack or FUEL before any benchmarking procedures take place. Every deploy engine should implement the following fairly simple interface: • constuctor, which takes a deployment entity as its only parameter; • deploy(), which should deploy the appropriate OpenStack distribution given the cloud config from the deployment object the engine was initialized with (possibly using one of available server providers) • cleanup(), which should clean up the OpenStack deployment (again, possibly using one of available server providers).
  • 11. Rally. Deploy Engine . Example If you already have a existing Openstack Deployment that you want to benchmark Use a json file that looks like one below. (with value specific to your system): { "name": "DummyEngine", "endpoint": { "auth_url": "http://192.168.122.22:5000/v2.0/", "username": "admin", "password": "password", "tenant_name": "admin" } } For Devstack based deployment { "name": "DevstackEngine", "localrc": { "ADMIN_PASSWORD": "secret", "NOVA_REPO": "git://example.com/nova/", ... }, "devstack_repo": "git://example.com/devstack/", "provider": { "name": "${PROVIDER_NAME}", ... } }
  • 12. Rally – Server Providers Server providers in Rally are typically used by deploy engines to manage virtual machines necessary for OpenStack deployment and its following benchmarking. The key feature of server providers is that they provide a unified interface for interacting with different virtualization technologies (LXS, Virsh etc.) and cloud suppliers (like Amazon). Every server provider should implement the following basic interface: • • • constructor, which should take the deployment entity the provider should bind to and a config dictionary as its parameters; create_servers(image_uuid, type_id, amount), which should create the requested number of virtual machines of the given type using a specific image. The method should also return the list of created servers wrapped in special Server entities. destroy_servers(), which should destroy all virtual machines previously created by the same server provider.
  • 13. Rally – Server Providers –Ex DummyProvider – If you already have an Openstack Deployment. This provider does nothing, but returns endpoints from configuration. This may be useful if you have specific software/hardware configuration ready to deploy OpenStack. { "name": "ExampleEngine", "provider": { "name": "DummyProvider", "credentials": [{"user": "root", "host": "host1.net"}, {"user": "root", "host": "host2.net"}] } }
  • 14. Rally – How_to_run Simple  1. Initialize your Deployment 2. Create a json for Supported Benchmarking scenario 3. Run Benchmarking against a deployment above
  • 15. Rally – Initialize Deployment 1. Create a Deployment configuration (json) file. If you are running Rally against a existing Openstack Deployment your should look like { "name": "DummyEngine", "endpoint": { "auth_url": <KEYSTONE_AUTH_URL>, "username": <ADMIN_USER_NAME>, "password": <ADMIN_PASSWORD>, "tenant_name": <ADMIN_TENANT> } } 2. Create a deployment using deployment create command $ rally deployment create --filename=dummy_deployment.json --name=dummy 3. If you want to list deployments $ rally deployment list 4. Switch to a different Deployment $ rally use deployment --deploy-id=<Another deployment UUID>
  • 16. Rally – Set Benchmark scenario. Some sample configurations are provided at “rally/doc/samples/tasks/”. Lets pick up a scenario boot-and-delete.json from Nova. It looks like { "NovaServers.boot_and_delete_server": [ { "args": {"flavor_id": 1, "image_id": "73257560-c59b-4275-a1ec-ab140e5b9979"}, "execution": "continuous", "config": {"times": 10, "active_users": 2, "tenants": 3, "users_per_tenant": 2} } ] } Modify this to design your test-case. Similarly for all other cases other available json can be modified or you can even write a new one for a custom case. Rally by default uses the last created deployment. Use the switch deployment commands to run the tests with a different deployment.
  • 17. Lets dig deeper • • • • • • Test name : “NovaServers.boot_and_delete_server” Execution : either continuous / periodic Times : Number of times the test needs to be run Active_users : Number of parallel threads (concurrent users) Tenants : Total number of tenants to be created Users_per_tenant : Number of users per single tenant Other parameters to be used only with supported tests • Network : Name of network to be used • Script : If a script is passed as input to the test • Actions : soft_reboot / stop_start
  • 18. Rally – Run Benchmark. Run your benchmark scenario by pointing at the json you created in the previous step $ rally --verbose task start --task=my-task.json You can check the state of the task $ rally task list To check a complete task analysis $ rally task detailed <Task UUID>
  • 19. Rally Result –Example. $ rally task detailed <Task UUID> ================================================================================ Task <Task UUID> is finished. Failed: False -------------------------------------------------------------------------------test scenario NovaServers.boot_and_delete_server args position 0 args values: {u'args': {u'flavor_id': <Flavor UUID>, u'image_id': u'<Image UUID>'}, u'config': {u'active_users': 1, u'times': 2}} +--------------------+---------------+---------------+---------------+ | action | max (sec) | avg (sec) | min (sec) | +--------------------+---------------+---------------+---------------+ | nova.boot_server | 9.22798299789 | 8.90022659302 | 8.57247018814 | | nova.delete_server | 4.24928498268 | 3.26377093792 | 2.27825689316 | +--------------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+-------------+ | max (sec) | avg (sec) | min (sec) | success/total | total times | +---------------+---------------+---------------+---------------+-------------+ | 13.4775559902 | 12.1641695499 | 10.8507831097 | 1.0 | 2 | +---------------+---------------+---------------+---------------+-------------+ --------------------------------------------------------------------------------
  • 20. Supported Benchmarks (as of 01/03/14) Basic Use-Cases of  Authentication  Nova  Glance  Keystone  Cinder
  • 21. Disclaimer Rally is currently undergoing heavy development,some things may vary with time. Make sure to go through to check the wiki when you start at https://wiki.openstack.org/wiki/Rally However, “Keep Calm” as basics would be the same.
  • 22. Benchmarking scenarios • Glance – Create-and-delete-image – Create-image-and-boot-instance • Cinder – Create-and-delete-volume • Keystone – Create-and-delete-user – Create-user
  • 23. Benchmarking scenarios • Authenticate – Authenticate-keystone • Nova – Boot-and-delete-periodic – Boot-and-delete – Boot-runcommand-delete – Boot-server-from-volume-and-delete – Soft-reboot Note: Other scenarios can be suggested to the community under the section, “Benchmarking scenario wishlist”
  • 24. Demo
  • 25. Contribute to Rally         Discussions & RoadMap https://etherpad.openstack.org/p/Rally_Main Open and assigned tasks https://trello.com/b/DoD8aeZy/rally To get account ping Boris in IRC (boris-42) or email me (boris(at)pavlovic.me) IRC chat server: freenode.net chanel: #openstack-rally Weekly Meetings The Rally project team holds weekly meetings on Tuesdays at 1700 UTC in IRC, at the #openstack-meeting channel. Source https://github.com/stackforge/rally Project space http://launchpad.net/rally Blueprints active: http://blueprints.launchpad.net/rally v1 base: https://blueprints.launchpad.net/rally/+spec/init Bugs https://bugs.launchpad.net/rally
  • 26. References • https://wiki.openstack.org/wiki/Rally • http://www.slideshare.net/mirantis/rally-benchmarkingatscale • http://thoughtsoncloud.com/2013/12/benchmarking-and-scalingopenstack-in-the-enterprise/
  • 27. Q&A