Rally - Openstack Benchmarking Project

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.

How to run

Installation

Execute the following command

wget -q -O- https://raw.githubusercontent.com/openstack/rally/master/install_rally.sh | bash

Once installation is successful, the output is below,

==============================
Installation of Rally is done!
==============================

In order to work with Rally you have to enable the virtual environment
with the command:

    . /home/cloud/rally/bin/activate

You need to run the above command on every new shell you open before
using Rally, but just once per session.

Information about your Rally installation:

  * Method: virtualenv
  * Virtual Environment at: /home/cloud/rally
  * Database at: /home/cloud/rally/database
  * Configuration file at: /home/cloud/rally/etc/rally
  * Samples at: /home/cloud/rally/samples

Setting up

  1. Setting up
. /home/cloud/rally/bin/activate
  1. source the openrc file

    (rally)cloud@stack-2:~/devstack$ source openrc admin admin
    WARNING: setting legacy OS_TENANT_NAME to support cli tools.
    (rally)cloud@stack-2:~/devstack$
    
  2. Add the openstack deployment details in rally for testing


(rally)cloud@stack-2:~/devstack$ rally deployment create --fromenv --name=mydevstack
2016-08-19 04:19:20.738 18145 INFO rally.common.plugin.discover [-] Loading plugins from directories /home/cloud/.rally/plugins/*
2016-08-19 04:19:20.743 18145 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/context/context_plugin.py
2016-08-19 04:19:20.744 18145 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/sla/sla_plugin.py
2016-08-19 04:19:20.744 18145 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/runner/runner_plugin.py
2016-08-19 04:19:20.747 18145 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/scenario/scenario_plugin.py
2016-08-19 04:19:21.105 18145 INFO rally.deployment.engine [-] Deployment 0bed832c-d663-49fe-9c2e-fe47fbb4cae9 | Starting:  OpenStack cloud deployment.
2016-08-19 04:19:21.125 18145 INFO rally.deployment.engine [-] Deployment 0bed832c-d663-49fe-9c2e-fe47fbb4cae9 | Completed: OpenStack cloud deployment.
+--------------------------------------+----------------------------+------------+------------------+--------+
| uuid                                 | created_at                 | name       | status           | active |
+--------------------------------------+----------------------------+------------+------------------+--------+
| 0bed832c-d663-49fe-9c2e-fe47fbb4cae9 | 2016-08-19 04:19:21.093411 | mydevstack | deploy->finished |        |
+--------------------------------------+----------------------------+------------+------------------+--------+
Using deployment: 0bed832c-d663-49fe-9c2e-fe47fbb4cae9
~/.rally/openrc was updated

HINTS:
* To get your cloud resources, run:
    rally show [flavors|images|keypairs|networks|secgroups]

* To use standard OpenStack clients, set up your env by running:
    source ~/.rally/openrc
  OpenStack clients are now configured, e.g run:
    openstack image list
(rally)cloud@stack-2:~/devstack$
  1. Execute sample rally commands
(rally)cloud@stack-2:~/devstack$ rally deployment check
keystone endpoints are valid and following services are available:
+-------------+----------------+-----------+
| services    | type           | status    |
+-------------+----------------+-----------+
| __unknown__ | compute_legacy | Available |
| __unknown__ | volumev2       | Available |
| cinder      | volume         | Available |
| glance      | image          | Available |
| keystone    | identity       | Available |
| neutron     | network        | Available |
| nova        | compute        | Available |
+-------------+----------------+-----------+
NOTE: '__unknown__' service name means that Keystone service catalog doesn't return name for this service and Rally can not identify service by its type. BUT you still can use such services with api_versions context, specifying type of service (execute `rally plugin show api_versions` for more details).
(rally)cloud@stack-2:~/devstack$ 
(rally)cloud@stack-2:~/devstack$ rally show flavors

Flavors for user `admin` in tenant `admin`:
+----+-----------+-------+----------+-----------+-----------+
| ID | Name      | vCPUs | RAM (MB) | Swap (MB) | Disk (GB) |
+----+-----------+-------+----------+-----------+-----------+
| 1  | m1.tiny   | 1     | 512      | n/a       | 1         |
| 2  | m1.small  | 1     | 2048     | n/a       | 20        |
| 3  | m1.medium | 2     | 4096     | n/a       | 40        |
| 4  | m1.large  | 4     | 8192     | n/a       | 80        |
| 42 | m1.nano   | 1     | 64       | n/a       | 0         |
| 5  | m1.xlarge | 8     | 16384    | n/a       | 160       |
| 84 | m1.micro  | 1     | 128      | n/a       | 0         |
+----+-----------+-------+----------+-----------+-----------+
(rally)cloud@stack-2:~/devstack$ rally show images 

Images for user `admin` in tenant `admin`:
+--------------------------------------+---------------------------------+----------+
| UUID                                 | Name                            | Size (B) |
+--------------------------------------+---------------------------------+----------+
| 24737fab-4909-467e-8061-6ddeaef468c8 | cirros-0.3.4-x86_64-uec-ramdisk | 3740163  |
| 35bad9a6-10e7-4c04-a519-448f0d1fb672 | cirros-0.3.4-x86_64-uec-kernel  | 4979632  |
| 39a32d0b-a957-4c85-b065-2066f56846fc | cirros-0.3.4-x86_64-uec         | 25165824 |
+--------------------------------------+---------------------------------+----------+
(rally)cloud@stack-2:~/devstack$

Execute sample test

sample tests are available inside rally/samples/tasks/scenarios folder. boot-and-delete.json is one of the test file which boots and deletes a 100 VM in parallel. This test may take long time to finish.

For sample execution, we will just modify this test input to run 1 VM as below.

(rally)cloud@stack-2:~$ mkdir mytest
(rally)cloud@stack-2:~$ cd mytest/ 
(rally)cloud@stack-2:~/mytest$
(rally)cloud@stack-2:~/mytest$ cp /home/cloud/rally/samples/tasks/scenarios/nova/boot-and-delete.json .
(rally)cloud@stack-2:~/mytest$ vi boot-and-delete.json
(rally)cloud@stack-2:~/mytest$ cat boot-and-delete.json 
{% set flavor_name = flavor_name or "m1.tiny" %}
{
    "NovaServers.boot_and_delete_server": [
        {
            "args": {
                "flavor": {
                    "name": "{{flavor_name}}"
                },
                "image": {
                    "name": "^cirros.*uec$"
                },
                "force_delete": false
            },
            "runner": {
                "type": "constant",
                "times": 1,
                "concurrency": 1
            },
            "context": {
                "users": {
                    "tenants": 1,
                    "users_per_tenant": 1
                }
            }
        }
    ]
}
(rally)cloud@stack-2:~/mytest$

we will run this test as below,

(rally)cloud@stack-2:~/mytest$ rally task start boot-and-delete.json
2016-08-19 04:55:08.066 19107 INFO rally.common.plugin.discover [-] Loading plugins from directories /home/cloud/.rally/plugins/*
2016-08-19 04:55:08.067 19107 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/context/context_plugin.py
2016-08-19 04:55:08.067 19107 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/sla/sla_plugin.py
2016-08-19 04:55:08.067 19107 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/runner/runner_plugin.py
2016-08-19 04:55:08.070 19107 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/scenario/scenario_plugin.py
--------------------------------------------------------------------------------
 Preparing input task
--------------------------------------------------------------------------------

Input task is:

{
    "NovaServers.boot_and_delete_server": [
        {
            "args": {
                "flavor": {
                    "name": "m1.tiny"
                },
                "image": {
                    "name": "^cirros.*uec$"
                },
                "force_delete": false
            },
            "runner": {
                "type": "constant",
                "times": 1,
                "concurrency": 1
            },
            "context": {
                "users": {
                    "tenants": 1,
                    "users_per_tenant": 1
                }
            }
        }
    ]
}

Task syntax is correct :)
2016-08-19 04:55:08.322 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Task validation.
2016-08-19 04:55:08.334 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Task validation of scenarios names.
2016-08-19 04:55:08.335 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Task validation of scenarios names.
2016-08-19 04:55:08.335 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Task validation of syntax.
2016-08-19 04:55:08.339 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Task validation of syntax.
2016-08-19 04:55:08.339 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Task validation of semantic.
2016-08-19 04:55:08.339 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Task validation check cloud.
2016-08-19 04:55:08.492 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Task validation check cloud.
2016-08-19 04:55:08.498 19107 INFO rally.plugins.openstack.context.keystone.users [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Enter context: `users`
2016-08-19 04:55:08.731 19107 INFO rally.plugins.openstack.context.keystone.users [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Enter context: `users`
2016-08-19 04:55:09.234 19107 INFO rally.plugins.openstack.context.keystone.users [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Exit context: `users`
2016-08-19 04:55:10.802 19107 INFO rally.plugins.openstack.context.keystone.users [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Exit context: `users`
2016-08-19 04:55:10.802 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Task validation of semantic.
2016-08-19 04:55:10.802 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Task validation.
Task config is valid :)
--------------------------------------------------------------------------------
 Task  5887aaba-7f49-4467-8fe5-2b4fa392f65d: started
--------------------------------------------------------------------------------

Benchmarking... This can take a while...

To track task status use:

    rally task status
    or
    rally task detailed

Using task: 5887aaba-7f49-4467-8fe5-2b4fa392f65d
2016-08-19 04:55:10.811 19107 INFO rally.api [-] Benchmark Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d on Deployment 0bed832c-d663-49fe-9c2e-fe47fbb4cae9
2016-08-19 04:55:10.813 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Benchmarking.
2016-08-19 04:55:10.822 19107 INFO rally.task.engine [-] Running benchmark with key: 
{
  "kw": {
    "runner": {
      "type": "constant", 
      "concurrency": 1, 
      "times": 1
    }, 
    "args": {
      "force_delete": false, 
      "flavor": {
        "name": "m1.tiny"
      }, 
      "image": {
        "name": "^cirros.*uec$"
      }
    }, 
    "context": {
      "users": {
        "users_per_tenant": 1, 
        "tenants": 1
      }
    }
  }, 
  "name": "NovaServers.boot_and_delete_server", 
  "pos": 0
}
2016-08-19 04:55:10.828 19107 INFO rally.plugins.openstack.context.keystone.users [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Enter context: `users`
2016-08-19 04:55:11.043 19107 INFO rally.plugins.openstack.context.keystone.users [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Enter context: `users`
2016-08-19 04:55:11.294 19236 INFO rally.task.runner [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | ITER: 1 START
2016-08-19 04:55:13.125 19236 WARNING rally.common.logging [-] 'wait_for' is deprecated in Rally v0.1.2: Use wait_for_status instead.
2016-08-19 04:55:18.126 19236 INFO rally.task.runner [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | ITER: 1 END: OK
2016-08-19 04:55:18.140 19107 INFO rally.plugins.openstack.context.cleanup.user [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  user resources cleanup
2016-08-19 04:55:18.460 19107 INFO rally.plugins.openstack.context.cleanup.user [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: user resources cleanup
2016-08-19 04:55:18.460 19107 INFO rally.plugins.openstack.context.keystone.users [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Starting:  Exit context: `users`
2016-08-19 04:55:19.241 19107 INFO rally.plugins.openstack.context.keystone.users [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Exit context: `users`
2016-08-19 04:55:20.854 19107 INFO rally.task.engine [-] Load duration is: 6.828932
2016-08-19 04:55:20.855 19107 INFO rally.task.engine [-] Full runner duration is: 6.85798
2016-08-19 04:55:20.855 19107 INFO rally.task.engine [-] Full duration is 8.414313
2016-08-19 04:55:20.885 19107 INFO rally.task.engine [-] Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d | Completed: Benchmarking.

--------------------------------------------------------------------------------
Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d: finished
--------------------------------------------------------------------------------

test scenario NovaServers.boot_and_delete_server
args position 0
args values:
{
  "runner": {
    "type": "constant", 
    "concurrency": 1, 
    "times": 1
  }, 
  "args": {
    "force_delete": false, 
    "flavor": {
      "name": "m1.tiny"
    }, 
    "image": {
      "name": "^cirros.*uec$"
    }
  }, 
  "context": {
    "users": {
      "users_per_tenant": 1, 
      "project_domain": "default", 
      "user_choice_method": "random", 
      "user_domain": "default", 
      "tenants": 1, 
      "resource_management_workers": 20
    }
  }
}

--------------------------------------------------------------------------------
 Task 5887aaba-7f49-4467-8fe5-2b4fa392f65d has 0 error(s)
--------------------------------------------------------------------------------

+-----------------------------------------------------------------------------------------------------------------------+
|                                                 Response Times (sec)                                                  |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| Action             | Min (sec) | Median (sec) | 90%ile (sec) | 95%ile (sec) | Max (sec) | Avg (sec) | Success | Count |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| nova.boot_server   | 4.372     | 4.372        | 4.372        | 4.372        | 4.372     | 4.372     | 100.0%  | 1     |
| nova.delete_server | 2.457     | 2.457        | 2.457        | 2.457        | 2.457     | 2.457     | 100.0%  | 1     |
| total              | 6.829     | 6.829        | 6.829        | 6.829        | 6.829     | 6.829     | 100.0%  | 1     |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+

Load duration: 6.828932
Full duration: 8.414313

HINTS:
* To plot HTML graphics with this data, run:
    rally task report 5887aaba-7f49-4467-8fe5-2b4fa392f65d --out output.html

* To generate a JUnit report, run:
    rally task report 5887aaba-7f49-4467-8fe5-2b4fa392f65d --junit --out output.xml

* To get raw JSON output of task results, run:
    rally task results 5887aaba-7f49-4467-8fe5-2b4fa392f65d

(rally)cloud@stack-2:~/mytest$

Next generate the HTML output for the test execution as below,

(rally)cloud@stack-2:~/mytest$ rally task report 5887aaba-7f49-4467-8fe5-2b4fa392f65d --out output.html
(rally)cloud@stack-2:~/mytest$ ls

The output screen snapshot is below,

Understand Basic concepts in the Test

If you look the above test case boot-and-delete.json file, There are three input category

scenario arguments - args {} runners - {} context - {}

Scenario args

Scenario arguments is the arguments passed to your scenario. The schema(input parametes) is varies depends on your scenario. In the boot-and-delete-server example, the arguments are flavor,image,force-delete.

    "args": {
            "flavor": {
                "name": "{{flavor_name}}"
            },
            "image": {
                "name": "^cirros.*uec$"
            },
            "force_delete": false
        }

Looking the source code of this scenario, can help you to understand the available arguments.

http://rally.readthedocs.io/en/latest/plugin/plugin_reference.html#task-scenarios

Runners

Runners are entities that control the execution type and order of benchmark scenarios. They support different running strategies for creating load on the cloud, including simulating concurrent requests from different users, periodic load, gradually growing load and so on.

The scenario running strategy is specified by its type and also by some type-specific parameters. constant - for creating a constant load by running the scenario for a fixed number of times, possibly in parallel (that's controlled by the "concurrency" parameter). constant_for_duration - that works exactly as constant, but runs the benchmark scenario until a specified number of seconds elapses ("duration" parameter). periodic - which executes benchmark scenarios with intervals between two consecutive runs, specified in the "period" field in seconds. serial - which is very useful to test new scenarios since it just runs the benchmark scenario for a fixed number of times in a single thread.

In our earlier example, our runner configuration is below,

        "runner": {
            "type": "constant",
            "times": 1,
            "concurrency": 1
        },

Context

Contexts in Rally is essentially used to define different types of environments in which benchmark scenarios can be launched.

Those environments are usually specified by such parameters as the number of tenants and users that should be present in an OpenStack project, the roles granted to those users, extended or narrowed quotas and so on.

In our example,

"context": { "users": { "tenants": 1, "users_per_tenant": 1 } }

Tests available in Rally for execution

Rally comes with plenty of scenario tests. The default scenario tests are located as below.

(rally)cloud@stack-2:~/rally$ ls samples/tasks/scenarios/
README.rst    ceilometer  designate  ec2   glance  ironic    manila   monasca  neutron  quotas    sahara  swift                                  vm       workload
authenticate  cinder      dummy      fuel  heat    keystone  mistral  murano   nova     requests  senlin  tempest-do-not-run-against-production  watcher  zaqar
(rally)cloud@stack-2:~/rally$


(rally)cloud@stack-2:~/rally$ ls samples/tasks/scenarios/nova/
boot-and-associate-floating-ip.json         boot-from-volume-snapshot.json                           create-and-list-secgroups.json
boot-and-associate-floating-ip.yaml         boot-from-volume-snapshot.yaml                           create-and-list-secgroups.yaml
boot-and-block-migrate.json                 boot-from-volume.json                                    create-and-update-secgroups.json
boot-and-block-migrate.yaml                 boot-from-volume.yaml                                    create-and-update-secgroups.yaml
boot-and-delete-multiple.json               boot-lock-unlock-and-delete.json                         create-flavor.json
boot-and-delete-multiple.yaml               boot-lock-unlock-and-delete.yaml                         create-flavor.yaml
boot-and-delete-server-with-keypairs.json   boot-server-attach-created-volume-and-live-migrate.json  list-agents.json
boot-and-delete-server-with-keypairs.yaml   boot-server-attach-created-volume-and-live-migrate.yaml  list-agents.yaml
boot-and-delete-server-with-secgroups.json  boot-server-attach-created-volume-and-resize.json        list-aggregates.json
boot-and-delete-server-with-secgroups.yaml  boot-server-attach-created-volume-and-resize.yaml        list-aggregates.yaml
boot-and-delete.json                        boot-server-from-volume-and-live-migrate.json            list-availability-zones.json
boot-and-delete.yaml                        boot-server-from-volume-and-live-migrate.yaml            list-availability-zones.yaml
boot-and-get-console-server.json            boot-snapshot-boot-delete.json                           list-flavors.json
boot-and-get-console-server.yaml            boot-snapshot-boot-delete.yaml                           list-flavors.yaml
boot-and-list.json                          boot.json                                                list-hosts.json
boot-and-list.yaml                          boot.yaml                                                list-hosts.yaml
boot-and-live-migrate.json                  create-and-delete-floating-ips-bulk.json                 list-hypervisors.json
boot-and-live-migrate.yaml                  create-and-delete-floating-ips-bulk.yaml                 list-hypervisors.yaml
boot-and-migrate.json                       create-and-delete-keypair.json                           list-images.json
boot-and-migrate.yaml                       create-and-delete-keypair.yaml                           list-images.yaml
boot-and-rebuild.json                       create-and-delete-network.json                           list-servers.json
boot-and-rebuild.yaml                       create-and-delete-network.yaml                           list-servers.yaml
boot-and-show-server.json                   create-and-delete-secgroups.json                         list-services.json
boot-and-show-server.yaml                   create-and-delete-secgroups.yaml                         list-services.yaml
boot-and-update-server.json                 create-and-list-flavor-access.json                       pause-and-unpause.json
boot-and-update-server.yaml                 create-and-list-flavor-access.yaml                       pause-and-unpause.yaml
boot-bounce-delete.json                     create-and-list-floating-ips-bulk.json                   resize-server.json
boot-bounce-delete.yaml                     create-and-list-floating-ips-bulk.yaml                   resize-server.yaml
boot-from-volume-and-delete.json            create-and-list-keypairs.json                            shelve-and-unshelve.json
boot-from-volume-and-delete.yaml            create-and-list-keypairs.yaml                            shelve-and-unshelve.yaml
boot-from-volume-and-resize.json            create-and-list-networks.json                            suspend-and-resume.json
boot-from-volume-and-resize.yaml            create-and-list-networks.yaml                            suspend-and-resume.yaml
(rally)cloud@stack-2:~/rally$

These are predefined tests which can be modified as per the user requirements (Test condition,SLA)

In Rally, plugin is a test interface, the plugins can be listed as below,

(rally)cloud@stack-2:~/rally$ rally plugin list
2016-08-19 05:49:48.843 21101 INFO rally.common.plugin.discover [-] Loading plugins from directories /home/cloud/.rally/plugins/*
2016-08-19 05:49:48.844 21101 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/context/context_plugin.py
2016-08-19 05:49:48.844 21101 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/sla/sla_plugin.py
2016-08-19 05:49:48.844 21101 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/runner/runner_plugin.py
2016-08-19 05:49:48.846 21101 INFO rally.common.plugin.discover [-]      Loaded module with plugins: /home/cloud/.rally/plugins/samples/scenario/scenario_plugin.py
+----------------------------------------------------------------+-----------+-------------------------------------------------------------------------+
| name                                                           | namespace | title                                                                   |
+----------------------------------------------------------------+-----------+-------------------------------------------------------------------------+
| Authenticate.keystone                                          | default   | Check Keystone Client.                                                  |
| Authenticate.validate_ceilometer                               | default   | Check Ceilometer Client to ensure validation of token.                  |
| Authenticate.validate_cinder                                   | default   | Check Cinder Client to ensure validation of token.                      |
| Authenticate.validate_glance                                   | default   | Check Glance Client to ensure validation of token.                      |
| Authenticate.validate_heat                                     | default   | Check Heat Client to ensure validation of token.                        |
| Authenticate.validate_monasca                                  | default   | Check Monasca Client to ensure validation of token.                     |
| Authenticate.validate_neutron                                  | default   | Check Neutron Client to ensure validation of token.                     |
| Authenticate.validate_nova                                     | default   | Check Nova Client to ensure validation of token.                        |
| CeilometerAlarms.create_alarm                                  | default   | Create an alarm.                                                        |
| CeilometerAlarms.create_alarm_and_get_history                  | default   | Create an alarm, get and set the state and get the alarm history.       |
| CeilometerAlarms.create_and_delete_alarm                       | default   | Create and delete the newly created alarm.                              |
| CeilometerAlarms.create_and_list_alarm                         | default   | Create and get the newly created alarm.                                 |
| CeilometerAlarms.create_and_update_alarm                       | default   | Create and update the newly created alarm.                              |
| CeilometerAlarms.list_alarms                                   | default   | Fetch all alarms.                                                       |
| CeilometerEvents.create_user_and_get_event                     | default   | Create user and gets event.                                             |
| CeilometerEvents.create_user_and_list_event_types              | default   | Create user and fetch all event types.                                  |
| CeilometerEvents.create_user_and_list_events                   | default   | Create user and fetch all events.                                       |
| CeilometerMeters.list_matched_meters                           | default   | Get meters that matched fields from context and args.                   |
| CeilometerMeters.list_meters                                   | default   | Check all available queries for list resource request.                  |
| CeilometerQueries.create_and_query_alarm_history               | default   | Create an alarm and then query for its history.                         |
| CeilometerQueries.create_and_query_alarms                      | default   | Create an alarm and then query it with specific parameters.             |
| CeilometerQueries.create_and_query_samples                     | default   | Create a sample and then query it with specific parameters.             |
| CeilometerResource.get_tenant_resources                        | default   | Get all tenant resources.                                               |
| CeilometerResource.list_matched_resources                      | default   | Get resources that matched fields from context and args.                |
| CeilometerResource.list_resources                              | default   | Check all available queries for list resource request.                  |
| CeilometerSamples.list_matched_samples                         | default   | Get list of samples that matched fields from context and args.          |
| CeilometerSamples.list_samples                                 | default   | Fetch all available queries for list sample request.                    |
| CeilometerStats.create_meter_and_get_stats                     | default   | Create a meter and fetch its statistics.                                |
| CeilometerStats.get_stats                                      | default   | Fetch statistics for certain meter.                                     |
| CeilometerTraits.create_user_and_list_trait_descriptions       | default   | Create user and fetch all trait descriptions.                           |
| CeilometerTraits.create_user_and_list_traits                   | default   | Create user and fetch all event traits.                                 |
| CinderVolumes.create_and_attach_volume                         | default   | Create a VM and attach a volume to it.                                  |
| CinderVolumes.create_and_delete_snapshot                       | default   | Create and then delete a volume-snapshot.                               |
| CinderVolumes.create_and_delete_volume                         | default   | Create and then delete a volume.                                        |
| CinderVolumes.create_and_extend_volume                         | default   | Create and extend a volume and then delete it.                          |
| CinderVolumes.create_and_list_snapshots                        | default   | Create and then list a volume-snapshot.                                 |
| CinderVolumes.create_and_list_volume                           | default   | Create a volume and list all volumes.                                   |
| CinderVolumes.create_and_list_volume_backups                   | default   | Create and then list a volume backup.                                   |
| CinderVolumes.create_and_restore_volume_backup                 | default   | Restore volume backup.                                                  |
| CinderVolumes.create_and_update_volume                         | default   | Create a volume and update its name and description.                    |
| CinderVolumes.create_and_upload_volume_to_image                | default   | Create and upload a volume to image.                                    |
| CinderVolumes.create_from_volume_and_delete_volume             | default   | Create volume from volume and then delete it.                           |
| CinderVolumes.create_nested_snapshots_and_attach_volume        | default   | Create a volume from snapshot and attach/detach the volume              |
| CinderVolumes.create_snapshot_and_attach_volume                | default   | Create volume, snapshot and attach/detach volume.                       |
| CinderVolumes.create_volume                                    | default   | Create a volume.                                                        |
| CinderVolumes.create_volume_and_clone                          | default   | Create a volume, then clone it to another volume.                       |
| CinderVolumes.create_volume_backup                             | default   | Create a volume backup.                                                 |
| CinderVolumes.create_volume_from_snapshot                      | default   | Create a volume-snapshot, then create a volume from this snapshot.      |
| CinderVolumes.list_volumes                                     | default   | List all volumes.                                                       |
| CinderVolumes.modify_volume_metadata                           | default   | Modify a volume's metadata.                                             |
| CobblerProvider                                                | default   | Creates servers via PXE boot from given cobbler selector.               |
| DesignateBasic.create_and_delete_domain                        | default   | Create and then delete a domain.                                        |
| DesignateBasic.create_and_delete_records                       | default   | Create and then delete records.                                         |
| DesignateBasic.create_and_delete_recordsets                    | default   | Create and then delete recordsets.                                      |
| DesignateBasic.create_and_delete_server                        | default   | Create and then delete a server.                                        |
| DesignateBasic.create_and_delete_zone                          | default   | Create and then delete a zone.                                          |
| DesignateBasic.create_and_list_domains                         | default   | Create a domain and list all domains.                                   |
| DesignateBasic.create_and_list_records                         | default   | Create and then list records.                                           |
| DesignateBasic.create_and_list_recordsets                      | default   | Create and then list recordsets.                                        |
| DesignateBasic.create_and_list_servers                         | default   | Create a Designate server and list all servers.                         |
| DesignateBasic.create_and_list_zones                           | default   | Create a zone and list all zones.                                       |
| DesignateBasic.create_and_update_domain                        | default   | Create and then update a domain.                                        |
| DesignateBasic.list_domains                                    | default   | List Designate domains.                                                 |
| DesignateBasic.list_records                                    | default   | List Designate records.                                                 |
| DesignateBasic.list_recordsets                                 | default   | List Designate recordsets.                                              |
| DesignateBasic.list_servers                                    | default   | List Designate servers.                                                 |
| DesignateBasic.list_zones                                      | default   | List Designate zones.                                                   |
| DevstackEngine                                                 | default   | Deploy Devstack cloud.                                                  |
| Dummy.dummy                                                    | default   | Do nothing and sleep for the given number of seconds (0 by default).    |
| Dummy.dummy_exception                                          | default   | Throw an exception.                                                     |
| Dummy.dummy_exception_probability                              | default   | Throw an exception with given probability.                              |
| Dummy.dummy_output                                             | default   | Generate dummy output.                                                  |
| Dummy.dummy_random_action                                      | default   | Sleep random time in dummy actions.                                     |
| Dummy.dummy_random_fail_in_atomic                              | default   | Randomly throw exceptions in atomic actions.                            |
| Dummy.dummy_timed_atomic_actions                               | default   | Run some sleepy atomic actions for SLA atomic action tests.             |
| Dummy.dummy_with_scenario_output                               | default   | Return a dummy scenario output.                                         |
| EC2Servers.boot_server                                         | default   | Boot a server.                                                          |
| EC2Servers.list_servers                                        | default   | List all servers.                                                       |
| ExistingCloud                                                  | default   | Just use an existing OpenStack deployment without deploying anything.   |
| ExistingServers                                                | default   | Just return endpoints from its own configuration.                       |
| FuelEnvironments.create_and_delete_environment                 | default   | Create and delete Fuel environments.                                    |
| FuelEnvironments.create_and_list_environments                  | default   | Create and list Fuel environments                                       |
| FuelNodes.add_and_remove_node                                  | default   | Add node to environment and remove                                      |
| GlanceImages.create_and_delete_image                           | default   | Create and then delete an image.                                        |
| GlanceImages.create_and_list_image                             | default   | Create an image and then list all images.                               |
| GlanceImages.create_image_and_boot_instances                   | default   | Create an image and boot several instances from it.                     |
| GlanceImages.list_images                                       | default   | List all images.                                                        |
| HeatStacks.create_and_delete_stack                             | default   | Create and then delete a stack.                                         |
| HeatStacks.create_and_list_stack                               | default   | Create a stack and then list all stacks.                                |
| HeatStacks.create_check_delete_stack                           | default   | Create, check and delete a stack.                                       |
| HeatStacks.create_snapshot_restore_delete_stack                | default   | Create, snapshot-restore and then delete a stack.                       |
| HeatStacks.create_stack_and_list_output                        | default   | Create stack and list outputs by using new algorithm.                   |
| HeatStacks.create_stack_and_list_output_via_API                | default   | Create stack and list outputs by using old algorithm.                   |
| HeatStacks.create_stack_and_scale                              | default   | Create an autoscaling stack and invoke a scaling policy.                |
| HeatStacks.create_stack_and_show_output                        | default   | Create stack and show output by using new algorithm.                    |
| HeatStacks.create_stack_and_show_output_via_API                | default   | Create stack and show output by using old algorithm.                    |
| HeatStacks.create_suspend_resume_delete_stack                  | default   | Create, suspend-resume and then delete a stack.                         |
| HeatStacks.create_update_delete_stack                          | default   | Create, update and then delete a stack.                                 |
| HeatStacks.list_stacks_and_events                              | default   | List events from tenant stacks.                                         |
| HeatStacks.list_stacks_and_resources                           | default   | List all resources from tenant stacks.                                  |
| HttpRequests.check_random_request                              | default   | Benchmark the list of requests                                          |
| HttpRequests.check_request                                     | default   | Standard way to benchmark web services.                                 |
| IronicNodes.create_and_delete_node                             | default   | Create and delete node.                                                 |
| IronicNodes.create_and_list_node                               | default   | Create and list nodes.                                                  |
| KeystoneBasic.add_and_remove_user_role                         | default   | Create a user role add to a user and disassociate.                      |
| KeystoneBasic.create_add_and_list_user_roles                   | default   | Create user role, add it and list user roles for given user.            |
| KeystoneBasic.create_and_delete_ec2credential                  | default   | Create and delete keystone ec2-credential.                              |
| KeystoneBasic.create_and_delete_role                           | default   | Create a user role and delete it.                                       |
| KeystoneBasic.create_and_delete_service                        | default   | Create and delete service.                                              |
| KeystoneBasic.create_and_list_ec2credentials                   | default   | Create and List all keystone ec2-credentials.                           |
| KeystoneBasic.create_and_list_services                         | default   | Create and list services.                                               |
| KeystoneBasic.create_and_list_tenants                          | default   | Create a keystone tenant with random name and list all tenants.         |
| KeystoneBasic.create_and_list_users                            | default   | Create a keystone user with random name and list all users.             |
| KeystoneBasic.create_delete_user                               | default   | Create a keystone user with random name and then delete it.             |
| KeystoneBasic.create_tenant                                    | default   | Create a keystone tenant with random name.                              |
| KeystoneBasic.create_tenant_with_users                         | default   | Create a keystone tenant and several users belonging to it.             |
| KeystoneBasic.create_update_and_delete_tenant                  | default   | Create, update and delete tenant.                                       |
| KeystoneBasic.create_user                                      | default   | Create a keystone user with random name.                                |
| KeystoneBasic.create_user_set_enabled_and_delete               | default   | Create a keystone user, enable or disable it, and delete it.            |
| KeystoneBasic.create_user_update_password                      | default   | Create user and update password for that user.                          |
| KeystoneBasic.get_entities                                     | default   | Get instance of a tenant, user, role and service by id's.               |
| Lines                                                          | default   | Display results as generic chart with lines.                            |
| LxcEngine                                                      | default   | Deploy with other engines in lxc containers.                            |
| LxcProvider                                                    | default   | Provide lxc container(s) on given host.                                 |
| ManilaShares.attach_security_service_to_share_network          | default   | Attaches security service to share network.                             |
| ManilaShares.create_and_delete_share                           | default   | Create and delete a share.                                              |
| ManilaShares.create_security_service_and_delete                | default   | Creates security service and then deletes.                              |
| ManilaShares.create_share_network_and_delete                   | default   | Creates share network and then deletes.                                 |
| ManilaShares.create_share_network_and_list                     | default   | Creates share network and then lists it.                                |
| ManilaShares.list_share_servers                                | default   | Lists share servers.                                                    |
| ManilaShares.list_shares                                       | default   | Basic scenario for 'share list' operation.                              |
| MistralWorkbooks.create_workbook                               | default   | Scenario tests workbook creation and deletion.                          |
| MistralWorkbooks.list_workbooks                                | default   | Scenario test mistral workbook-list command.                            |
| MonascaMetrics.list_metrics                                    | default   | Fetch user's metrics.                                                   |
| MultihostEngine                                                | default   | Deploy multihost cloud with existing engines.                           |
| MuranoEnvironments.create_and_delete_environment               | default   | Create environment, session and delete environment.                     |
| MuranoEnvironments.create_and_deploy_environment               | default   | Create environment, session and deploy environment.                     |
| MuranoEnvironments.list_environments                           | default   | List the murano environments.                                           |
| MuranoPackages.import_and_delete_package                       | default   | Import Murano package and then delete it.                               |
| MuranoPackages.import_and_filter_applications                  | default   | Import Murano package and then filter packages by some criteria.        |
| MuranoPackages.import_and_list_packages                        | default   | Import Murano package and get list of packages.                         |
| MuranoPackages.package_lifecycle                               | default   | Import Murano package, modify it and then delete it.                    |
| NeutronLoadbalancerV1.create_and_delete_healthmonitors         | default   | Create a healthmonitor(v1) and delete healthmonitors(v1).               |
| NeutronLoadbalancerV1.create_and_delete_pools                  | default   | Create pools(v1) and delete pools(v1).                                  |
| NeutronLoadbalancerV1.create_and_delete_vips                   | default   | Create a vip(v1) and then delete vips(v1).                              |
| NeutronLoadbalancerV1.create_and_list_healthmonitors           | default   | Create healthmonitors(v1) and list healthmonitors(v1).                  |
| NeutronLoadbalancerV1.create_and_list_pools                    | default   | Create a pool(v1) and then list pools(v1).                              |
| NeutronLoadbalancerV1.create_and_list_vips                     | default   | Create a vip(v1) and then list vips(v1).                                |
| NeutronLoadbalancerV1.create_and_update_healthmonitors         | default   | Create a healthmonitor(v1) and update healthmonitors(v1).               |
| NeutronLoadbalancerV1.create_and_update_pools                  | default   | Create pools(v1) and update pools(v1).                                  |
| NeutronLoadbalancerV1.create_and_update_vips                   | default   | Create vips(v1) and update vips(v1).                                    |
| NeutronNetworks.create_and_delete_floating_ips                 | default   | Create and delete floating IPs.                                         |
| NeutronNetworks.create_and_delete_networks                     | default   | Create and delete a network.                                            |
| NeutronNetworks.create_and_delete_ports                        | default   | Create and delete a port.                                               |
| NeutronNetworks.create_and_delete_routers                      | default   | Create and delete a given number of routers.                            |
| NeutronNetworks.create_and_delete_subnets                      | default   | Create and delete a given number of subnets.                            |
| NeutronNetworks.create_and_list_floating_ips                   | default   | Create and list floating IPs.                                           |
| NeutronNetworks.create_and_list_networks                       | default   | Create a network and then list all networks.                            |
| NeutronNetworks.create_and_list_ports                          | default   | Create and a given number of ports and list all ports.                  |
| NeutronNetworks.create_and_list_routers                        | default   | Create and a given number of routers and list all routers.              |
| NeutronNetworks.create_and_list_subnets                        | default   | Create and a given number of subnets and list all subnets.              |
| NeutronNetworks.create_and_update_networks                     | default   | Create and update a network.                                            |
| NeutronNetworks.create_and_update_ports                        | default   | Create and update a given number of ports.                              |
| NeutronNetworks.create_and_update_routers                      | default   | Create and update a given number of routers.                            |
| NeutronNetworks.create_and_update_subnets                      | default   | Create and update a subnet.                                             |
| NeutronSecurityGroup.create_and_delete_security_groups         | default   | Create and delete Neutron security-groups.                              |
| NeutronSecurityGroup.create_and_list_security_groups           | default   | Create and list Neutron security-groups.                                |
| NeutronSecurityGroup.create_and_update_security_groups         | default   | Create and update Neutron security-groups.                              |
| NovaAgents.list_agents                                         | default   | List all builds.                                                        |
| NovaAggregates.list_aggregates                                 | default   | List all nova aggregates.                                               |
| NovaAvailabilityZones.list_availability_zones                  | default   | List all availability zones.                                            |
| NovaFlavors.create_and_list_flavor_access                      | default   | Create a non-public flavor and list its access rules                    |
| NovaFlavors.create_flavor                                      | default   | Create a flavor.                                                        |
| NovaFlavors.list_flavors                                       | default   | List all flavors.                                                       |
| NovaFloatingIpsBulk.create_and_delete_floating_ips_bulk        | default   | Create nova floating IP by range and delete it.                         |
| NovaFloatingIpsBulk.create_and_list_floating_ips_bulk          | default   | Create nova floating IP by range and list it.                           |
| NovaHosts.list_hosts                                           | default   | List all nova hosts.                                                    |
| NovaHypervisors.list_hypervisors                               | default   | List hypervisors.                                                       |
| NovaImages.list_images                                         | default   | List all images.                                                        |
| NovaKeypair.boot_and_delete_server_with_keypair                | default   | Boot and delete server with keypair.                                    |
| NovaKeypair.create_and_delete_keypair                          | default   | Create a keypair with random name and delete keypair.                   |
| NovaKeypair.create_and_list_keypairs                           | default   | Create a keypair with random name and list keypairs.                    |
| NovaNetworks.create_and_delete_network                         | default   | Create nova network and delete it.                                      |
| NovaNetworks.create_and_list_networks                          | default   | Create nova network and list all networks.                              |
| NovaSecGroup.boot_and_delete_server_with_secgroups             | default   | Boot and delete server with security groups attached.                   |
| NovaSecGroup.create_and_delete_secgroups                       | default   | Create and delete security groups.                                      |
| NovaSecGroup.create_and_list_secgroups                         | default   | Create and list security groups.                                        |
| NovaSecGroup.create_and_update_secgroups                       | default   | Create and update security groups.                                      |
| NovaServers.boot_and_associate_floating_ip                     | default   | Boot a server and associate a floating IP to it.                        |
| NovaServers.boot_and_bounce_server                             | default   | Boot a server and run specified actions against it.                     |
| NovaServers.boot_and_delete_multiple_servers                   | default   | Boot multiple servers in a single request and delete them.              |
| NovaServers.boot_and_delete_server                             | default   | Boot and delete a server.                                               |
| NovaServers.boot_and_get_console_output                        | default   | Get text console output from server.                                    |
| NovaServers.boot_and_list_server                               | default   | Boot a server from an image and then list all servers.                  |
| NovaServers.boot_and_live_migrate_server                       | default   | Live Migrate a server.                                                  |
| NovaServers.boot_and_migrate_server                            | default   | Migrate a server.                                                       |
| NovaServers.boot_and_rebuild_server                            | default   | Rebuild a server.                                                       |
| NovaServers.boot_and_show_server                               | default   | Show server details.                                                    |
| NovaServers.boot_and_update_server                             | default   | Boot a server, then update its name and description.                    |
| NovaServers.boot_lock_unlock_and_delete                        | default   | Boot a server, lock it, then unlock and delete it.                      |
| NovaServers.boot_server                                        | default   | Boot a server.                                                          |
| NovaServers.boot_server_attach_created_volume_and_live_migrate | default   | Create a VM, attach a volume to it and live migrate.                    |
| NovaServers.boot_server_attach_created_volume_and_resize       | default   | Create a VM from image, attach a volume to it and resize.               |
| NovaServers.boot_server_from_volume                            | default   | Boot a server from volume.                                              |
| NovaServers.boot_server_from_volume_and_delete                 | default   | Boot a server from volume and then delete it.                           |
| NovaServers.boot_server_from_volume_and_live_migrate           | default   | Boot a server from volume and then migrate it.                          |
| NovaServers.boot_server_from_volume_and_resize                 | default   | Boot a server from volume, then resize and delete it.                   |
| NovaServers.boot_server_from_volume_snapshot                   | default   | Boot a server from a snapshot.                                          |
| NovaServers.list_servers                                       | default   | List all servers.                                                       |
| NovaServers.pause_and_unpause_server                           | default   | Create a server, pause, unpause and then delete it                      |
| NovaServers.resize_server                                      | default   | Boot a server, then resize and delete it.                               |
| NovaServers.shelve_and_unshelve_server                         | default   | Create a server, shelve, unshelve and then delete it                    |
| NovaServers.snapshot_server                                    | default   | Boot a server, make its snapshot and delete both.                       |
| NovaServers.suspend_and_resume_server                          | default   | Create a server, suspend, resume and then delete it                     |
| NovaServices.list_services                                     | default   | List all nova services.                                                 |
| OpenStackProvider                                              | default   | Provide VMs using an existing OpenStack cloud.                          |
| Pie                                                            | default   | Display results as pie, calculate average values for additive data.     |
| Quotas.cinder_update                                           | default   | Update quotas for Cinder.                                               |
| Quotas.cinder_update_and_delete                                | default   | Update and Delete quotas for Cinder.                                    |
| Quotas.neutron_update                                          | default   | Update quotas for neutron.                                              |
| Quotas.nova_update                                             | default   | Update quotas for Nova.                                                 |
| Quotas.nova_update_and_delete                                  | default   | Update and delete quotas for Nova.                                      |
| SaharaClusters.create_and_delete_cluster                       | default   | Launch and delete a Sahara Cluster.                                     |
| SaharaClusters.create_scale_delete_cluster                     | default   | Launch, scale and delete a Sahara Cluster.                              |
| SaharaJob.create_launch_job                                    | default   | Create and execute a Sahara EDP Job.                                    |
| SaharaJob.create_launch_job_sequence                           | default   | Create and execute a sequence of the Sahara EDP Jobs.                   |
| SaharaJob.create_launch_job_sequence_with_scaling              | default   | Create and execute Sahara EDP Jobs on a scaling Cluster.                |
| SaharaNodeGroupTemplates.create_and_list_node_group_templates  | default   | Create and list Sahara Node Group Templates.                            |
| SaharaNodeGroupTemplates.create_delete_node_group_templates    | default   | Create and delete Sahara Node Group Templates.                          |
| ScenarioPlugin.list_flavors                                    | default   | List flavors.                                                           |
| SenlinClusters.create_and_delete_profile_cluster               | default   | Create a profile and a cluster and then delete them.                    |
| StackedArea                                                    | default   | Display results as stacked area.                                        |
| StatsTable                                                     | default   | Calculate statistics for additive data and display it as table.         |
| SwiftObjects.create_container_and_object_then_delete_all       | default   | Create container and objects then delete everything created.            |
| SwiftObjects.create_container_and_object_then_download_object  | default   | Create container and objects then download all objects.                 |
| SwiftObjects.create_container_and_object_then_list_objects     | default   | Create container and objects then list all objects.                     |
| SwiftObjects.list_and_download_objects_in_containers           | default   | List and download objects in all containers.                            |
| SwiftObjects.list_objects_in_containers                        | default   | List objects in all containers.                                         |
| Table                                                          | default   | Display complete output as table, can not be used for additive data.    |
| TempestScenario.all                                            | default   | Launch all discovered Tempest tests by their names.                     |
| TempestScenario.list_of_tests                                  | default   | Launch all Tempest tests from a given list of their names.              |
| TempestScenario.set                                            | default   | Launch all Tempest tests from a given set.                              |
| TempestScenario.single_test                                    | default   | Launch a single Tempest test by its name.                               |
| TempestScenario.specific_regex                                 | default   | Launch Tempest tests whose names match a given regular expression.      |
| VMTasks.boot_runcommand_delete                                 | default   | Boot a server, run script specified in command and delete server.       |
| VMTasks.boot_runcommand_delete_custom_image                    | default   | Boot a server from a custom image, run a command that outputs JSON.     |
| VMTasks.runcommand_heat                                        | default   | Run workload on stack deployed by heat.                                 |
| VirshProvider                                                  | default   | Create VMs from prebuilt templates.                                     |
| Watcher.create_audit_template_and_delete                       | default   | Create audit template and delete it.                                    |
| ZaqarBasic.create_queue                                        | default   | Create a Zaqar queue with a random name.                                |
| ZaqarBasic.producer_consumer                                   | default   | Serial message producer/consumer.                                       |
| admin_cleanup                                                  | default   | Context class for admin resources cleanup.                              |
| allow_ssh                                                      | default   | Sets up security groups for all users to access VM via SSH.             |
| api_versions                                                   | default   | Context for specifying OpenStack clients versions and service types.    |
| ceilometer                                                     | default   | Context for creating samples and collecting resources for benchmarks.   |
| ceilometer                                                     | openstack |                                                                         |
| cinder                                                         | openstack |                                                                         |
| cinder_volume_type                                             | default   |                                                                         |
| cleanup                                                        | default   | Context class for user resources cleanup.                               |
| constant                                                       | default   | Creates constant load executing a scenario a specified number of times. |
| constant_for_duration                                          | default   | Creates constant load executing a scenario for an interval of time.     |
| create_flavor                                                  | default   | Create sample flavor                                                    |
| cue                                                            | openstack |                                                                         |
| custom_image                                                   | default   | Base class for the contexts providing customized image with.            |
| designate                                                      | openstack |                                                                         |
| dummy.failure                                                  | default   | Dummy benchmarks for testing Rally benchmark engine at scale.           |
| dummy_context                                                  | default   | Dummy context.                                                          |
| ec2                                                            | openstack |                                                                         |
| ec2_flavor                                                     | default   |                                                                         |
| ec2_image                                                      | default   |                                                                         |
| ec2_servers                                                    | default   | Context class for adding temporary servers for benchmarks.              |
| existing_network                                               | default   | This context supports using existing networks in Rally.                 |
| existing_users                                                 | default   | This context supports using existing users in Rally.                    |
| failure_rate                                                   | default   | Failure rate minimum and maximum in percents.                           |
| file                                                           | default   |                                                                         |
| file                                                           | default   |                                                                         |
| file-exporter                                                  | default   | DEPRECATED.                                                             |
| file_dict                                                      | default   |                                                                         |
| flavors                                                        | default   | Context creates a list of flavors.                                      |
| fuel                                                           | openstack | FuelClient factory for osclients.Clients.                               |
| fuel_environments                                              | default   | Context for generating Fuel environments.                               |
| glance                                                         | openstack |                                                                         |
| glance_image                                                   | default   |                                                                         |
| gnocchi                                                        | openstack |                                                                         |
| heat                                                           | openstack |                                                                         |
| heat_dataplane                                                 | default   | Context class for create stack by given template.                       |
| image_command_customizer                                       | default   | Context class for generating image customized by a command execution.   |
| images                                                         | default   | Context class for adding images to each user for benchmarks.            |
| ironic                                                         | openstack |                                                                         |
| keypair                                                        | default   |                                                                         |
| keystone                                                       | openstack |                                                                         |
| lbaas                                                          | default   |                                                                         |
| magnum                                                         | openstack |                                                                         |
| manila                                                         | openstack |                                                                         |
| manila_share_networks                                          | default   | This context creates resources specific for Manila project.             |
| max_avg_duration                                               | default   | Maximum average duration of one iteration in seconds.                   |
| max_avg_duration_per_atomic                                    | default   | Maximum average duration of one iterations atomic actions in seconds.   |
| max_duration_range                                             | default   | Maximum allowed duration range in seconds.                              |
| max_seconds_per_iteration                                      | default   | Maximum time for one iteration in seconds.                              |
| mistral                                                        | openstack |                                                                         |
| monasca                                                        | openstack |                                                                         |
| monasca_metrics                                                | default   | Context for creating metrics  for benchmarks.                           |
| murano                                                         | openstack |                                                                         |
| murano_environments                                            | default   | Context class for creating murano environments.                         |
| murano_packages                                                | default   | Context class for uploading applications for murano.                    |
| network                                                        | default   | Create networking resources.                                            |
| neutron                                                        | openstack |                                                                         |
| neutron_network                                                | default   |                                                                         |
| nova                                                           | openstack |                                                                         |
| nova_flavor                                                    | default   |                                                                         |
| outliers                                                       | default   | Limit the number of outliers (iterations that take too much time).      |
| path_or_url                                                    | default   |                                                                         |
| performance_degradation                                        | default   | Calculates perfomance degradation based on iteration time               |
| quotas                                                         | default   | Context class for updating benchmarks' tenants quotas.                  |
| random_times                                                   | default   | Sample of scenario runner plugin.                                       |
| roles                                                          | default   | Context class for adding temporary roles for benchmarks.                |
| rps                                                            | default   | Scenario runner that does the job with specified frequency.             |
| sahara                                                         | openstack |                                                                         |
| sahara_cluster                                                 | default   | Context class for setting up the Cluster an EDP job.                    |
| sahara_image                                                   | default   | Context class for adding and tagging Sahara images.                     |
| sahara_input_data_sources                                      | default   | Context class for setting up Input Data Sources for an EDP job.         |
| sahara_job_binaries                                            | default   | Context class for setting up Job Binaries for an EDP job.               |
| sahara_output_data_sources                                     | default   | Context class for setting up Output Data Sources for an EDP job.        |
| senlin                                                         | openstack |                                                                         |
| serial                                                         | default   | Scenario runner that executes benchmark scenarios serially.             |
| servers                                                        | default   | Context class for adding temporary servers for benchmarks.              |
| stacks                                                         | default   | Context class for create temporary stacks with resources.               |
| swift                                                          | openstack |                                                                         |
| swift_objects                                                  | default   |                                                                         |
| tempest                                                        | default   |                                                                         |
| trove                                                          | openstack |                                                                         |
| users                                                          | default   | Context class for generating temporary users/tenants for benchmarks.    |
| volume_types                                                   | default   | Context class for adding volumes types for benchmarks.                  |
| volumes                                                        | default   | Context class for adding volumes to each user for benchmarks.           |
| watcher                                                        | openstack |                                                                         |
| watcher_goal                                                   | default   |                                                                         |
| watcher_strategy                                               | default   |                                                                         |
| zaqar                                                          | openstack |                                                                         |
| zones                                                          | default   | Context to add `zones_per_tenant` zones for each tenant.                |
+----------------------------------------------------------------+-----------+-------------------------------------------------------------------------+
(rally)cloud@stack-2:~/rally$

In our earlier sample test execution , we have used NovaServers.boot_and_delete_server plugin.

Write a new plugin(scenario tests)

How to include the new plugin in the rally

1. create .rally/plugins/<plugin name> folder in your HOME folder
2. copy the plugin   source files(*.py) present in this repository, to this newly created folder.
3. Now your plugin can be detected by the RALLY.
4. Place the input file (test.json) to your convenient directory(Lets assume, your home directory)
5. Execute the test as below,
      rally task start --task /home/cloud/test.json

References:

  1. https://wiki.openstack.org/wiki/Rally/Concepts
  2. http://rally.readthedocs.io/en/latest/tutorial/step_0_installation.html
  3. https://github.com/openstack/rally

results matching ""

    No results matching ""