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
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 perfomance 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
Context class for generating temporary users/tenants for benchmarks.
Namespace: default
This context supports using existing users in Rally.
It uses information about deployment to properly initialize context["users"] and context["tenants"]
So there won't be big difference between usage of "users" and "existing_users" context.
Namespace: default
Module: rally.plugins.openstack.context.keystone.existing_users
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.*uec$"
},
"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.*uec$"
},
"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 for creating samples and collecting resources for benchmarks.
Namespace: default
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 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 bay model for benchmarks.
Namespace: default
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
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
Create networking resources.
This creates networks for all tenants, and optionally creates another resources like subnets and routers.
Namespace: default
Namespace: default
Module: rally.plugins.openstack.context.not_for_production.tempest
Context class for adding temporary servers for benchmarks.
Servers are added for each tenant.
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
Base class for the contexts providing customized image with.
Every context class for the specific customization must implement the method _customize_image that is able to connect to the server using SSH and e.g. install applications inside it.
This is used e.g. to install the benchmark application using SSH access.
This base context class provides a way to prepare an image with custom preinstalled applications. Basically, this code boots a VM, calls the _customize_image and then snapshots the VM disk, removing the VM afterwards. The image UUID is stored in the user["custom_image"]["id"] and can be used afterwards by scenario.
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
Context class for adding temporary audit template for benchmarks.
Namespace: default
Module: rally.plugins.openstack.context.watcher.audit_templates
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Benchmark scenarios for Ceilometer Events API.
Namespace: default
Benchmark scenarios for Ceilometer Events API.
Namespace: default
Benchmark scenarios for Ceilometer Events API.
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Benchmark scenarios for Ceilometer Queries API.
Namespace: default
Module: rally.plugins.openstack.scenarios.ceilometer.queries
Benchmark scenarios for Ceilometer Queries API.
Namespace: default
Module: rally.plugins.openstack.scenarios.ceilometer.queries
Benchmark scenarios for Ceilometer Queries API.
Namespace: default
Module: rally.plugins.openstack.scenarios.ceilometer.queries
Namespace: default
Module: rally.plugins.openstack.scenarios.ceilometer.resources
Namespace: default
Module: rally.plugins.openstack.scenarios.ceilometer.resources
Namespace: default
Module: rally.plugins.openstack.scenarios.ceilometer.resources
Namespace: default
Module: rally.plugins.openstack.scenarios.ceilometer.samples
Namespace: default
Module: rally.plugins.openstack.scenarios.ceilometer.samples
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Module: rally.plugins.openstack.scenarios.murano.environments
Namespace: default
Module: rally.plugins.openstack.scenarios.murano.environments
Namespace: default
Module: rally.plugins.openstack.scenarios.murano.environments
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Namespace: default
Dummy benchmarks for testing Rally benchmark engine at scale.
Namespace: default
Dummy benchmarks for testing Rally benchmark engine at scale.
Namespace: default
Dummy benchmarks for testing Rally benchmark engine.
Namespace: default
Dummy benchmarks for testing Rally benchmark engine.
Namespace: default
Dummy benchmarks for testing Rally benchmark engine at scale.
Namespace: default
Dummy benchmarks for testing Rally benchmark engine.
Namespace: default
Randomly throw exceptions in atomic actions.
Namespace: default
Dummy benchmarks for testing Rally benchmark engine.
Namespace: default
Dummy benchmarks for testing Rally benchmark engine.
Namespace: default
Benchmark scenarios for HTTP requests.
Namespace: default
Module: rally.plugins.common.scenarios.requests.http_requests
Benchmark scenarios for HTTP random requests.
Namespace: default
Module: rally.plugins.common.scenarios.requests.http_requests
Check Keystone Client.
Namespace: default
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
Module: rally.plugins.openstack.scenarios.authenticate.authenticate
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: default
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: default
Create and then delete a domain.
Measure the performance of creating and deleting domains with different level of load.
Namespace: default
Create and then update a domain.
Measure the performance of creating and updating domains with different level of load.
Namespace: default
Create and then delete records.
Measure the performance of creating and deleting records with different level of load.
Namespace: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Create and then delete a server.
Measure the performance of creating and deleting servers with different level of load.
Namespace: default
List Designate servers.
This simple scenario tests the designate server-list command by listing all the servers.
Namespace: default
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: default
List Designate zones.
This simple scenario tests the openstack zone list command by listing all the zones.
Namespace: default
Create and then delete a zone.
Measure the performance of creating and deleting zones with different level of load.
Namespace: default
List Designate recordsets.
This simple scenario tests the openstack recordset list command by listing all the recordsets in a zone.
Namespace: default
Parameters:
Create and then delete recordsets.
Measure the performance of creating and deleting recordsets with different level of load.
Namespace: default
Parameters:
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: default
Parameters:
List all servers.
This simple scenario tests the EC2 API list function by listing all the servers.
Namespace: default
Boot a server.
Assumes that cleanup is done elsewhere.
Namespace: default
Parameters:
Create and delete Fuel environments.
Namespace: default
Parameters:
Create and list Fuel environments
Namespace: default
Parameters:
Add node to environment and remove
Namespace: default
Parameters:
env with
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: default
Parameters:
formats: ami, ari, aki, bare, and ovf
image_location: image file location
ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, and iso
kwargs: optional parameters to create image
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: default
Create and then delete an image.
Namespace: default
Parameters:
formats: ami, ari, aki, bare, and ovf
image_location: image file location
ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, and iso
kwargs: optional parameters to create image
Create an image and boot several instances from it.
Namespace: default
Parameters:
formats: ami, ari, aki, bare, and ovf
image_location: image file location
ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, and iso
flavor: Nova flavor to be used to launch an instance
number_instances: number of Nova servers to boot
kwargs: optional parameters to create server
Create and list nodes.
Namespace: default
Parameters:
representation of a Boolean that indicates whether to return a list of associated (True or "True") or unassociated (False or "False") nodes.
representation of a Boolean that indicates whether to return nodes in maintenance mode (True or "True"), or not in maintenance mode (False or "False").
node from a previous result set. Return the next result set.
request, if:
information about nodes.
sort_key: Optional, field used for sorting.
default) or 'desc'.
kwargs: Optional additional arguments for node creation
Create and delete node.
Namespace: default
Parameters:
Create a keystone user with random name.
Namespace: default
Parameters:
"tenant_id", "enabled".
Create a keystone user with random name and then delete it.
Namespace: default
Parameters:
"tenant_id", "enabled".
Create a keystone user, enable or disable it, and delete it.
Namespace: default
Parameters:
will be created with 'enabled' set to this value, and then it will be toggled.
kwargs: Other optional parameters to create user.
Create a keystone tenant with random name.
Namespace: default
Parameters:
Create a keystone tenant and several users belonging to it.
Namespace: default
Parameters:
Returns: keystone tenant instance
Create a keystone user with random name and list all users.
Namespace: default
Parameters:
"tenant_id", "enabled".
Create a keystone tenant with random name and list all tenants.
Namespace: default
Parameters:
Create a user role add to a user and disassociate.
Namespace: default
Create a user role and delete it.
Namespace: default
Create user role, add it and list user roles for given user.
Namespace: default
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: default
Parameters:
None, to create an ephemeral service and get it by ID.
Create and delete service.
Namespace: default
Parameters:
Create, update and delete tenant.
Namespace: default
Parameters:
Create user and update password for that user.
Namespace: default
Create and list services.
Namespace: default
Parameters:
Create and List all keystone ec2-credentials.
Namespace: default
Create and delete keystone ec2-credential.
Namespace: default
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
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: default
Parameters:
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: default
Parameters:
options
options
Module: rally.plugins.openstack.scenarios.neutron.loadbalancer_v1
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: default
Parameters:
Create and update a network.
Measure the "neutron net-create and net-update" command performance.
Namespace: default
Parameters:
Create and delete a network.
Measure the "neutron net-create" and "net-delete" command performance.
Namespace: default
Parameters:
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: default
Parameters:
options. Deprecated
subnet_create_args: dict, POST /v2.0/subnets request options
subnet_cidr_start: str, start value for subnets CIDR
subnets_per_network: int, number of subnets for one network
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: default
Parameters:
subnet_update_args: dict, PUT /v2.0/subnets update options
options. Deprecated.
subnet_create_args: dict, POST /v2.0/subnets request options
subnet_cidr_start: str, start value for subnets CIDR
subnets_per_network: int, number of subnets for one network
Create and delete a given number of subnets.
The scenario creates a network, a given number of subnets and then deletes subnets.
Namespace: default
Parameters:
options. Deprecated.
subnet_create_args: dict, POST /v2.0/subnets request options
subnet_cidr_start: str, start value for subnets CIDR
subnets_per_network: int, number of subnets 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: default
Parameters:
options. Deprecated.
subnet_create_args: dict, POST /v2.0/subnets request options
subnet_cidr_start: str, start value for subnets CIDR
subnets_per_network: int, number of subnets for one network
router_create_args: dict, POST /v2.0/routers request options
Create and update a given number of routers.
Create a network, a given number of subnets and routers and then updating all routers.
Namespace: default
Parameters:
router_update_args: dict, PUT /v2.0/routers update options
options. Deprecated.
subnet_create_args: dict, POST /v2.0/subnets request options
subnet_cidr_start: str, start value for subnets CIDR
subnets_per_network: int, number of subnets for one network
router_create_args: dict, POST /v2.0/routers request options
Create and delete a given number of routers.
Create a network, a given number of subnets and routers and then delete all routers.
Namespace: default
Parameters:
options. Deprecated.
subnet_create_args: dict, POST /v2.0/subnets request options
subnet_cidr_start: str, start value for subnets CIDR
subnets_per_network: int, number of subnets for one network
router_create_args: dict, POST /v2.0/routers request options
Create and a given number of ports and list all ports.
Namespace: default
Parameters:
options. Deprecated.
port_create_args: dict, POST /v2.0/ports request options
ports_per_network: int, number of ports for one network
Create and update a given number of ports.
Measure the "neutron port-create" and "neutron port-update" commands performance.
Namespace: default
Parameters:
port_update_args: dict, PUT /v2.0/ports update request options
options. Deprecated.
port_create_args: dict, POST /v2.0/ports request options
ports_per_network: int, number of ports for one network
Create and delete a port.
Measure the "neutron port-create" and "neutron port-delete" commands performance.
Namespace: default
Parameters:
options. Deprecated.
port_create_args: dict, POST /v2.0/ports request options
ports_per_network: int, number of ports for one network
Create and list floating IPs.
Measure the "neutron floating-ip-create" and "neutron floating-ip-list" commands performance.
Namespace: default
Parameters:
Create and delete floating IPs.
Measure the "neutron floating-ip-create" and "neutron floating-ip-delete" commands performance.
Namespace: default
Parameters:
Create and list Neutron security-groups.
Measure the "neutron security-group-create" and "neutron security-group-list" command performance.
Namespace: default
Parameters:
request options
Module: rally.plugins.openstack.scenarios.neutron.security_groups
Create and delete Neutron security-groups.
Measure the "neutron security-group-create" and "neutron security-group-delete" command performance.
Namespace: default
Parameters:
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: default
Parameters:
request options
update options
Module: rally.plugins.openstack.scenarios.neutron.security_groups
List all builds.
Measure the "nova agent-list" command performance.
Namespace: default
Parameters:
None (default value) means list for all hypervisors
List all nova aggregates.
Measure the "nova aggregate-list" command performance.
Namespace: default
List all availability zones.
Measure the "nova availability-zone-list" command performance.
Namespace: default
Parameters:
detailed information about all of them
Module: rally.plugins.openstack.scenarios.nova.availability_zones
List all flavors.
Measure the "nova flavor-list" command performance.
Namespace: default
Parameters:
should contain detailed information
kwargs: Optional additional arguments for flavor listing
Create a non-public flavor and list its access rules
Namespace: default
Parameters:
Create a flavor.
Namespace: default
Parameters:
Create nova floating IP by range and list it.
This scenario creates a floating IP by range and then lists all.
Namespace: default
Parameters:
Module: rally.plugins.openstack.scenarios.nova.floating_ips_bulk
Create nova floating IP by range and delete it.
This scenario creates a floating IP by range and then delete it.
Namespace: default
Parameters:
Module: rally.plugins.openstack.scenarios.nova.floating_ips_bulk
List all nova hosts.
Measure the "nova host-list" command performance.
Namespace: default
Parameters:
None (default value) means list hosts in all availability-zones
List hypervisors.
Measure the "nova hypervisor-list" command performance.
Namespace: default
Parameters:
detailed information about all of them
List all images.
Measure the "nova image-list" command performance.
Namespace: default
Parameters:
should contain detailed information
kwargs: Optional additional arguments for image listing
Create a keypair with random name and list keypairs.
This scenario creates a keypair and then lists all keypairs.
Namespace: default
Parameters:
Create a keypair with random name and delete keypair.
This scenario creates a keypair and then delete that keypair.
Namespace: default
Parameters:
Boot and delete server with keypair.
Namespace: default
Parameters:
image: ID of the image to be used for server creation
flavor: ID of the flavor to be used for server creation
creation
server_kwargs: Deprecated alias for boot_server_kwargs
kwargs: Optional additional arguments for keypair creation
Create nova network and list all networks.
Namespace: default
Parameters:
Create nova network and delete it.
Namespace: default
Parameters:
Create and delete security groups.
This scenario creates N security groups with M rules per group and then deletes them.
Namespace: default
Parameters:
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: default
Parameters:
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: default
Parameters:
Module: rally.plugins.openstack.scenarios.nova.security_group
Boot and delete server with security groups attached.
Namespace: default
Parameters:
Module: rally.plugins.openstack.scenarios.nova.security_group
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: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
detailed information about all of them
kwargs: Optional additional arguments for server creation
List all servers.
This simple scenario test the nova list command by listing all the servers.
Namespace: default
Parameters:
should be listed
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: default
Parameters:
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: default
Parameters:
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: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
volume_size: volume size (in GB)
multiple backends
min_sleep: Minimum sleep time in seconds (non-negative)
max_sleep: Maximum sleep time in seconds (non-negative)
force_delete: True if force_delete should be used
kwargs: 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: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
force_delete: True if force_delete should be used
dictionary speicifes an action to be performed in the following format: {"action_name": <no_of_iterations>}
kwargs: 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: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
in seconds
in seconds
force_delete: True if force_delete should be used
kwargs: Optional additional arguments for server creation
Boot a server, make its snapshot and delete both.
Namespace: default
Parameters:
Boot a server.
Assumes that cleanup is done elsewhere.
Namespace: default
Parameters:
Boot a server from volume.
The scenario first creates a volume and then a server. Assumes that cleanup is done elsewhere.
Namespace: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
volume_size: volume size (in GB)
multiple backends
auto_assign_nic: True if NICs should be assigned
kwargs: 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: default
Parameters:
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: default
Parameters:
image: Glance image name to use for the VM
flavor: VM flavor name
to_flavor: flavor to be used to resize the booted instance
volume_size: volume size (in GB)
min_sleep: Minimum sleep time in seconds (non-negative)
max_sleep: Maximum sleep time in seconds (non-negative)
force_delete: True if force_delete should be used
confirm: True if need to confirm resize else revert resize
else use rally cleanup to remove resources
boot_server_kwargs: optional arguments for VM creation
create_volume_kwargs: optional arguments for volume 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: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
to_flavor: flavor to be used to resize the booted instance
volume_size: volume size (in GB)
min_sleep: Minimum sleep time in seconds (non-negative)
max_sleep: Maximum sleep time in seconds (non-negative)
force_delete: True if force_delete should be used
confirm: True if need to confirm resize else revert resize
else use rally cleanup to remove resources
boot_server_kwargs: optional arguments for VM creation
create_volume_kwargs: optional arguments for volume creation
Create a server, suspend, resume and then delete it
Namespace: default
Parameters:
Create a server, pause, unpause and then delete it
Namespace: default
Parameters:
Create a server, shelve, unshelve and then delete it
Namespace: default
Parameters:
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: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
block_migration: Specifies the migration type
on migrated instance or not
min_sleep: Minimum sleep time in seconds (non-negative)
max_sleep: Maximum sleep time in seconds (non-negative)
kwargs: 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: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
volume_size: volume size (in GB)
multiple backends
block_migration: Specifies the migration type
on migrated instance or not
force_delete: True if force_delete should be used
min_sleep: Minimum sleep time in seconds (non-negative)
max_sleep: Maximum sleep time in seconds (non-negative)
kwargs: 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: default
Parameters:
image: Glance image name to use for the VM
flavor: VM flavor name
size: volume size (in GB)
block_migration: Specifies the migration type
on migrated instance or not
boot_server_kwargs: optional arguments for VM creation
create_volume_kwargs: optional arguments for volume creation
min_sleep: Minimum sleep time in seconds (non-negative)
max_sleep: Maximum sleep time in seconds (non-negative)
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: default
Parameters:
Rebuild a server.
This scenario launches a VM, then rebuilds that VM with a different image.
Namespace: default
Parameters:
Boot a server and associate a floating IP to it.
Namespace: default
Parameters:
Show server details.
This simple scenario tests the nova show command by retrieving the server details.
Namespace: default
Parameters:
Returns: Server details
Get text console output from server.
This simple scenario tests the nova console-log command by retrieving the text console log output.
Namespace: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
None (default value) or -1 means unlimited length.
kwargs: Optional additional arguments for server creation
Returns: Text console log output for server
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: default
Parameters:
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: default
Parameters:
image: image to be used to boot an instance
flavor: flavor to be used to boot an instance
volume_size: volume size (in GB)
multiple backends
auto_assign_nic: True if NICs should be assigned
kwargs: Optional additional arguments for server creation
List all nova services.
Measure the "nova service-list" command performance.
Namespace: default
Parameters:
Launch and delete a Sahara Cluster.
This scenario launches a Hadoop cluster, waits until it becomes 'Active' and deletes it.
Namespace: default
Parameters:
created node groups. Deprecated.
instance of the cluster
the cluster
workers_count: number of worker instances in a cluster
plugin_name: name of a provisioning plugin
the specified plugin.
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.
attached to every cluster node
volumes_size: size of each Cinder volume in GB
create a Security Group for each Node Group in the Cluster automatically.
while creating VMs. If auto_security_group is set to True, this list can be left empty.
Group
Cluster
one per compute node.
do not assign floating ips to workers.
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: default
Parameters:
created node groups. Deprecated.
instance of the cluster
the cluster
workers_count: number of worker instances in a cluster
plugin_name: name of a provisioning plugin
the specified plugin.
remove worker nodes from the cluster
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.
for fixed IPs. This parameter is ignored when Nova Network is set up.
attached to every cluster node
volumes_size: size of each Cinder volume in GB
create a Security Group for each Node Group in the Cluster automatically.
while creating VMs. If auto_security_group is set to True this list can be left empty.
Group
Cluster
one per compute node.
do not assign floating ips to workers.
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: default
Parameters:
job_type: type of the Data Processing Job
configs: config dict that will be passed to a Job Execution
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: default
Parameters:
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: default
Parameters:
jobs: list of jobs that should be executed in one context
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: default
Parameters:
created node groups
plugin_name: name of a provisioning plugin
the specified plugin.
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: default
Parameters:
created node groups
plugin_name: name of a provisioning plugin
the specified plugin.
automatically configured during cluster creation. If False, the configuration values should be specify manually
Module: rally.plugins.openstack.scenarios.sahara.node_group_templates
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
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 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
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
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
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
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 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