Jump to: navigation, search

Difference between revisions of "Rally/HowTo"

(Deployment)
(Run It!)
Line 120: Line 120:
 
     | 19.802423954 | 16.9980401595 | 16.3908159733 |  1.0  |
 
     | 19.802423954 | 16.9980401595 | 16.3908159733 |  1.0  |
 
     +--------------+---------------+---------------+-------+
 
     +--------------+---------------+---------------+-------+
 +
 +
===== Tips & Tricks =====
 +
 +
In order to facilitate command line usage, the 'rally use' command is available
 +
 +
To use a deployment id as default for next commands :
 +
 +
    $ rally use deployment 7712c8de-1539-4f4e-8a77-0a54c64499e8
 +
 +
Another way to make a deployment default for next command is to set the 'RALLY_DEPLOYMENT' environment variable
 +
 +
    $ export RALLY_DEPLOYMENT=7712c8de-1539-4f4e-8a77-0a54c64499e8
 +
 +
Now, you can just called any command that needs a deploy-id param, without actually adding this param. The default deployment id will be picked
 +
 +
    $ rally --verbose task start --task boot-and-delete.json
  
 
== Available Rally facilities ==
 
== Available Rally facilities ==

Revision as of 10:21, 24 January 2014

Run It!

The easiest way to learn how Rally works is to use already existing OpenStack deployed by DevStack. So let assume that we have 2 VMs:

 Vm1 - 192.168.1.2 (with Rally)
 Vm2 - 192.168.1.3 (with OpenStack deployed by DevStack)

Preparing

1) Installing Rally on Vm1 To install Rally on Vm1 use this instruction

2) Installing OpenStack using DevStack on Vm2

 ssh root@192.168.1.3
 git clone https://github.com/openstack-dev/devstack.git
 cd devstack && ./stack.sh

Action!

Prepare your config file

Requires two configuration files to describe a deployment and a benchmarking task. That allows to register an installation and then perform tasks of benchmarking.

Deployment

In our case we already have got an installation of OpenStack. Follow to sample doc/samples/deployments/dummy.json and fill all appropriate parameters. The configuration file stored in a separate file dummy.json:

{
  "name": "DummyEngine",
  "endpoint": {
    "auth_url": "http://192.168.1.3:5000/v2.0/",
    "username": "admin",
    "password": "admin",
    "tenant_name": "admin"
  }
}

DevStack deploys all OpenStack component on Vm2.

NOTE that endpoints (username, password, tenant_name have to belong to admin)

Benchmarking

A sample of a task configuration also a good point to start. Take copy of doc/samples/tasks/boot-and-delete.json, specify a proper image_id and store to a separate file boot-and-delete.json:

{
  "NovaServers.boot_and_delete_server": [
    {"args": {"flavor_id": 1, "image_id": "0d7cfe07-f684-4afa-813d-ca2611373c59"},
     "config": {"times": 2, "active_users": 1}},
    {"args": {"flavor_id": 1, "image_id": "0d7cfe07-f684-4afa-813d-ca2611373c59"},
     "config": {"times": 4, "active_users": 2}}
  ]
}

Run Rally!

If you didn't create Rally DB you should run this command:

   $ rally-manage db recreate


First, the deployment should be added in Rally:

   $ rally deployment create --name=mydeploy --filename dummy.json

List all deployments to get its UUID:

   $ rally deployment list
   +--------------------------------------+----------------------------+----------+------------------+
   |                 uuid                 |         created_at         |   name   |      status      |
   +--------------------------------------+----------------------------+----------+------------------+
   | 7712c8de-1539-4f4e-8a77-0a54c64499e8 | 2013-11-25 14:58:20.310001 | mydeploy | deploy->finished |
   +--------------------------------------+----------------------------+----------+------------------+

Ok now we should run our rally with benchmark configuration:

   $ rally --verbose task start --deploy-id=7712c8de-1539-4f4e-8a77-0a54c64499e8 --task boot-and-delete.json

Now using another ssh connection to Rally VM. Run this command:

   $ rally task list 
   +--------------------------------------+----------------------------+-------------------------+--------+
   |                 uuid                 |         created_at         |          status         | failed |
   +--------------------------------------+----------------------------+-------------------------+--------+
   | 83d9e08c-4f2b-4c1d-9c83-f36bcc6b5a68 | 2013-09-16 05:28:57.241456 | test_tool->benchmarking | False  |
   +--------------------------------------+----------------------------+-------------------------+--------+

To get detailed results by task with uuid: 83d9e08c-4f2b-4c1d-9c83-f36bcc6b5a68 you should run:

   $ rally task detailed  8532319f-d093-47de-b9f3-2909c03c7e30
   ================================================================================
   Task 83d9e08c-4f2b-4c1d-9c83-f36bcc6b5a68 is finished.
   --------------------------------------------------------------------------------
   test scenario NovaServers.boot_and_delete_server
   args position 0
   args values:
  {u'args': {u'flavor_id': 2,
           u'image_id': u'0d7cfe07-f684-4afa-813d-ca2611373c59'},
   u'concurrent': 1,
   u'times': 2}
   +---------------+---------------+---------------+-------+
   |      max      |      avg      |      min      | ratio |
   +---------------+---------------+---------------+-------+
   | 13.4224121571 | 13.2850991488 | 13.1477861404 |  1.0  |
   +---------------+---------------+---------------+-------+
   --------------------------------------------------------------------------------
   test scenario NovaServers.boot_and_delete_server
   args position 1
   args values:
   {u'args': {u'flavor_id': 2,
            u'image_id': u'0d7cfe07-f684-4afa-813d-ca2611373c59'},
    u'concurrent': 2,
    u'times': 6}
   +--------------+---------------+---------------+-------+
   |     max      |      avg      |      min      | ratio |
   +--------------+---------------+---------------+-------+
   | 19.802423954 | 16.9980401595 | 16.3908159733 |  1.0  |
   +--------------+---------------+---------------+-------+
Tips & Tricks

In order to facilitate command line usage, the 'rally use' command is available

To use a deployment id as default for next commands :

   $ rally use deployment 7712c8de-1539-4f4e-8a77-0a54c64499e8

Another way to make a deployment default for next command is to set the 'RALLY_DEPLOYMENT' environment variable

   $ export RALLY_DEPLOYMENT=7712c8de-1539-4f4e-8a77-0a54c64499e8

Now, you can just called any command that needs a deploy-id param, without actually adding this param. The default deployment id will be picked

   $ rally --verbose task start --task boot-and-delete.json

Available Rally facilities

List of available Deploy engines (including their description and usage examples): Deploy engines

List of available Server providers (including their description and usage examples): Server providers

List of available Benchmark scenarios (including their description and usage examples): Benchmark scenarios