Deploy Devstack cloud.
Sample configuration:
{
"type": "DevstackEngine",
"devstack_repo": "https://example.com/devstack/",
"local_conf": {
"ADMIN_PASSWORD": "secret"
},
"provider": {
"type": "ExistingServers",
"credentials": [{"user": "root", "host": "10.2.0.8"}]
}
}
Namespace: default
Just use an existing OpenStack deployment without deploying anything.
To use ExistingCloud, you should put credential information to the config:
{
"type": "ExistingCloud",
"auth_url": "http://localhost:5000/v2.0/",
"region_name": "RegionOne",
"endpoint_type": "public",
"admin": {
"username": "admin",
"password": "password",
"tenant_name": "demo"
},
"https_insecure": False,
"https_cacert": "",
}
Or, using keystone v3 API endpoint:
{
"type": "ExistingCloud",
"auth_url": "http://localhost:5000/v3/",
"region_name": "RegionOne",
"endpoint_type": "public",
"admin": {
"username": "admin",
"password": "admin",
"user_domain_name": "admin",
"project_name": "admin",
"project_domain_name": "admin",
},
"https_insecure": False,
"https_cacert": "",
}
To specify extra options use can use special "extra" parameter:
{
"type": "ExistingCloud",
"auth_url": "http://localhost:5000/v2.0/",
"region_name": "RegionOne",
"endpoint_type": "public",
"admin": {
"username": "admin",
"password": "password",
"tenant_name": "demo"
},
"https_insecure": False,
"https_cacert": "",
"extra": {"some_var": "some_value"}
}
Namespace: default
Deploy with other engines in lxc containers.
Sample configuration:
{
"type": "LxcEngine",
"provider": {
"type": "DummyProvider",
"credentials": [{"user": "root", "host": "example.net"}]
},
"distribution": "ubuntu",
"release": "raring",
"tunnel_to": ["10.10.10.10", "10.10.10.11"],
"start_lxc_network": "10.1.1.0/24",
"container_name_prefix": "devstack-node",
"containers_per_host": 16,
"start_script": "~/start.sh",
"engine": { ... }
}
Namespace: default
Module: rally.deployment.engines.lxc
Deploy multihost cloud with existing engines.
Sample configuration:
{
"type": "MultihostEngine",
"controller": {
"type": "DevstackEngine",
"provider": {
"type": "DummyProvider"
}
},
"nodes": [
{"type": "Engine1", "config": "Config1"},
{"type": "Engine2", "config": "Config2"},
{"type": "Engine3", "config": "Config3"},
]
}
If {controller_ip} is specified in configuration values, it will be replaced with controller address taken from credential returned by controller engine:
...
"nodes": [
{
"type": "DevstackEngine",
"local_conf": {
"GLANCE_HOSTPORT": "{controller_ip}:9292",
...
Namespace: default
Creates servers via PXE boot from given cobbler selector.
Cobbler selector may contain a combination of fields to select a number of system. It's user responsibility to provide selector which selects something. Since cobbler stores servers password encrypted the user needs to specify it configuration. All servers selected must have the same password.
Sample configuration:
{
"type": "CobblerProvider",
"host": "172.29.74.8",
"user": "cobbler",
"password": "cobbler",
"system_password": "password"
"selector": {"profile": "cobbler_profile_name", "owners": "user1"}
}
Namespace: default
Just return endpoints from its own configuration.
Sample configuration:
{
"type": "ExistingServers",
"credentials": [{"user": "root", "host": "localhost"}]
}
Namespace: default
Provide lxc container(s) on given host.
Sample configuration:
{
"type": "LxcProvider",
"distribution": "ubuntu",
"start_lxc_network": "10.1.1.0/24",
"containers_per_host": 32,
"tunnel_to": ["10.10.10.10"],
"forward_ssh": false,
"container_name_prefix": "rally-multinode-02",
"host_provider": {
"type": "ExistingServers",
"credentials": [{"user": "root", "host": "host.net"}]
}
}
Namespace: default
Provide VMs using an existing OpenStack cloud.
Sample configuration:
{
"type": "OpenStackProvider",
"amount": 42,
"user": "admin",
"tenant": "admin",
"password": "secret",
"auth_url": "http://example.com/",
"flavor_id": 2,
"image": {
"checksum": "75846dd06e9fcfd2b184aba7fa2b2a8d",
"url": "http://example.com/disk1.img",
"name": "Ubuntu Precise(added by rally)",
"format": "qcow2",
"userdata": "disable_root: false"
},
"secgroup_name": "Rally"
}
Namespace: default
Create VMs from prebuilt templates.
Sample configuration:
{
"type": "VirshProvider",
"connection": "alex@performance-01",
"template_name": "stack-01-devstack-template",
"template_user": "ubuntu",
"template_password": "password"
}
where :
Namespace: default
Display results as generic chart with lines.
This plugin processes additive data and displays it in HTML report as linear chart with X axis bound to iteration number. Complete output data is displayed as linear chart as well, without any processing.
Examples of using this plugin in Scenario, for saving output data:
self.add_output(
additive={"title": "Additive data as stacked area",
"description": "Iterations trend for foo and bar",
"chart_plugin": "Lines",
"data": [["foo", 12], ["bar", 34]]},
complete={"title": "Complete data as stacked area",
"description": "Data is shown as stacked area, as-is",
"chart_plugin": "Lines",
"data": [["foo", [[0, 5], [1, 42], [2, 15], [3, 7]]],
["bar", [[0, 2], [1, 1.3], [2, 5], [3, 9]]]],
"label": "Y-axis label text",
"axis_label": "X-axis label text"})
Namespace: default
Module: rally.task.processing.charts
Display results as pie, calculate average values for additive data.
This plugin processes additive data and calculate average values. Both additive and complete data are displayed in HTML report as pie chart.
Examples of using this plugin in Scenario, for saving output data:
self.add_output(
additive={"title": "Additive output",
"description": ("Pie with average data "
"from all iterations values"),
"chart_plugin": "Pie",
"data": [["foo", 12], ["bar", 34], ["spam", 56]]},
complete={"title": "Complete output",
"description": "Displayed as a pie, as-is",
"chart_plugin": "Pie",
"data": [["foo", 12], ["bar", 34], ["spam", 56]]})
Namespace: default
Module: rally.task.processing.charts
Display results as stacked area.
This plugin processes additive data and displays it in HTML report as stacked area with X axis bound to iteration number. Complete output data is displayed as stacked area as well, without any processing.
Keys "description", "label" and "axis_label" are optional.
Examples of using this plugin in Scenario, for saving output data:
self.add_output(
additive={"title": "Additive data as stacked area",
"description": "Iterations trend for foo and bar",
"chart_plugin": "StackedArea",
"data": [["foo", 12], ["bar", 34]]},
complete={"title": "Complete data as stacked area",
"description": "Data is shown as stacked area, as-is",
"chart_plugin": "StackedArea",
"data": [["foo", [[0, 5], [1, 42], [2, 15], [3, 7]]],
["bar", [[0, 2], [1, 1.3], [2, 5], [3, 9]]]],
"label": "Y-axis label text",
"axis_label": "X-axis label text"})
Namespace: default
Module: rally.task.processing.charts
Calculate statistics for additive data and display it as table.
This plugin processes additive data and compose statistics that is displayed as table in HTML report.
Examples of using this plugin in Scenario, for saving output data:
self.add_output(
additive={"title": "Statistics",
"description": ("Table with statistics generated "
"from all iterations values"),
"chart_plugin": "StatsTable",
"data": [["foo stat", 12], ["bar", 34], ["spam", 56]]})
Namespace: default
Module: rally.task.processing.charts
Display complete output as table, can not be used for additive data.
Use this plugin for complete output data to display it in HTML report as table. This plugin can not be used for additive data because it does not contain any processing logic.
Examples of using this plugin in Scenario, for saving output data:
self.add_output(
complete={"title": "Arbitrary Table",
"description": "Just show columns and rows as-is",
"chart_plugin": "Table",
"data": {"cols": ["foo", "bar", "spam"],
"rows": [["a row", 1, 2], ["b row", 3, 4],
["c row", 5, 6]]}})
Namespace: default
Module: rally.task.processing.charts
Context for specifying OpenStack clients versions and service types.
Some OpenStack services support several API versions. To recognize the endpoints of each version, separate service types are provided in Keystone service catalog.
Rally has the map of default service names - service types. But since service type is an entity, which can be configured manually by admin( via keystone api) without relation to service name, such map can be insufficient.
Also, Keystone service catalog does not provide a map types to name (this statement is true for keystone < 3.3 ).
This context was designed for not-default service types and not-default API versions usage.
An example of specifying API version:
# In this example we will launch NovaKeypair.create_and_list_keypairs
# scenario on 2.2 api version.
{
"NovaKeypair.create_and_list_keypairs": [
{
"args": {
"key_type": "x509"
},
"runner": {
"type": "constant",
"times": 10,
"concurrency": 2
},
"context": {
"users": {
"tenants": 3,
"users_per_tenant": 2
},
"api_versions": {
"nova": {
"version": 2.2
}
}
}
}
]
}
An example of specifying API version along with service type:
# In this example we will launch CinderVolumes.create_and_attach_volume
# scenario on Cinder V2
{
"CinderVolumes.create_and_attach_volume": [
{
"args": {
"size": 10,
"image": {
"name": "^cirros.*-disk$"
},
"flavor": {
"name": "m1.tiny"
},
"create_volume_params": {
"availability_zone": "nova"
}
},
"runner": {
"type": "constant",
"times": 5,
"concurrency": 1
},
"context": {
"users": {
"tenants": 2,
"users_per_tenant": 2
},
"api_versions": {
"cinder": {
"version": 2,
"service_type": "volumev2"
}
}
}
}
]
}
Also, it possible to use service name as an identifier of service endpoint, but an admin user is required (Keystone can return map of service names - types, but such API is permitted only for admin). An example:
# Similar to the previous example, but `service_name` argument is used
# instead of `service_type`
{
"CinderVolumes.create_and_attach_volume": [
{
"args": {
"size": 10,
"image": {
"name": "^cirros.*-disk$"
},
"flavor": {
"name": "m1.tiny"
},
"create_volume_params": {
"availability_zone": "nova"
}
},
"runner": {
"type": "constant",
"times": 5,
"concurrency": 1
},
"context": {
"users": {
"tenants": 2,
"users_per_tenant": 2
},
"api_versions": {
"cinder": {
"version": 2,
"service_name": "cinderv2"
}
}
}
}
]
}
Namespace: default
Context class for adding temporary audit template for benchmarks.
Namespace: default
Module: rally.plugins.openstack.context.watcher.audit_templates
Context for creating samples and collecting resources for benchmarks.
Namespace: default
Context class for generating temporary cluster model for benchmarks.
Namespace: default
Module: rally.plugins.openstack.context.magnum.cluster_templates
Context class for generating temporary cluster for benchmarks.
Namespace: default
Context class for adding temporary servers for benchmarks.
Servers are added for each tenant.
Namespace: default
This context supports using existing networks in Rally.
This context should be used on a deployment with existing users.
Namespace: default
Module: rally.plugins.openstack.context.network.existing_network
Context class for create stack by given template.
This context will create stacks by given template for each tenant and add details to context. Following details will be added:
id of stack; template file contents; files dictionary; stack parameters;
Heat template should define a "gate" node which will interact with Rally by ssh and workload nodes by any protocol. To make this possible heat template should accept the following parameters:
network_id: id of public network router_id: id of external router to connect "gate" node key_name: name of nova ssh keypair to use for "gate" node
Namespace: default
Context class for generating image customized by a command execution.
Run a command specified by configuration to prepare image.
Use this script e.g. to download and install something.
Namespace: default
Module: rally.plugins.openstack.context.vm.image_command_customizer
This context creates 'security services' for Manila project.
Namespace: default
Module: rally.plugins.openstack.context.manila.manila_security_services
Context class for creating murano environments.
Namespace: default
Module: rally.plugins.openstack.context.murano.murano_environments
Context class for uploading applications for murano.
Namespace: default
Module: rally.plugins.openstack.context.murano.murano_packages
Create networking resources.
This creates networks for all tenants, and optionally creates another resources like subnets and routers.
Namespace: default
Context class for setting up the Cluster an EDP job.
Namespace: default
Module: rally.plugins.openstack.context.sahara.sahara_cluster
Context class for setting up Input Data Sources for an EDP job.
Namespace: default
Module: rally.plugins.openstack.context.sahara.sahara_input_data_sources
Context class for setting up Job Binaries for an EDP job.
Namespace: default
Module: rally.plugins.openstack.context.sahara.sahara_job_binaries
Context class for setting up Output Data Sources for an EDP job.
Namespace: default
Module: rally.plugins.openstack.context.sahara.sahara_output_data_sources
Context class for adding temporary servers for benchmarks.
Servers are added for each tenant.
Namespace: default
Context class for create temporary stacks with resources.
Stack generator allows to generate arbitrary number of stacks for each tenant before test scenarios. In addition, it allows to define number of resources (namely OS::Heat::RandomString) that will be created inside each stack. After test execution the stacks will be automatically removed from heat.
Namespace: default
Context class for generating temporary users/tenants for benchmarks.
Namespace: openstack
Performs fault injection using os-faults library.
This plugin discovers extra config of ExistingCloud and looks for "cloud_config" field. If cloud_config is present then it will be used to connect to the cloud by os-faults.
Another option is to provide os-faults config file through OS_FAULTS_CONFIG env variable. Format of the config can be found in [1].
[1] http://os-faults.readthedocs.io/en/latest/usage.html
Namespace: default
Maximum average duration of one iterations atomic actions in seconds.
Namespace: default
Module: rally.plugins.common.sla.max_average_duration_per_atomic
Limit the number of outliers (iterations that take too much time).
The outliers are detected automatically using the computation of the mean and standard deviation (std) of the data.
Namespace: default
Calculates performance degradation based on iteration time
This SLA plugin finds minimum and maximum duration of iterations completed without errors during Rally task execution. Assuming that minimum duration is 100%, it calculates performance degradation against maximum duration.
Namespace: default
Check Keystone Client.
Namespace: openstack
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
Check Ceilometer Client to ensure validation of token.
Creation of the client does not ensure validation of the token. We have to do some minimal operation to make sure token gets validated.
Namespace: openstack
Parameters:
Number of times to validate
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
Check Cinder Client to ensure validation of token.
Creation of the client does not ensure validation of the token. We have to do some minimal operation to make sure token gets validated.
Namespace: openstack
Parameters:
Number of times to validate
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
Check Glance Client to ensure validation of token.
Creation of the client does not ensure validation of the token. We have to do some minimal operation to make sure token gets validated. In following we are checking for non-existent image.
Namespace: openstack
Parameters:
Number of times to validate
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
Check Heat Client to ensure validation of token.
Creation of the client does not ensure validation of the token. We have to do some minimal operation to make sure token gets validated.
Namespace: openstack
Parameters:
Number of times to validate
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
Check Monasca Client to ensure validation of token.
Creation of the client does not ensure validation of the token. We have to do some minimal operation to make sure token gets validated.
Namespace: openstack
Parameters:
Number of times to validate
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
Check Neutron Client to ensure validation of token.
Creation of the client does not ensure validation of the token. We have to do some minimal operation to make sure token gets validated.
Namespace: openstack
Parameters:
Number of times to validate
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
Check Nova Client to ensure validation of token.
Creation of the client does not ensure validation of the token. We have to do some minimal operation to make sure token gets validated.
Namespace: openstack
Parameters:
Number of times to validate
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
Create an alarm.
This scenarios test POST /v2/alarms. meter_name and threshold are required parameters for alarm creation. kwargs stores other optional parameters like 'ok_actions', 'project_id' etc that may be passed while creating an alarm.
Namespace: openstack
Parameters:
Specifies meter name of the alarm
Specifies alarm threshold
Specifies optional arguments for alarm creation.
Create an alarm, get and set the state and get the alarm history.
Initially alarm is created and then get the state of the created alarm using its alarm_id. Then get the history of the alarm. And finally the state of the alarm is updated using given state. meter_name and threshold are required parameters for alarm creation. kwargs stores other optional parameters like 'ok_actions', 'project_id' etc that may be passed while alarm creation.
Namespace: openstack
Parameters:
Specifies meter name of the alarm
Specifies alarm threshold
An alarm state to be set
The number of seconds for which to attempt a successful check of the alarm state
Specifies optional arguments for alarm creation.
Create and delete the newly created alarm.
This scenarios test DELETE /v2/alarms/(alarm_id) Initially alarm is created and then the created alarm is deleted using its alarm_id. meter_name and threshold are required parameters for alarm creation. kwargs stores other optional parameters like 'ok_actions', 'project_id' etc that may be passed while alarm creation.
Namespace: openstack
Parameters:
Specifies meter name of the alarm
Specifies alarm threshold
Specifies optional arguments for alarm creation.
Create and get the newly created alarm.
These scenarios test GET /v2/alarms/(alarm_id) Initially an alarm is created and then its detailed information is fetched using its alarm_id. meter_name and threshold are required parameters for alarm creation. kwargs stores other optional parameters like 'ok_actions', 'project_id' etc. that may be passed while creating an alarm.
Namespace: openstack
Parameters:
Specifies meter name of the alarm
Specifies alarm threshold
Specifies optional arguments for alarm creation.
Create and get the newly created alarm.
This scenarios test GET /v2/alarms/(alarm_id) Initially alarm is created and then the created alarm is fetched using its alarm_id. meter_name and threshold are required parameters for alarm creation. kwargs stores other optional parameters like 'ok_actions', 'project_id' etc. that may be passed while creating an alarm.
Namespace: openstack
Parameters:
Specifies meter name of the alarm
Specifies alarm threshold
Specifies optional arguments for alarm creation.
Create and update the newly created alarm.
This scenarios test PUT /v2/alarms/(alarm_id) Initially alarm is created and then the created alarm is updated using its alarm_id. meter_name and threshold are required parameters for alarm creation. kwargs stores other optional parameters like 'ok_actions', 'project_id' etc that may be passed while alarm creation.
Namespace: openstack
Parameters:
Specifies meter name of the alarm
Specifies alarm threshold
Specifies optional arguments for alarm creation.
Fetch all alarms.
This scenario fetches list of all alarms using GET /v2/alarms.
Namespace: openstack
Create user and gets event.
This scenario creates user to store new event and fetches one event using GET /v2/events/<message_id>.
Namespace: openstack
Create user and fetch all event types.
This scenario creates user to store new event and fetches list of all events types using GET /v2/event_types.
Namespace: openstack
Create user and fetch all events.
This scenario creates user to store new event and fetches list of all events using GET /v2/events.
Namespace: openstack
Get meters that matched fields from context and args.
Namespace: openstack
Parameters:
Flag for query by user_id
Flag for query by project_id
Flag for query by resource_id
Dict with metadata fields and values for query
Count of resources in response
Check all available queries for list resource request.
Namespace: openstack
Parameters:
Dict with metadata fields and values
Limit of meters in response
Create an alarm and then query for its history.
This scenario tests POST /v2/query/alarms/history An alarm is first created and then its alarm_id is used to fetch the history of that specific alarm.
Namespace: openstack
Parameters:
Specifies meter name of alarm
Specifies alarm threshold
Optional param for specifying ordering of results
Optional param for maximum number of results returned
Optional parameters for alarm creation
Module: rally.plugins.openstack.scenarios.ceilometer.queries
Create an alarm and then query it with specific parameters.
This scenario tests POST /v2/query/alarms An alarm is first created and then fetched using the input query.
Namespace: openstack
Parameters:
Specifies meter name of alarm
Specifies alarm threshold
Optional filter query dictionary
Optional param for specifying ordering of results
Optional param for maximum number of results returned
Optional parameters for alarm creation
Module: rally.plugins.openstack.scenarios.ceilometer.queries
Create a sample and then query it with specific parameters.
This scenario tests POST /v2/query/samples A sample is first created and then fetched using the input query.
Namespace: openstack
Parameters:
Specifies name of the counter
Specifies type of the counter
Specifies unit of the counter
Specifies volume of the counter
Specifies resource id for the sample created
Optional filter query dictionary
Optional param for specifying ordering of results
Optional param for maximum number of results returned
Parameters for sample creation
Module: rally.plugins.openstack.scenarios.ceilometer.queries
Get all tenant resources.
This scenario retrieves information about tenant resources using GET /v2/resources/(resource_id)
Namespace: openstack
Module: rally.plugins.openstack.scenarios.ceilometer.resources
Get resources that matched fields from context and args.
Namespace: openstack
Parameters:
Flag for query by user_id
Flag for query by project_id
Flag for query by resource_id
Dict with metadata fields and values for query
Lower bound of resource timestamp in isoformat
Upper bound of resource timestamp in isoformat
Count of resources in response
Module: rally.plugins.openstack.scenarios.ceilometer.resources
Check all available queries for list resource request.
This scenario fetches list of all resources using GET /v2/resources.
Namespace: openstack
Parameters:
Dict with metadata fields and values for query
Lower bound of resource timestamp in isoformat
Upper bound of resource timestamp in isoformat
Count of resources in response
Module: rally.plugins.openstack.scenarios.ceilometer.resources
Get list of samples that matched fields from context and args.
Namespace: openstack
Parameters:
Flag for query by user_id
Flag for query by project_id
Flag for query by resource_id
Dict with metadata fields and values for query
Count of samples in response
Module: rally.plugins.openstack.scenarios.ceilometer.samples
Fetch all available queries for list sample request.
Namespace: openstack
Parameters:
Dict with metadata fields and values for query
Count of samples in response
Module: rally.plugins.openstack.scenarios.ceilometer.samples
Create a meter and fetch its statistics.
Meter is first created and then statistics is fetched for the same using GET /v2/meters/(meter_name)/statistics.
Namespace: openstack
Parameters:
Contains optional arguments to create a meter
Fetch statistics for certain meter.
Statistics is fetched for the using GET /v2/meters/(meter_name)/statistics.
Namespace: openstack
Parameters:
Meter to take statistic for
Flag for query by user_id
Flag for query by project_id
Flag for query by resource_id
Dict with metadata fields and values for query
The length of the time range covered by these stats
The fields used to group the samples
Name of function for samples aggregation
Returns: list of statistics data
Create user and fetch all trait descriptions.
This scenario creates user to store new event and fetches list of all traits for certain event type using GET /v2/event_types/<event_type>/traits.
Namespace: openstack
Create user and fetch all event traits.
This scenario creates user to store new event and fetches list of all traits for certain event type and trait name using GET /v2/event_types/<event_type>/traits/<trait_name>.
Namespace: openstack
Create a incremental volume backup.
The scenario first create a volume, the create a backup, the backup is full backup. Because Incremental backup must be based on the full backup. finally create a incremental backup.
Namespace: openstack
Parameters:
Volume size in gb
Deletes backup and volume after creating if true
Optional args to create a volume
Optional args to create a volume backup
Module: rally.plugins.openstack.scenarios.cinder.volume_backups
Create and delete encryption type
Namespace: openstack
Parameters:
The encryption type specifications to add
Module: rally.plugins.openstack.scenarios.cinder.volume_types
Create and delete a volume Type.
Namespace: openstack
Parameters:
Optional parameters used during volume type creation.
Module: rally.plugins.openstack.scenarios.cinder.volume_types
Create and list encryption type
Namespace: openstack
Parameters:
The encryption type specifications to add
Options used when search for encryption types
Optional parameters used during volume type creation.
Module: rally.plugins.openstack.scenarios.cinder.volume_types
Create and set a volume type's extra specs.
Namespace: openstack
Parameters:
A dict of key/value pairs to be set
Optional parameters used during volume type creation.
Module: rally.plugins.openstack.scenarios.cinder.volume_types
Create encryption type
Namespace: openstack
Parameters:
The encryption type specifications to add
Optional parameters used during volume type creation.
Module: rally.plugins.openstack.scenarios.cinder.volume_types
Create a volume transfer, then accept it
Measure the "cinder transfer-create" and "cinder transfer-accept" command performace.
Namespace: openstack
Parameters:
Volume size (integer, in gb)
Image to be used to create initial volume
Optional args to create a volume
Create a VM and attach a volume to it.
Simple test to create a VM and attach a volume, then detach the volume and delete volume/VM.
Namespace: openstack
Parameters:
Volume size (integer, in gb) or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.
Glance image name to use for the VM
VM flavor name
Optional arguments for volume creation
Optional arguments for vm creation
(deprecated) optional arguments for vm creation
Create and then delete a volume-snapshot.
Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between snapshot creation and deletion (of random duration from [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
When set to true, allows snapshot of a volume when the volume is attached to an instance
Minimum sleep time between snapshot creation and deletion (in seconds)
Maximum sleep time between snapshot creation and deletion (in seconds)
Optional args to create a snapshot
Create and then delete a volume.
Good for testing a maximal bandwidth of cloud. Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between volume creation and deletion (of random duration from [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
Volume size (integer, in gb) or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.
Image to be used to create volume
Minimum sleep time between volume creation and deletion (in seconds)
Maximum sleep time between volume creation and deletion (in seconds)
Optional args to create a volume
Create and extend a volume and then delete it.
Namespace: openstack
Parameters:
Volume size (in gb) or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.
Volume new size (in gb) or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.to extend. notice: should be bigger volume size
Minimum sleep time between volume extension and deletion (in seconds)
Maximum sleep time between volume extension and deletion (in seconds)
Optional args to extend the volume
Create a volume and get the volume.
Measure the "cinder show" command performance.
Namespace: openstack
Parameters:
Volume size (integer, in gb) or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.
Image to be used to create volume
Optional args to create a volume
Create and then list a volume-snapshot.
Namespace: openstack
Parameters:
When set to true, allows snapshot of a volume when the volume is attached to an instance
True if detailed information about snapshots should be listed
Optional args to create a snapshot
Create a volume and list all volumes.
Measure the "cinder volume-list" command performance.
If you have only 1 user in your context, you will add 1 volume on every iteration. So you will have more and more volumes and will be able to measure the performance of the "cinder volume-list" command depending on the number of images owned by users.
Namespace: openstack
Parameters:
Volume size (integer, in gb) or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.
Determines whether the volume listing should contain detailed information about all of them
Image to be used to create volume
Optional args to create a volume
Create and then list a volume backup.
Namespace: openstack
Parameters:
Volume size in gb
True if detailed information about backup should be listed
If true, a volume backup will be deleted
Optional args to create a volume
Optional args to create a volume backup
Restore volume backup.
Namespace: openstack
Parameters:
Volume size in gb
If true, the volume and the volume backup will be deleted after creation.
Optional args to create a volume
Optional args to create a volume backup
Create a volume and update its name and description.
Namespace: openstack
Parameters:
Volume size (integer, in gb)
Image to be used to create volume
Dict, to be used to create volume
Dict, to be used to update volume
Create and upload a volume to image.
Namespace: openstack
Parameters:
Volume size (integers, in gb), or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.
Image to be used to create volume.
When set to true volume that is attached to an instance could be uploaded to image
Image container format
Disk format for image
Deletes image and volume after uploading if true
Optional args to create a volume
Create volume from volume and then delete it.
Scenario for testing volume clone.Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between volume creation and deletion (of random duration from [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
Volume size (in gb), or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.should be equal or bigger source volume size
Minimum sleep time between volume creation and deletion (in seconds)
Maximum sleep time between volume creation and deletion (in seconds)
Optional args to create a volume
Create a volume from snapshot and attach/detach the volume
This scenario create volume, create it's snapshot, attach volume, then create new volume from existing snapshot and so on, with defined nested level, after all detach and delete them. volume->snapshot->volume->snapshot->volume ...
Namespace: openstack
Parameters:
- Volume size - dictionary, contains two values:
- min - minimum size volumes will be created as; max - maximum size volumes will be created as.
default values: {"min": 1, "max": 5}
Amount of nested levels
Optional args to create a volume
Optional args to create a snapshot
Optional parameters used during volume snapshot creation.
Create volume, snapshot and attach/detach volume.
Namespace: openstack
Parameters:
Name of volume type to use
- Volume size - dictionary, contains two values:
- min - minimum size volumes will be created as; max - maximum size volumes will be created as.
default values: {"min": 1, "max": 5}
Optional parameters used during volume snapshot creation.
Create a volume.
Good test to check how influence amount of active volumes on performance of creating new.
Namespace: openstack
Parameters:
Volume size (integer, in gb) or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.
Image to be used to create volume
Optional args to create a volume
Create a volume, then clone it to another volume.
Namespace: openstack
Parameters:
Volume size (integer, in gb) or dictionary, must contain two values:
min - minimum size volumes will be created as; max - maximum size volumes will be created as.
Image to be used to create initial volume
Amount of nested levels
Optional args to create volumes
Create a volume and then update its readonly flag.
Namespace: openstack
Parameters:
Volume size (integer, in gb)
Image to be used to create volume
The value to indicate whether to update volume to read-only access mode
Optional args to create a volume
Create a volume backup.
Namespace: openstack
Parameters:
Volume size in gb
If true, a volume and a volume backup will be deleted after creation.
Optional args to create a volume
Optional args to create a volume backup
Create a volume-snapshot, then create a volume from this snapshot.
Namespace: openstack
Parameters:
If true, a snapshot and a volume will be deleted after creation.
Optional args to create a snapshot
Optional args to create a volume
List all transfers.
This simple scenario tests the "cinder transfer-list" command by listing all the volume transfers.
Namespace: openstack
Parameters:
If True, detailed information about volume transfer should be listed
Search options to filter out volume transfers.
List all volume types.
This simple scenario tests the cinder type-list command by listing all the volume types.
Namespace: openstack
Parameters:
Options used when search for volume types
If query public volume type
List all volumes.
This simple scenario tests the cinder list command by listing all the volumes.
Namespace: openstack
Parameters:
True if detailed information about volumes should be listed
Modify a volume's metadata.
This requires a volume to be created with the volumes context. Additionally, sets * set_size must be greater than or equal to deletes * delete_size.
Namespace: openstack
Parameters:
How many set_metadata operations to perform
Number of metadata keys to set in each set_metadata operation
How many delete_metadata operations to perform
Number of metadata keys to delete in each delete_metadata operation
Create and then delete a domain.
Measure the performance of creating and deleting domains with different level of load.
Namespace: openstack
Create and then delete records.
Measure the performance of creating and deleting records with different level of load.
Namespace: openstack
Parameters:
Records to create pr domain.
Create and then delete recordsets.
Measure the performance of creating and deleting recordsets with different level of load.
Namespace: openstack
Parameters:
Recordsets to create pr zone.
Create and then delete a server.
Measure the performance of creating and deleting servers with different level of load.
Namespace: openstack
Create and then delete a zone.
Measure the performance of creating and deleting zones with different level of load.
Namespace: openstack
Create a domain and list all domains.
Measure the "designate domain-list" command performance.
If you have only 1 user in your context, you will add 1 domain on every iteration. So you will have more and more domain and will be able to measure the performance of the "designate domain-list" command depending on the number of domains owned by users.
Namespace: openstack
Create and then list records.
If you have only 1 user in your context, you will add 1 record on every iteration. So you will have more and more records and will be able to measure the performance of the "designate record-list" command depending on the number of domains/records owned by users.
Namespace: openstack
Parameters:
Records to create pr domain.
Create and then list recordsets.
If you have only 1 user in your context, you will add 1 recordset on every iteration. So you will have more and more recordsets and will be able to measure the performance of the "openstack recordset list" command depending on the number of zones/recordsets owned by users.
Namespace: openstack
Parameters:
Recordsets to create pr zone.
Create a Designate server and list all servers.
If you have only 1 user in your context, you will add 1 server on every iteration. So you will have more and more server and will be able to measure the performance of the "designate server-list" command depending on the number of servers owned by users.
Namespace: openstack
Create a zone and list all zones.
Measure the "openstack zone list" command performance.
If you have only 1 user in your context, you will add 1 zone on every iteration. So you will have more and more zone and will be able to measure the performance of the "openstack zone list" command depending on the number of zones owned by users.
Namespace: openstack
Create and then update a domain.
Measure the performance of creating and updating domains with different level of load.
Namespace: openstack
List Designate domains.
This simple scenario tests the designate domain-list command by listing all the domains.
Suppose if we have 2 users in context and each has 2 domains uploaded for them we will be able to test the performance of designate domain-list command in this case.
Namespace: openstack
List Designate records.
This simple scenario tests the designate record-list command by listing all the records in a domain.
Suppose if we have 2 users in context and each has 2 domains uploaded for them we will be able to test the performance of designate record-list command in this case.
Namespace: openstack
Parameters:
Domain ID
List Designate recordsets.
This simple scenario tests the openstack recordset list command by listing all the recordsets in a zone.
Namespace: openstack
Parameters:
Zone ID
List Designate servers.
This simple scenario tests the designate server-list command by listing all the servers.
Namespace: openstack
List Designate zones.
This simple scenario tests the openstack zone list command by listing all the zones.
Namespace: openstack
Do nothing and sleep for the given number of seconds (0 by default).
Dummy.dummy can be used for testing performance of different ScenarioRunners and of the ability of rally to store a large amount of results.
Namespace: default
Parameters:
Idle time of method (in seconds).
Throw an exception.
Dummy.dummy_exception can be used for test if exceptions are processed properly by ScenarioRunners and benchmark and analyze rally results storing process.
Namespace: default
Parameters:
Int size of the exception message
Idle time of method (in seconds).
Message of the exception
Throw an exception with given probability.
Dummy.dummy_exception_probability can be used to test if exceptions are processed properly by ScenarioRunners. This scenario will throw an exception sometimes, depending on the given exception probability.
Namespace: default
Parameters:
Sets how likely it is that an exception will be thrown. Float between 0 and 1 0=never 1=always.
Generate dummy output.
This scenario generates example of output data.
Namespace: default
Parameters:
Max int limit for generated random values
Sleep random time in dummy actions.
Namespace: default
Parameters:
Int number of actions to generate
Minimal time to sleep, numeric seconds
Maximum time to sleep, numeric seconds
Dummy.dummy_random_fail_in_atomic in dummy actions.
Can be used to test atomic actions failures processing.
Namespace: default
Parameters:
Probability with which atomic actions fail in this dummy scenario (0 <= p <= 1)
Run some sleepy atomic actions for SLA atomic action tests.
Namespace: default
Parameters:
Int number of atomic actions to create
Int multiplier for number of seconds to sleep
Raise errors in some iterations.
Namespace: default
Parameters:
Float iteration sleep time in seconds
Int iteration number which starts range of failed iterations
Int iteration number which ends range of failed iterations
Int cyclic number of iteration which actually raises an error in selected range. for example, each=3 will raise error in each 3rd iteration.
Boot a server.
Assumes that cleanup is done elsewhere.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Optional additional arguments for server creation
List all servers.
This simple scenario tests the EC2 API list function by listing all the servers.
Namespace: openstack
Create and delete Fuel environments.
Namespace: openstack
Parameters:
Release id (default 1)
Network provider (default 'neutron')
Deployment mode (default 'ha_compact')
Net segment type (default 'vlan')
Retries count on delete operations (default 5)
Create and list Fuel environments.
Namespace: openstack
Parameters:
Release id (default 1)
Network provider (default 'neutron')
Deployment mode (default 'ha_compact')
Net segment type (default 'vlan')
Add node to environment and remove.
Namespace: openstack
Parameters:
List. roles, which node should be assigned to env with
Create and then delete an image.
Namespace: openstack
Parameters:
Container format of image. acceptable formats: ami, ari, aki, bare, and ovf
Image file location
Disk format of image. acceptable formats: ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, and iso
Optional parameters to create image
Create an image and then list all images.
Measure the "glance image-list" command performance.
If you have only 1 user in your context, you will add 1 image on every iteration. So you will have more and more images and will be able to measure the performance of the "glance image-list" command depending on the number of images owned by users.
Namespace: openstack
Parameters:
Container format of image. acceptable formats: ami, ari, aki, bare, and ovf
Image file location
Disk format of image. acceptable formats: ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, and iso
Optional parameters to create image
Create an image and boot several instances from it.
Namespace: openstack
Parameters:
Container format of image. acceptable formats: ami, ari, aki, bare, and ovf
Image file location
Disk format of image. acceptable formats: ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, and iso
Nova flavor to be used to launch an instance
Number of nova servers to boot
Optional parameters to create image
Optional parameters to boot server
Optional parameters to create server (deprecated)
List all images.
This simple scenario tests the glance image-list command by listing all the images.
Suppose if we have 2 users in context and each has 2 images uploaded for them we will be able to test the performance of glance image-list command in this case.
Namespace: openstack
Create and then delete a stack.
Measure the "heat stack-create" and "heat stack-delete" commands performance.
Namespace: openstack
Parameters:
Path to stack template file
Parameters to use in heat template
Files used in template
Stack environment definition
Create a stack and then list all stacks.
Measure the "heat stack-create" and "heat stack-list" commands performance.
Namespace: openstack
Parameters:
Path to stack template file
Parameters to use in heat template
Files used in template
Stack environment definition
Create, check and delete a stack.
Measure the performance of the following commands: - heat stack-create - heat action-check - heat stack-delete
Namespace: openstack
Parameters:
Path to stack template file
Parameters to use in heat template
Files used in template
Stack environment definition
Create, snapshot-restore and then delete a stack.
Measure performance of the following commands: heat stack-create heat stack-snapshot heat stack-restore heat stack-delete
Namespace: openstack
Parameters:
Path to stack template file
Parameters to use in heat template
Files used in template
Stack environment definition
Create stack and list outputs by using new algorithm.
Measure performance of the following commands: heat stack-create heat output-list
Namespace: openstack
Parameters:
Path to stack template file
Parameters to use in heat template
Files used in template
Stack environment definition
Create stack and list outputs by using old algorithm.
Measure performance of the following commands: heat stack-create heat output-list
Namespace: openstack
Parameters:
Path to stack template file
Parameters to use in heat template
Files used in template
Stack environment definition
Create an autoscaling stack and invoke a scaling policy.
Measure the performance of autoscaling webhooks.
Namespace: openstack
Parameters:
Path to template file that includes an os::heat::autoscalinggroup resource
The stack output key that corresponds to the scaling webhook
The number of instances the stack is expected to change by.
Parameters to use in heat template
Files used in template (dict of file name to file path)
Stack environment definition (dict)
Create stack and show output by using new algorithm.
Measure performance of the following commands: heat stack-create heat output-show
Namespace: openstack
Parameters:
Path to stack template file
The stack output key that corresponds to the scaling webhook
Parameters to use in heat template
Files used in template
Stack environment definition
Create stack and show output by using old algorithm.
Measure performance of the following commands: heat stack-create heat output-show
Namespace: openstack
Parameters:
Path to stack template file
The stack output key that corresponds to the scaling webhook
Parameters to use in heat template
Files used in template
Stack environment definition
Create, suspend-resume and then delete a stack.
Measure performance of the following commands: heat stack-create heat action-suspend heat action-resume heat stack-delete
Namespace: openstack
Parameters:
Path to stack template file
Parameters to use in heat template
Files used in template
Stack environment definition
Create, update and then delete a stack.
Measure the "heat stack-create", "heat stack-update" and "heat stack-delete" commands performance.
Namespace: openstack
Parameters:
Path to stack template file
Path to updated stack template file
Parameters to use in heat template
Parameters to use in updated heat template if not specified then parameters will be used instead
Files used in template
Files used in updated template. if not specified files value will be used instead
Stack environment definition
Environment definition for updated stack
List all resources from tenant stacks.
Namespace: openstack
Benchmark the list of requests
This scenario takes random url from list of requests, and raises exception if the response is not the expected response.
Namespace: default
Parameters:
List of request dicts
Expected Response Code it will be used only if we doesn't specified it in request proper
Module: rally.plugins.common.scenarios.requests.http_requests
Standard way to benchmark web services.
This benchmark is used to make request and check it with expected Response.
Namespace: default
Parameters:
Url for the request object
Method for the request object
Expected response code
Optional additional request parameters
Module: rally.plugins.common.scenarios.requests.http_requests
Create and delete node.
Namespace: openstack
Parameters:
Optional additional arguments for node creation
Create and list nodes.
Namespace: openstack
Parameters:
Optional. Either a Boolean or a string representation of a Boolean that indicates whether to return a list of associated (True or "True") or unassociated (False or "False") nodes.
Optional. Either a Boolean or a string representation of a Boolean that indicates whether to return nodes in maintenance mode (True or "True"), or not in maintenance mode (False or "False").
Optional, the UUID of a node, eg the last node from a previous result set. Return the next result set.
- The maximum number of results to return per
- request, if:
- limit > 0, the maximum number of nodes to return.
- limit == 0, return the entire list of nodes.
- limit param is NOT specified (None), the number of items returned respect the maximum imposed by the Ironic API (see Ironic's api.max_limit option).
Optional, boolean whether to return detailed information about nodes.
Optional, field used for sorting.
Optional, direction of sorting, either 'asc' (the default) or 'desc'.
Optional additional arguments for node creation
Create a user role add to a user and disassociate.
Namespace: openstack
Authenticate and validate a keystone token.
Namespace: openstack
Create user role, add it and list user roles for given user.
Namespace: openstack
Create and delete keystone ec2-credential.
Namespace: openstack
Create a user role and delete it.
Namespace: openstack
Create and delete service.
Namespace: openstack
Parameters:
Type of the service
Description of the service
Create a user role and get it detailed information.
Namespace: openstack
Parameters:
Optional additional arguments for roles creation
Create and List all keystone ec2-credentials.
Namespace: openstack
Create a role, then list all roles.
Namespace: openstack
Parameters:
Optional additional arguments for roles create
Optional additional arguments for roles list
Create and list services.
Namespace: openstack
Parameters:
Type of the service
Description of the service
Create a keystone tenant with random name and list all tenants.
Namespace: openstack
Parameters:
Other optional parameters
Create a keystone user with random name and list all users.
Namespace: openstack
Parameters:
Other optional parameters to create users like "tenant_id", "enabled".
Create user and update the user.
Namespace: openstack
Parameters:
Optional additional arguments for user creation
Optional additional arguments for user updation
Create a keystone user with random name and then delete it.
Namespace: openstack
Parameters:
Other optional parameters to create users like "tenant_id", "enabled".
Create a keystone tenant with random name.
Namespace: openstack
Parameters:
Other optional parameters
Create a keystone tenant and several users belonging to it.
Namespace: openstack
Parameters:
Number of users to create for the tenant
Other optional parameters for tenant creation
Returns: keystone tenant instance
Create, update and delete tenant.
Namespace: openstack
Parameters:
Other optional parameters for tenant creation
Create a keystone user with random name.
Namespace: openstack
Parameters:
Other optional parameters to create users like "tenant_id", "enabled".
Create a keystone user, enable or disable it, and delete it.
Namespace: openstack
Parameters:
Initial state of user 'enabled' flag. The user will be created with 'enabled' set to this value, and then it will be toggled.
Other optional parameters to create user.
Create user and update password for that user.
Namespace: openstack
Get instance of a tenant, user, role and service by id's.
An ephemeral tenant, user, and role are each created. By default, fetches the 'keystone' service. This can be overridden (for instance, to get the 'Identity Service' service on older OpenStack), or None can be passed explicitly to service_name to create a new service and then query it by ID.
Namespace: openstack
Parameters:
The name of the service to get by ID; or None, to create an ephemeral service and get it by ID.
List all cluster_templates.
Measure the "magnum cluster_template-list" command performance.
Namespace: openstack
Parameters:
- (optional) the maximum number of results to return
- per request, if:
- limit > 0, the maximum number of cluster_templates to return.
- limit param is not specified (none), the number of items returned respect the maximum imposed by the magnum api (see magnum's api.max_limit option).
Optional additional arguments for cluster_templates listing
Module: rally.plugins.openstack.scenarios.magnum.cluster_templates
create cluster and then list all clusters.
Namespace: openstack
Parameters:
The cluster node count.
Optional, if user want to use an existing cluster_template
Optional additional arguments for cluster creation
List all clusters.
Measure the "magnum clusters-list" command performance.
Namespace: openstack
Parameters:
- (optional) the maximum number of results to return
- per request, if:
- limit > 0, the maximum number of clusters to return.
- limit param is not specified (none), the number of items returned respect the maximum imposed by the magnum api (see magnum's api.max_limit option).
Optional additional arguments for clusters listing
Scenario tests execution creation and deletion.
This scenario is a very useful tool to measure the "mistral execution-create" and "mistral execution-delete" commands performance.
Namespace: openstack
Parameters:
String (yaml string) representation of given file content (mistral workbook definition)
String the workflow name to execute. should be one of the to workflows in the definition. if no
workflow_name is passed, one of the workflows in the definition will be taken.
File containing a json string of mistral workflow input
File containing a json string of mistral params (the string is the place to pass the environment)
If false than it allows to check performance in "create only" mode.
Module: rally.plugins.openstack.scenarios.mistral.executions
Scenario test mistral execution-list command.
This simple scenario tests the Mistral execution-list command by listing all the executions.
Namespace: openstack
Parameters:
The last execution uuid of the previous page, displays list of executions after "marker".
Number maximum number of executions to return in a single result.
Id,description
[sort_dirs] comma-separated list of sort directions. default: asc.
Module: rally.plugins.openstack.scenarios.mistral.executions
Scenario tests workbook creation and deletion.
This scenario is a very useful tool to measure the "mistral workbook-create" and "mistral workbook-delete" commands performance.
Namespace: openstack
Parameters:
String (yaml string) representation of given file content (mistral workbook definition)
If false than it allows to check performance in "create only" mode.
Scenario test mistral workbook-list command.
This simple scenario tests the Mistral workbook-list command by listing all the workbooks.
Namespace: openstack
Fetch user's metrics.
Namespace: openstack
Parameters:
Optional arguments for list query: name, dimensions, start_time, etc
Create environment, session and delete environment.
Namespace: openstack
Module: rally.plugins.openstack.scenarios.murano.environments
Create environment, session and deploy environment.
Create environment, create session, add app to environment packages_per_env times, send environment to deploy.
Namespace: openstack
Parameters:
Number of packages per environment
Module: rally.plugins.openstack.scenarios.murano.environments
List the murano environments.
Run murano environment-list for listing all environments.
Namespace: openstack
Module: rally.plugins.openstack.scenarios.murano.environments
Import Murano package and then delete it.
Measure the "murano import-package" and "murano package-delete" commands performance. It imports Murano package from "package" (if it is not a zip archive then zip archive will be prepared) and deletes it.
Namespace: default
Parameters:
Path to zip archive that represents murano application package or absolute path to folder with package components
Import Murano package and then filter packages by some criteria.
Measure the performance of package import and package filtering commands. It imports Murano package from "package" (if it is not a zip archive then zip archive will be prepared) and filters packages by some criteria.
Namespace: default
Parameters:
Path to zip archive that represents murano application package or absolute path to folder with package components
Dict that contains filter criteria, lately it will be passed as **kwargs to filter method e.g. {"category": "web"}
Import Murano package and get list of packages.
Measure the "murano import-package" and "murano package-list" commands performance. It imports Murano package from "package" (if it is not a zip archive then zip archive will be prepared) and gets list of imported packages.
Namespace: default
Parameters:
Path to zip archive that represents murano application package or absolute path to folder with package components
Specifies whether the disabled packages will be included in a the result or not. default value is false.
Import Murano package, modify it and then delete it.
Measure the Murano import, update and delete package commands performance. It imports Murano package from "package" (if it is not a zip archive then zip archive will be prepared), modifies it (using data from "body") and deletes.
Namespace: default
Parameters:
Path to zip archive that represents murano application package or absolute path to folder with package components
Dict object that defines what package property will be updated, e.g {"tags": ["tag"]} or {"enabled": "true"}
String object that defines the way of how package property will be updated, allowed operations are "add", "replace" or "delete". default value is "replace".
Create a healthmonitor(v1) and delete healthmonitors(v1).
Measure the "neutron lb-healthmonitor-create" and "neutron lb-healthmonitor-delete" command performance. The scenario creates healthmonitors and deletes those healthmonitors.
Namespace: openstack
Parameters:
Dict, post /lb/healthmonitors request options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create pools(v1) and delete pools(v1).
Measure the "neutron lb-pool-create" and "neutron lb-pool-delete" command performance. The scenario creates a pool for every subnet and then deletes those pools.
Namespace: openstack
Parameters:
Dict, post /lb/pools request options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create a vip(v1) and then delete vips(v1).
Measure the "neutron lb-vip-create" and "neutron lb-vip-delete" command performance. The scenario creates a vip for pool and then deletes those vips.
Namespace: openstack
Parameters:
Dict, post /lb/pools request options
Dict, post /lb/vips request options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create healthmonitors(v1) and list healthmonitors(v1).
Measure the "neutron lb-healthmonitor-list" command performance. This scenario creates healthmonitors and lists them.
Namespace: openstack
Parameters:
Dict, post /lb/healthmonitors request options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create a pool(v1) and then list pools(v1).
Measure the "neutron lb-pool-list" command performance. The scenario creates a pool for every subnet and then lists pools.
Namespace: openstack
Parameters:
Dict, post /lb/pools request options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create a vip(v1) and then list vips(v1).
Measure the "neutron lb-vip-create" and "neutron lb-vip-list" command performance. The scenario creates a vip for every pool created and then lists vips.
Namespace: openstack
Parameters:
Dict, post /lb/vips request options
Dict, post /lb/pools request options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create a healthmonitor(v1) and update healthmonitors(v1).
Measure the "neutron lb-healthmonitor-create" and "neutron lb-healthmonitor-update" command performance. The scenario creates healthmonitors and then updates them.
Namespace: openstack
Parameters:
Dict, post /lb/healthmonitors request options
Dict, post /lb/healthmonitors update options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create pools(v1) and update pools(v1).
Measure the "neutron lb-pool-create" and "neutron lb-pool-update" command performance. The scenario creates a pool for every subnet and then update those pools.
Namespace: openstack
Parameters:
Dict, post /lb/pools request options
Dict, post /lb/pools update options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create vips(v1) and update vips(v1).
Measure the "neutron lb-vip-create" and "neutron lb-vip-update" command performance. The scenario creates a pool for every subnet and then update those pools.
Namespace: openstack
Parameters:
Dict, post /lb/pools request options
Dict, post /lb/vips request options
Dict, post /lb/vips update options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
Create a loadbalancer(v2) and then list loadbalancers(v2).
Measure the "neutron lbaas-loadbalancer-list" command performance. The scenario creates a loadbalancer for every subnet and then lists loadbalancers.
Namespace: openstack
Parameters:
Dict, post /lbaas/loadbalancers request options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v2
Create and delete floating IPs.
Measure the "neutron floating-ip-create" and "neutron floating-ip-delete" commands performance.
Namespace: openstack
Parameters:
Str, external network for floating ip creation
Dict, post /floatingips request options
Create and delete a network.
Measure the "neutron net-create" and "net-delete" command performance.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options
Create and delete a port.
Measure the "neutron port-create" and "neutron port-delete" commands performance.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options. deprecated.
Dict, post /v2.0/ports request options
Int, number of ports for one network
Create and delete a given number of routers.
Create a network, a given number of subnets and routers and then delete all routers.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options. deprecated.
Dict, post /v2.0/subnets request options
Str, start value for subnets cidr
Int, number of subnets for one network
Dict, post /v2.0/routers request options
Create and delete a given number of subnets.
The scenario creates a network, a given number of subnets and then deletes subnets.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options. deprecated.
Dict, post /v2.0/subnets request options
Str, start value for subnets cidr
Int, number of subnets for one network
Create and list floating IPs.
Measure the "neutron floating-ip-create" and "neutron floating-ip-list" commands performance.
Namespace: openstack
Parameters:
Str, external network for floating ip creation
Dict, post /floatingips request options
Create a network and then list all networks.
Measure the "neutron net-list" command performance.
If you have only 1 user in your context, you will add 1 network on every iteration. So you will have more and more networks and will be able to measure the performance of the "neutron net-list" command depending on the number of networks owned by users.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options
Create and a given number of ports and list all ports.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options. deprecated.
Dict, post /v2.0/ports request options
Int, number of ports for one network
Create and a given number of routers and list all routers.
Create a network, a given number of subnets and routers and then list all routers.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options. deprecated.
Dict, post /v2.0/subnets request options
Str, start value for subnets cidr
Int, number of subnets for one network
Dict, post /v2.0/routers request options
Create and a given number of subnets and list all subnets.
The scenario creates a network, a given number of subnets and then lists subnets.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options. deprecated
Dict, post /v2.0/subnets request options
Str, start value for subnets cidr
Int, number of subnets for one network
Create a network and show network details.
Measure the "neutron net-show" command performance.
Namespace: openstack
Parameters:
Dict, post /v2.0/networks request options
Create and update a network.
Measure the "neutron net-create and net-update" command performance.
Namespace: openstack
Parameters:
Dict, put /v2.0/networks update request
Dict, post /v2.0/networks request options
Create and update a given number of ports.
Measure the "neutron port-create" and "neutron port-update" commands performance.
Namespace: openstack
Parameters:
Dict, put /v2.0/ports update request options
Dict, post /v2.0/networks request options. deprecated.
Dict, post /v2.0/ports request options
Int, number of ports for one network
Create and update a given number of routers.
Create a network, a given number of subnets and routers and then updating all routers.
Namespace: openstack
Parameters:
Dict, put /v2.0/routers update options
Dict, post /v2.0/networks request options. deprecated.
Dict, post /v2.0/subnets request options
Str, start value for subnets cidr
Int, number of subnets for one network
Dict, post /v2.0/routers request options
Create and update a subnet.
The scenario creates a network, a given number of subnets and then updates the subnet. This scenario measures the "neutron subnet-update" command performance.
Namespace: openstack
Parameters:
Dict, put /v2.0/subnets update options
Dict, post /v2.0/networks request options. deprecated.
Dict, post /v2.0/subnets request options
Str, start value for subnets cidr
Int, number of subnets for one network
List all neutron agents.
This simple scenario tests the "neutron agent-list" command by listing all the neutron agents.
Namespace: openstack
Parameters:
Dict, post /v2.0/agents request options
Create and delete Neutron security-groups.
Measure the "neutron security-group-create" and "neutron security-group-delete" command performance.
Namespace: openstack
Parameters:
Dict, post /v2.0/security-groups request options
Module: rally.plugins.openstack.scenarios.neutron.security_groups
Create and list Neutron security-groups.
Measure the "neutron security-group-create" and "neutron security-group-list" command performance.
Namespace: openstack
Parameters:
Dict, post /v2.0/security-groups request options
Module: rally.plugins.openstack.scenarios.neutron.security_groups
Create and update Neutron security-groups.
Measure the "neutron security-group-create" and "neutron security-group-update" command performance.
Namespace: openstack
Parameters:
Dict, post /v2.0/security-groups request options
Dict, put /v2.0/security-groups update options
Module: rally.plugins.openstack.scenarios.neutron.security_groups
List all builds.
Measure the "nova agent-list" command performance.
Namespace: openstack
Parameters:
List agent builds on a specific hypervisor. None (default value) means list for all hypervisors
Create an aggregate, add a host to and remove the host from it
Measure "nova aggregate-add-host" and "nova aggregate-remove-host" command performance.
Namespace: openstack
Parameters:
The availability zone of the aggregate
Scenario to create and verify an aggregate
This scenario creates an aggregate, adds a compute host and metadata to the aggregate, adds the same metadata to the flavor and creates an instance. Verifies that instance host is one of the hosts in the aggregate.
Namespace: openstack
Parameters:
The image ID to boot from
The metadata to be set as flavor extra specs
The availability zone of the aggregate
Memory in MB for the flavor
Number of VCPUs for the flavor
Size of local disk in GB
Optional additional arguments to verify host aggregates
Create an aggregate and then delete it.
This scenario first creates an aggregate and then delete it.
Namespace: openstack
Parameters:
The availability zone of the aggregate
Create an aggregate and then get its details.
This scenario first creates an aggregate and then get details of it.
Namespace: openstack
Parameters:
The availability zone of the aggregate
Create a aggregate and then list all aggregates.
This scenario creates a aggregate and then lists all aggregates.
Namespace: openstack
Parameters:
The availability zone of the aggregate
Create an aggregate and then update its name and availability_zone
This scenario first creates an aggregate and then update its name and availability_zone
Namespace: openstack
Parameters:
The availability zone of the aggregate
List all nova aggregates.
Measure the "nova aggregate-list" command performance.
Namespace: openstack
List all availability zones.
Measure the "nova availability-zone-list" command performance.
Namespace: openstack
Parameters:
True if the availability-zone listing should contain detailed information about all of them
Module: rally.plugins.openstack.scenarios.nova.availability_zones
Create flavor and delete the flavor.
Namespace: openstack
Parameters:
Memory in MB for the flavor
Number of VCPUs for the flavor
Size of local disk in GB
Optional additional arguments for flavor creation
Create flavor and get detailed information of the flavor.
Namespace: openstack
Parameters:
Memory in MB for the flavor
Number of VCPUs for the flavor
Size of local disk in GB
Optional additional arguments for flavor creation
Create a non-public flavor and list its access rules
Namespace: openstack
Parameters:
Memory in MB for the flavor
Number of VCPUs for the flavor
Size of local disk in GB
Optional additional arguments for flavor creation
Create a flavor.
Namespace: openstack
Parameters:
Memory in MB for the flavor
Number of VCPUs for the flavor
Size of local disk in GB
Optional additional arguments for flavor creation
Create a flavor and Add flavor access for the given tenant.
Namespace: openstack
Parameters:
Memory in MB for the flavor
Number of VCPUs for the flavor
Size of local disk in GB
Optional additional arguments for flavor creation
Create flavor and set keys to the flavor.
Measure the "nova flavor-key" command performance. the scenario first create a flavor,then add the extra specs to it.
Namespace: openstack
Parameters:
Memory in MB for the flavor
Number of VCPUs for the flavor
Size of local disk in GB
Additional arguments for flavor set keys
Optional additional arguments for flavor creation
List all flavors.
Measure the "nova flavor-list" command performance.
Namespace: openstack
Parameters:
True if the flavor listing should contain detailed information
Optional additional arguments for flavor listing
Create nova floating IP by range and delete it.
This scenario creates a floating IP by range and then delete it.
Namespace: openstack
Parameters:
Floating IP range
Optional additional arguments for range IP creation
Module: rally.plugins.openstack.scenarios.nova.floating_ips_bulk
Create nova floating IP by range and list it.
This scenario creates a floating IP by range and then lists all.
Namespace: openstack
Parameters:
Floating IP range
Optional additional arguments for range IP creation
Module: rally.plugins.openstack.scenarios.nova.floating_ips_bulk
List all nova hosts,and get detailed information fot this hosts.
Measure the "nova host-describe" command performance.
Namespace: openstack
Parameters:
List nova hosts in an availability-zone. None (default value) means list hosts in all availability-zones
List all nova hosts.
Measure the "nova host-list" command performance.
Namespace: openstack
Parameters:
List nova hosts in an availability-zone. None (default value) means list hosts in all availability-zones
List and Get hypervisors.
The scenario first lists all hypervisors, then get detailed information of the listed hypervisors in turn.
Measure the "nova hypervisor-show" command performance.
Namespace: openstack
Parameters:
True if the hypervisor listing should contain detailed information about all of them
List hypervisors,then display the uptime of it.
The scenario first list all hypervisors,then display the uptime of the listed hypervisors in turn.
Measure the "nova hypervisor-uptime" command performance.
Namespace: openstack
Parameters:
True if the hypervisor listing should contain detailed information about all of them
List all servers belonging to specific hypervisor.
The scenario first list all hypervisors,then find its hostname, then list all servers belonging to the hypervisor
Measure the "nova hypervisor-servers <hostname>" command performance.
Namespace: openstack
Parameters:
True if the hypervisor listing should contain detailed information about all of them
List hypervisors.
Measure the "nova hypervisor-list" command performance.
Namespace: openstack
Parameters:
True if the hypervisor listing should contain detailed information about all of them
Get hypervisor statistics over all compute nodes.
Measure the "nova hypervisor-stats" command performance.
Namespace: openstack
List all images.
Measure the "nova image-list" command performance.
Namespace: openstack
Parameters:
True if the image listing should contain detailed information
Optional additional arguments for image listing
Boot and delete server with keypair.
Namespace: openstack
Parameters:
ID of the image to be used for server creation
ID of the flavor to be used for server creation
Optional additional arguments for VM creation
Deprecated alias for boot_server_kwargs
Optional additional arguments for keypair creation
Create a keypair with random name and delete keypair.
This scenario creates a keypair and then delete that keypair.
Namespace: openstack
Parameters:
Optional additional arguments for keypair creation
Create a keypair and get the keypair details.
Namespace: openstack
Parameters:
Optional additional arguments for keypair creation
Create a keypair with random name and list keypairs.
This scenario creates a keypair and then lists all keypairs.
Namespace: openstack
Parameters:
Optional additional arguments for keypair creation
Create nova network and delete it.
Namespace: openstack
Parameters:
IP range
Optional additional arguments for network creation
Create nova network and list all networks.
Namespace: openstack
Parameters:
IP range
Optional additional arguments for network creation
Boot and delete server with security groups attached.
Namespace: openstack
Parameters:
ID of the image to be used for server creation
ID of the flavor to be used for server creation
Number of security groups
Number of rules per security group
Optional arguments for booting the instance
Module: rally.plugins.openstack.scenarios.nova.security_group
Boot a server and add a security group to it.
Namespace: openstack
Parameters:
ID of the image to be used for server creation
ID of the flavor to be used for server creation
Number of security groups
Number of rules per security group
Optional arguments for booting the instance
Module: rally.plugins.openstack.scenarios.nova.security_group
Create and delete security groups.
This scenario creates N security groups with M rules per group and then deletes them.
Namespace: openstack
Parameters:
Number of security groups
Number of rules per security group
Module: rally.plugins.openstack.scenarios.nova.security_group
Create and list security groups.
This scenario creates N security groups with M rules per group and then lists them.
Namespace: openstack
Parameters:
Number of security groups
Number of rules per security group
Module: rally.plugins.openstack.scenarios.nova.security_group
Create and update security groups.
This scenario creates 'security_group_count' security groups then updates their name and description.
Namespace: openstack
Parameters:
Number of security groups
Module: rally.plugins.openstack.scenarios.nova.security_group
Create a server group, then list all server groups.
Measure the "nova server-group-create" and "nova server-group-list" command performance.
Namespace: openstack
Parameters:
If True, display server groups from all projects(Admin only)
Server group name and policy
Module: rally.plugins.openstack.scenarios.nova.server_groups
Boot a server and associate a floating IP to it.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Optional additional arguments for server creation
Boot a server and run specified actions against it.
Actions should be passed into the actions parameter. Available actions are 'hard_reboot', 'soft_reboot', 'stop_start', 'rescue_unrescue', 'pause_unpause', 'suspend_resume', 'lock_unlock' and 'shelve_unshelve'. Delete server after all actions were completed.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
True if force_delete should be used
List of action dictionaries, where each action dictionary speicifes an action to be performed in the following format: {"action_name": <no_of_iterations>}
Optional additional arguments for server creation
Boot multiple servers in a single request and delete them.
Deletion is done in parallel with one request per server, not with a single request for all servers.
Namespace: openstack
Parameters:
The image to boot from
Flavor used to boot instance
Number of instances to boot
Minimum sleep time in seconds (non-negative)
Maximum sleep time in seconds (non-negative)
True if force_delete should be used
Optional additional arguments for instance creation
Boot and delete a server.
Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between volume creation and deletion (of random duration from [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Minimum sleep time in seconds (non-negative)
Maximum sleep time in seconds (non-negative)
True if force_delete should be used
Optional additional arguments for server creation
Get text console output from server.
This simple scenario tests the nova console-log command by retrieving the text console log output.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
The number of tail log lines you would like to retrieve. None (default value) or -1 means unlimited length.
Optional additional arguments for server creation
Returns: Text console log output for server
Boot a server from an image and then list all servers.
Measure the "nova list" command performance.
If you have only 1 user in your context, you will add 1 server on every iteration. So you will have more and more servers and will be able to measure the performance of the "nova list" command depending on the number of servers owned by users.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
True if the server listing should contain detailed information about all of them
Optional additional arguments for server creation
Live Migrate a server.
This scenario launches a VM on a compute node available in the availability zone and then migrates the VM to another compute node on the same availability zone.
Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between VM booting and running live migration (of random duration from range [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Specifies the migration type
Specifies whether to allow overcommit on migrated instance or not
Minimum sleep time in seconds (non-negative)
Maximum sleep time in seconds (non-negative)
Optional additional arguments for server creation
Migrate a server.
This scenario launches a VM on a compute node available in the availability zone, and then migrates the VM to another compute node on the same availability zone.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Optional additional arguments for server creation
Rebuild a server.
This scenario launches a VM, then rebuilds that VM with a different image.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Image to be used to rebuild the instance
Flavor to be used to boot an instance
Optional additional arguments for server creation
Show server details.
This simple scenario tests the nova show command by retrieving the server details.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Optional additional arguments for server creation
Returns: Server details
Boot a server, then update its name and description.
The scenario first creates a server, then update it. Assumes that cleanup is done elsewhere.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Update the server description
Optional additional arguments for server creation
Boot a server, lock it, then unlock and delete it.
Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between locking and unlocking the server (of random duration from min_sleep to max_sleep).
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Minimum sleep time between locking and unlocking in seconds
Maximum sleep time between locking and unlocking in seconds
True if force_delete should be used
Optional additional arguments for server creation
Boot a server.
Assumes that cleanup is done elsewhere.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
True if NICs should be assigned
Optional additional arguments for server creation
Boot a server associate and dissociate a floating IP from it.
The scenario first boot a server and create a floating IP. then associate the floating IP to the server.Finally dissociate the floating IP.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Optional additional arguments for server creation
Create a VM, attach a volume to it and live migrate.
Simple test to create a VM and attach a volume, then migrate the VM, detach the volume and delete volume/VM.
Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between attaching a volume and running live migration (of random duration from range [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
Glance image name to use for the VM
VM flavor name
Volume size (in gb)
Specifies the migration type
Specifies whether to allow overcommit on migrated instance or not
Optional arguments for vm creation
Optional arguments for volume creation
Minimum sleep time in seconds (non-negative)
Maximum sleep time in seconds (non-negative)
Create a VM from image, attach a volume to it and resize.
Simple test to create a VM and attach a volume, then resize the VM, detach the volume then delete volume and VM. Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between attaching a volume and running resize (of random duration from range [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
Glance image name to use for the VM
VM flavor name
Flavor to be used to resize the booted instance
Volume size (in gb)
Minimum sleep time in seconds (non-negative)
Maximum sleep time in seconds (non-negative)
True if force_delete should be used
True if need to confirm resize else revert resize
True if resources needs to be deleted explicitly else use rally cleanup to remove resources
Optional arguments for vm creation
Optional arguments for volume creation
Boot a server from volume.
The scenario first creates a volume and then a server. Assumes that cleanup is done elsewhere.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Volume size (in gb)
Specifies volume type when there are multiple backends
True if NICs should be assigned
Optional additional arguments for server creation
Boot a server from volume and then delete it.
The scenario first creates a volume and then a server. Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between volume creation and deletion (of random duration from [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Volume size (in gb)
Specifies volume type when there are multiple backends
Minimum sleep time in seconds (non-negative)
Maximum sleep time in seconds (non-negative)
True if force_delete should be used
Optional additional arguments for server creation
Boot a server from volume and then migrate it.
The scenario first creates a volume and a server booted from the volume on a compute node available in the availability zone and then migrates the VM to another compute node on the same availability zone.
Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between VM booting and running live migration (of random duration from range [min_sleep, max_sleep]).
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Volume size (in gb)
Specifies volume type when there are multiple backends
Specifies the migration type
Specifies whether to allow overcommit on migrated instance or not
True if force_delete should be used
Minimum sleep time in seconds (non-negative)
Maximum sleep time in seconds (non-negative)
Optional additional arguments for server creation
Boot a server from volume, then resize and delete it.
The scenario first creates a volume and then a server. Optional 'min_sleep' and 'max_sleep' parameters allow the scenario to simulate a pause between volume creation and deletion (of random duration from [min_sleep, max_sleep]).
This test will confirm the resize by default, or revert the resize if confirm is set to false.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Flavor to be used to resize the booted instance
Volume size (in gb)
Minimum sleep time in seconds (non-negative)
Maximum sleep time in seconds (non-negative)
True if force_delete should be used
True if need to confirm resize else revert resize
True if resources needs to be deleted explicitly else use rally cleanup to remove resources
Optional arguments for vm creation
Optional arguments for volume creation
Boot a server from a snapshot.
The scenario first creates a volume and creates a snapshot from this volume, then boots a server from the created snapshot. Assumes that cleanup is done elsewhere.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Volume size (in gb)
Specifies volume type when there are multiple backends
True if NICs should be assigned
Optional additional arguments for server creation
List all servers.
This simple scenario test the nova list command by listing all the servers.
Namespace: openstack
Parameters:
True if detailed information about servers should be listed
Create a server, pause, unpause and then delete it
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
True if force_delete should be used
Optional additional arguments for server creation
Boot a server, then resize and delete it.
This test will confirm the resize by default, or revert the resize if confirm is set to false.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Flavor to be used to resize the booted instance
True if force_delete should be used
Optional additional arguments for server creation
Boot a server and stop it, then resize and delete it.
This test will confirm the resize by default, or revert the resize if confirm is set to false.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
Flavor to be used to resize the booted instance
True if need to confirm resize else revert resize
True if force_delete should be used
Optional additional arguments for server creation
Create a server, shelve, unshelve and then delete it
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
True if force_delete should be used
Optional additional arguments for server creation
Boot a server, make its snapshot and delete both.
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
True if force_delete should be used
Optional additional arguments for server creation
Create a server, suspend, resume and then delete it
Namespace: openstack
Parameters:
Image to be used to boot an instance
Flavor to be used to boot an instance
True if force_delete should be used
Optional additional arguments for server creation
List all nova services.
Measure the "nova service-list" command performance.
Namespace: openstack
Parameters:
List nova services on host
List nova services matching given binary
Get quotas for Cinder.
Measure the "cinder quota-show" command performance
Namespace: openstack
Update quotas for Cinder.
Namespace: openstack
Parameters:
Max value to be updated for quota.
Update and Delete quotas for Cinder.
Namespace: openstack
Parameters:
Max value to be updated for quota.
Update quotas for neutron.
Namespace: openstack
Parameters:
Max value to be updated for quota.
Update quotas for Nova.
Namespace: openstack
Parameters:
Max value to be updated for quota.
Update and delete quotas for Nova.
Namespace: openstack
Parameters:
Max value to be updated for quota.
Launch and delete a Sahara Cluster.
This scenario launches a Hadoop cluster, waits until it becomes 'Active' and deletes it.
Namespace: openstack
Parameters:
Nova flavor that will be for nodes in the created node groups. Deprecated.
Nova flavor that will be used for the master instance of the cluster
Nova flavor that will be used for the workers of the cluster
Number of worker instances in a cluster
Name of a provisioning plugin
Version of hadoop distribution supported by the specified plugin.
Floating ip pool name from which floating ips will be allocated. sahara will determine automatically how to treat this depending on its own configurations. defaults to none because in some cases sahara may work w/o floating ips.
Number of cinder volumes that will be attached to every cluster node
Size of each cinder volume in gb
Boolean value. if set to true sahara will create a security group for each node group in the cluster automatically.
List of security groups that will be used while creating vms. if auto_security_group is set to true, this list can be left empty.
Config dict that will be passed to each node group
Config dict that will be passed to the cluster
If set to true the vms will be scheduled one per compute node.
Use Master Node of a Cluster as a Proxy node and do not assign floating ips to workers.
If True, instances of the node group will be automatically configured during cluster creation. If False, the configuration values should be specify manually
Launch, scale and delete a Sahara Cluster.
This scenario launches a Hadoop cluster, waits until it becomes 'Active'. Then a series of scale operations is applied. The scaling happens according to numbers listed in
Namespace: openstack
Parameters:
Nova flavor that will be for nodes in the created node groups. Deprecated.
Nova flavor that will be used for the master instance of the cluster
Nova flavor that will be used for the workers of the cluster
Number of worker instances in a cluster
Name of a provisioning plugin
Version of hadoop distribution supported by the specified plugin.
List of integers which will be used to add or remove worker nodes from the cluster
Floating ip pool name from which floating ips will be allocated. sahara will determine automatically how to treat this depending on its own configurations. defaults to none because in some cases sahara may work w/o floating ips.
Id of a neutron network that will be used for fixed ips. this parameter is ignored when nova network is set up.
Number of cinder volumes that will be attached to every cluster node
Size of each cinder volume in gb
Boolean value. if set to true sahara will create a security group for each node group in the cluster automatically.
List of security groups that will be used while creating vms. if auto_security_group is set to true this list can be left empty.
Configs dict that will be passed to each node group
Configs dict that will be passed to the cluster
If set to true the vms will be scheduled one per compute node.
Use Master Node of a Cluster as a Proxy node and do not assign floating ips to workers.
If True, instances of the node group will be automatically configured during cluster creation. If False, the configuration values should be specify manually
Create and execute a Sahara EDP Job.
This scenario Creates a Job entity and launches an execution on a Cluster.
Namespace: openstack
Parameters:
Type of the data processing job
Config dict that will be passed to a job execution
Index of a job in a sequence. this index will be used to create different atomic actions for each job in a sequence
Create and execute a sequence of the Sahara EDP Jobs.
This scenario Creates a Job entity and launches an execution on a Cluster for every job object provided.
Namespace: openstack
Parameters:
List of jobs that should be executed in one context
Create and execute Sahara EDP Jobs on a scaling Cluster.
This scenario Creates a Job entity and launches an execution on a Cluster for every job object provided. The Cluster is scaled according to the deltas values and the sequence is launched again.
Namespace: openstack
Parameters:
List of jobs that should be executed in one context
List of integers which will be used to add or remove worker nodes from the cluster
Create and list Sahara Node Group Templates.
This scenario creates two Node Group Templates with different set of node processes. The master Node Group Template contains Hadoop's management processes. The worker Node Group Template contains Hadoop's worker processes.
By default the templates are created for the vanilla Hadoop provisioning plugin using the version 1.2.1
After the templates are created the list operation is called.
Namespace: openstack
Parameters:
Nova flavor that will be for nodes in the created node groups
Name of a provisioning plugin
Version of hadoop distribution supported by the specified plugin.
If True, instances of the node group will be automatically configured during cluster creation. If False, the configuration values should be specify manually
Module: rally.plugins.openstack.scenarios.sahara.node_group_templates
Create and delete Sahara Node Group Templates.
This scenario creates and deletes two most common types of Node Group Templates.
By default the templates are created for the vanilla Hadoop provisioning plugin using the version 1.2.1
Namespace: openstack
Parameters:
Nova flavor that will be for nodes in the created node groups
Name of a provisioning plugin
Version of hadoop distribution supported by the specified plugin.
If True, instances of the node group will be automatically configured during cluster creation. If False, the configuration values should be specify manually
Module: rally.plugins.openstack.scenarios.sahara.node_group_templates
Create a cluster and then delete it.
Measure the "senlin cluster-create" and "senlin cluster-delete" commands performance.
Namespace: openstack
Parameters:
The capacity or initial number of nodes owned by the cluster
The minimum number of nodes owned by the cluster
The maximum number of nodes owned by the cluster. -1 means no limit
The timeout value in seconds for cluster creation
A set of key value pairs to associate with the cluster
Create container and objects then delete everything created.
Namespace: openstack
Parameters:
Int, number of objects to upload
Int, temporary local object size
Dict, optional parameters to create container
Create container and objects then download all objects.
Namespace: openstack
Parameters:
Int, number of objects to upload
Int, temporary local object size
Dict, optional parameters to create container
Create container and objects then list all objects.
Namespace: openstack
Parameters:
Int, number of objects to upload
Int, temporary local object size
Dict, optional parameters to create container
List and download objects in all containers.
Namespace: openstack
List objects in all containers.
Namespace: openstack
Boot a server, run script specified in command and delete server.
Namespace: openstack
Parameters:
Glance image name to use for the vm. optional in case of specified "image_command_customizer" context
VM flavor name
Ssh username on server, str
Password on SSH authentication
Command-specifying dictionary that either specifies remote command path via remote_path' (can be uploaded from a local file specified by `local_path), an inline script via `script_inline' or a local script file path using `script_file'. Both `script_file' and `local_path' are checked to be accessible by the `file_exists' validator code.
The `script_inline' and `script_file' both require an `interpreter' value to specify the interpreter script should be run with.
Note that any of `interpreter' and `remote_path' can be an array prefixed with environment variables and suffixed with args for the `interpreter' command. `remote_path's last component must be a path to a command to execute (also upload destination if a `local_path' is given). Uploading an interpreter is possible but requires that `remote_path' and `interpreter' path do match.
Examples:
# Run a `local_script.pl' file sending it to a remote # Perl interpreter command = { "script_file": "local_script.pl", "interpreter": "/usr/bin/perl" } # Run an inline script sending it to a remote interpreter command = { "script_inline": "echo 'Hello, World!'", "interpreter": "/bin/sh" } # Run a remote command command = { "remote_path": "/bin/false" } # Copy a local command and run it command = { "remote_path": "/usr/local/bin/fio", "local_path": "/home/foobar/myfiodir/bin/fio" } # Copy a local command and run it with environment variable command = { "remote_path": ["HOME=/root", "/usr/local/bin/fio"], "local_path": "/home/foobar/myfiodir/bin/fio" } # Run an inline script sending it to a remote interpreter command = { "script_inline": "echo "Hello, ${NAME:-World}"", "interpreter": ["NAME=Earth", "/bin/sh"] } # Run an inline script sending it to an uploaded remote # interpreter command = { "script_inline": "echo "Hello, ${NAME:-World}"", "interpreter": ["NAME=Earth", "/tmp/sh"], "remote_path": "/tmp/sh", "local_path": "/home/user/work/cve/sh-1.0/bin/sh" }
Volume args for booting server from volume
External network name, for floating ip
Ssh port for ssh connection
Bool, floating or fixed ip for ssh connection
Whether to use force_delete for servers
Whether to check connectivity on server creation
Extra arguments for booting the server
The number of tail nova console-log lines user would like to retrieve
Returns: dictionary with keys `data' and `errors': data: dict, JSON output from the script errors: str, raw data from the script's stderr stream
Boot a server from a custom image, run a command that outputs JSON.
Example Script in rally-jobs/extra/install_benchmark.sh
Namespace: openstack
Parameters:
Default parameter from scenario
Run workload on stack deployed by heat.
Workload can be either file or resource:
{"file": "/path/to/file.sh"} {"resource": ["package.module", "workload.py"]}Also it should contain "username" key.
Given file will be uploaded to gate_node and started. This script should print key value pairs separated by colon. These pairs will be presented in results.
Gate node should be accessible via ssh with keypair key_name, so heat template should accept parameter key_name.
Namespace: openstack
Parameters:
Workload to run
Path to heat template file
Additional template files
Parameters for heat template
Create and delete audit.
Create Audit, wait until whether Audit is in SUCCEEDED state or in FAILED and delete audit.
Namespace: openstack
Create audit template and delete it.
Namespace: openstack
Parameters:
The goal audit template is based on
The strategy used to provide resource optimization algorithm
List existing audit templates.
Audit templates are being created by Audit Template Context.
Namespace: openstack
Parameters:
Name of the audit template
Name of the goal
Name of the strategy
The maximum number of results to return per request, if:
- limit > 0, the maximum number of audit templates to return.
- limit == 0, return the entire list of audit_templates.
- limit param is NOT specified (None), the number of items returned respect the maximum imposed by the Watcher API
(see Watcher's api.max_limit option).
Optional, field used for sorting.
Optional, direction of sorting, either 'asc' (the default) or 'desc'.
Optional, boolean whether to return detailed information about audit_templates.
Create a Zaqar queue with a random name.
Namespace: openstack
Parameters:
Other optional parameters to create queues like "metadata"
Serial message producer/consumer.
Creates a Zaqar queue with random name, sends a set of messages and then retrieves an iterator containing those.
Namespace: openstack
Parameters:
Min number of messages to be posted
Max number of messages to be posted
Other optional parameters to create queues like "metadata"
Creates constant load executing a scenario a specified number of times.
This runner will place a constant load on the cloud under test by executing each scenario iteration without pausing between iterations up to the number of times specified in the scenario config.
The concurrency parameter of the scenario config controls the number of concurrent scenarios which execute during a single iteration in order to simulate the activities of multiple users placing load on the cloud under test.
Namespace: default
Creates constant load executing a scenario for an interval of time.
This runner will place a constant load on the cloud under test by executing each scenario iteration without pausing between iterations until a specified interval of time has elapsed.
The concurrency parameter of the scenario config controls the number of concurrent scenarios which execute during a single iteration in order to simulate the activities of multiple users placing load on the cloud under test.
Namespace: default
Scenario runner that does the job with specified frequency.
Every single benchmark scenario iteration is executed with specified frequency (runs per second) in a pool of processes. The scenario will be launched for a fixed number of times in total (specified in the config).
An example of a rps scenario is booting 1 VM per second. This execution type is thus very helpful in understanding the maximal load that a certain cloud can handle.
Namespace: default
Module: rally.plugins.common.runners.rps
Scenario runner that executes benchmark scenarios serially.
Unlike scenario runners that execute in parallel, the serial scenario runner executes scenarios one-by-one in the same python interpreter process as Rally. This allows you to benchmark your scenario without introducing any concurrent operations as well as interactively debug the scenario from the same command that you use to start Rally.
Namespace: default
Generates verification report in HTML format with embedded JS/CSS.
Namespace: default
Generates verification report in JUnit-XML format.
Namespace: default
Tempest verifier.
Description:
Quote from official documentation:
This is a set of integration tests to be run against a live OpenStack cluster. Tempest has batteries of tests for OpenStack API validation, Scenarios, and other specific tests useful in validating an OpenStack deployment.Rally supports features listed below:
- cloning Tempest: repository and version can be specified
- installation: system-wide with checking existence of required packages or in virtual environment
- configuration: options are discovered via OpenStack API, but you can override them if you need
- running: pre-creating all required resources(i.e images, tenants, etc), prepare arguments, launching Tempest, live-progress output
- results: all verifications are stored in db, you can built reports, compare verification at whatever you want time.
Appeared in Rally 0.8.0 (actually, it appeared long time ago with first revision of Verification Component, but 0.8.0 is mentioned since it is first release after Verification Component redesign)
Namespace: openstack
Module: rally.plugins.openstack.verification.tempest.manager