From 77b5110ff61cf827aa46990af4524d4b05d7be41 Mon Sep 17 00:00:00 2001 From: Shahifali Agrawal Date: Wed, 14 Jan 2015 23:49:21 -0800 Subject: [PATCH] Moving rally/doc/samples to rally/samples Moving samples to root forlder for easy access. Change-Id: I050c8d7580282b898be77156f65cdbce75a4dbb4 Closes-Bug: 1409836 --- samples/README.rst | 14 +++++ samples/deployments/README.rst | 58 +++++++++++++++++ samples/deployments/existing-keystone-v3.json | 13 ++++ .../existing-with-given-endpoint.json | 12 ++++ samples/deployments/existing.json | 11 ++++ samples/tasks/README.rst | 49 +++++++++++++++ samples/tasks/contexts/README.rst | 5 ++ samples/tasks/runners/README.rst | 9 +++ samples/tasks/runners/rps/rps.json | 21 +++++++ samples/tasks/runners/rps/rps.yaml | 14 +++++ samples/tasks/runners/serial/serial.json | 19 ++++++ samples/tasks/runners/serial/serial.yaml | 12 ++++ samples/tasks/scenarios/README.rst | 11 ++++ .../scenarios/authenticate/keystone.json | 17 +++++ .../scenarios/authenticate/keystone.yaml | 11 ++++ .../scenarios/ceilometer/create-alarm.json | 26 ++++++++ .../scenarios/ceilometer/create-alarm.yaml | 19 ++++++ .../ceilometer/create-and-delete-alarm.json | 26 ++++++++ .../ceilometer/create-and-delete-alarm.yaml | 19 ++++++ .../ceilometer/create-and-list-alarm.json | 26 ++++++++ .../ceilometer/create-and-list-alarm.yaml | 19 ++++++ .../create-and-query-alarm-history.json | 28 +++++++++ .../create-and-query-alarm-history.yaml | 21 +++++++ .../ceilometer/create-and-query-alarms.json | 29 +++++++++ .../ceilometer/create-and-query-alarms.yaml | 22 +++++++ .../ceilometer/create-and-query-samples.json | 27 ++++++++ .../ceilometer/create-and-query-samples.yaml | 20 ++++++ .../ceilometer/create-and-update-alarm.json | 26 ++++++++ .../ceilometer/create-and-update-alarm.yaml | 19 ++++++ .../create-meter-and-get-stats.json | 25 ++++++++ .../create-meter-and-get-stats.yaml | 17 +++++ .../scenarios/ceilometer/list-alarms.json | 18 ++++++ .../scenarios/ceilometer/list-alarms.yaml | 11 ++++ .../scenarios/ceilometer/list-meters.json | 19 ++++++ .../scenarios/ceilometer/list-meters.yaml | 11 ++++ .../scenarios/ceilometer/list-resources.json | 18 ++++++ .../scenarios/ceilometer/list-resources.yaml | 12 ++++ .../cinder/create-and-attach-volume.json | 26 ++++++++ .../cinder/create-and-attach-volume.yaml | 17 +++++ .../cinder/create-and-delete-snapshot.json | 23 +++++++ .../cinder/create-and-delete-snapshot.yaml | 15 +++++ .../cinder/create-and-delete-volume.json | 20 ++++++ .../cinder/create-and-delete-volume.yaml | 13 ++++ .../cinder/create-and-list-volume.json | 21 +++++++ .../cinder/create-and-list-volume.yaml | 14 +++++ .../create-snapshot-and-attach-volume.json | 63 +++++++++++++++++++ .../create-snapshot-and-attach-volume.yaml | 43 +++++++++++++ .../tasks/scenarios/cinder/create-volume.json | 20 ++++++ .../tasks/scenarios/cinder/create-volume.yaml | 13 ++++ .../tasks/scenarios/cinder/list-volumes.json | 24 +++++++ .../tasks/scenarios/cinder/list-volumes.yaml | 16 +++++ .../designate/create-and-delete-domain.json | 25 ++++++++ .../designate/create-and-delete-domain.yaml | 17 +++++ .../designate/create-and-delete-records.json | 28 +++++++++ .../designate/create-and-delete-records.yaml | 19 ++++++ .../designate/create-and-list-domain.json | 25 ++++++++ .../designate/create-and-list-domain.yaml | 17 +++++ .../designate/create-and-list-records.json | 28 +++++++++ .../designate/create-and-list-records.yaml | 19 ++++++ .../scenarios/designate/list-domains.json | 17 +++++ .../scenarios/designate/list-domains.yaml | 11 ++++ .../scenarios/designate/list-records.json | 20 ++++++ .../scenarios/designate/list-records.yaml | 13 ++++ samples/tasks/scenarios/dummy/dummy.json | 20 ++++++ samples/tasks/scenarios/dummy/dummy.yaml | 13 ++++ .../glance/create-and-delete-image.json | 22 +++++++ .../glance/create-and-delete-image.yaml | 15 +++++ .../glance/create-and-list-image.json | 22 +++++++ .../glance/create-and-list-image.yaml | 15 +++++ .../create-image-and-boot-instances.json | 26 ++++++++ .../create-image-and-boot-instances.yaml | 18 ++++++ .../heat/create-and-delete-stack.json | 17 +++++ .../heat/create-and-delete-stack.yaml | 11 ++++ .../scenarios/heat/create-and-list-stack.json | 17 +++++ .../scenarios/heat/create-and-list-stack.yaml | 11 ++++ .../keystone/create-and-delete-user.json | 14 +++++ .../keystone/create-and-delete-user.yaml | 9 +++ .../keystone/create-and-list-tenants.json | 14 +++++ .../keystone/create-and-list-tenants.yaml | 9 +++ .../keystone/create-and-list-users.json | 14 +++++ .../keystone/create-and-list-users.yaml | 9 +++ .../keystone/create-tenant-with-users.json | 15 +++++ .../keystone/create-tenant-with-users.yaml | 10 +++ .../scenarios/keystone/create-tenant.json | 14 +++++ .../scenarios/keystone/create-tenant.yaml | 9 +++ .../tasks/scenarios/keystone/create-user.json | 14 +++++ .../tasks/scenarios/keystone/create-user.yaml | 9 +++ .../tasks/scenarios/nova/boot-and-delete.json | 26 ++++++++ .../tasks/scenarios/nova/boot-and-delete.yaml | 17 +++++ .../tasks/scenarios/nova/boot-and-list.json | 27 ++++++++ .../tasks/scenarios/nova/boot-and-list.yaml | 18 ++++++ .../scenarios/nova/boot-and-live-migrate.json | 26 ++++++++ .../scenarios/nova/boot-and-live-migrate.yaml | 16 +++++ .../scenarios/nova/boot-bounce-delete.json | 32 ++++++++++ .../scenarios/nova/boot-bounce-delete.yaml | 26 ++++++++ .../nova/boot-from-volume-and-delete.json | 27 ++++++++ .../nova/boot-from-volume-and-delete.yaml | 18 ++++++ .../scenarios/nova/boot-from-volume.json | 26 ++++++++ .../scenarios/nova/boot-from-volume.yaml | 17 +++++ .../nova/boot-snapshot-boot-delete.json | 26 ++++++++ .../nova/boot-snapshot-boot-delete.yaml | 17 +++++ samples/tasks/scenarios/nova/boot.json | 25 ++++++++ samples/tasks/scenarios/nova/boot.yaml | 16 +++++ .../tasks/scenarios/nova/list-servers.json | 29 +++++++++ .../tasks/scenarios/nova/list-servers.yaml | 19 ++++++ .../tasks/scenarios/nova/resize-server.json | 31 +++++++++ .../tasks/scenarios/nova/resize-server.yaml | 20 ++++++ .../quotas/cinder-update-and-delete.json | 20 ++++++ .../quotas/cinder-update-and-delete.yaml | 13 ++++ .../tasks/scenarios/quotas/cinder-update.json | 20 ++++++ .../tasks/scenarios/quotas/cinder-update.yaml | 13 ++++ .../quotas/nova-update-and-delete.json | 20 ++++++ .../quotas/nova-update-and-delete.yaml | 13 ++++ .../tasks/scenarios/quotas/nova-update.json | 20 ++++++ .../tasks/scenarios/quotas/nova-update.yaml | 13 ++++ .../vm/boot-runcommand-delete-with-disk.json | 35 +++++++++++ .../vm/boot-runcommand-delete-with-disk.yaml | 25 ++++++++ .../scenarios/vm/boot-runcommand-delete.json | 32 ++++++++++ .../scenarios/vm/boot-runcommand-delete.yaml | 23 +++++++ .../tasks/scenarios/zaqar/create-queue.json | 14 +++++ .../tasks/scenarios/zaqar/create-queue.yaml | 9 +++ samples/tasks/sla/README.rst | 21 +++++++ samples/tasks/sla/create-and-delete-user.json | 18 ++++++ samples/tasks/sla/create-and-delete-user.yaml | 12 ++++ samples/tasks/support/README.rst | 11 ++++ samples/tasks/support/instance_linpack.sh | 25 ++++++++ tests/unit/doc/test_task_samples.py | 2 +- 127 files changed, 2465 insertions(+), 1 deletion(-) create mode 100644 samples/README.rst create mode 100644 samples/deployments/README.rst create mode 100644 samples/deployments/existing-keystone-v3.json create mode 100644 samples/deployments/existing-with-given-endpoint.json create mode 100644 samples/deployments/existing.json create mode 100644 samples/tasks/README.rst create mode 100644 samples/tasks/contexts/README.rst create mode 100644 samples/tasks/runners/README.rst create mode 100644 samples/tasks/runners/rps/rps.json create mode 100644 samples/tasks/runners/rps/rps.yaml create mode 100644 samples/tasks/runners/serial/serial.json create mode 100644 samples/tasks/runners/serial/serial.yaml create mode 100644 samples/tasks/scenarios/README.rst create mode 100644 samples/tasks/scenarios/authenticate/keystone.json create mode 100644 samples/tasks/scenarios/authenticate/keystone.yaml create mode 100644 samples/tasks/scenarios/ceilometer/create-alarm.json create mode 100644 samples/tasks/scenarios/ceilometer/create-alarm.yaml create mode 100644 samples/tasks/scenarios/ceilometer/create-and-delete-alarm.json create mode 100644 samples/tasks/scenarios/ceilometer/create-and-delete-alarm.yaml create mode 100644 samples/tasks/scenarios/ceilometer/create-and-list-alarm.json create mode 100644 samples/tasks/scenarios/ceilometer/create-and-list-alarm.yaml create mode 100644 samples/tasks/scenarios/ceilometer/create-and-query-alarm-history.json create mode 100644 samples/tasks/scenarios/ceilometer/create-and-query-alarm-history.yaml create mode 100644 samples/tasks/scenarios/ceilometer/create-and-query-alarms.json create mode 100644 samples/tasks/scenarios/ceilometer/create-and-query-alarms.yaml create mode 100644 samples/tasks/scenarios/ceilometer/create-and-query-samples.json create mode 100644 samples/tasks/scenarios/ceilometer/create-and-query-samples.yaml create mode 100644 samples/tasks/scenarios/ceilometer/create-and-update-alarm.json create mode 100644 samples/tasks/scenarios/ceilometer/create-and-update-alarm.yaml create mode 100644 samples/tasks/scenarios/ceilometer/create-meter-and-get-stats.json create mode 100644 samples/tasks/scenarios/ceilometer/create-meter-and-get-stats.yaml create mode 100644 samples/tasks/scenarios/ceilometer/list-alarms.json create mode 100644 samples/tasks/scenarios/ceilometer/list-alarms.yaml create mode 100644 samples/tasks/scenarios/ceilometer/list-meters.json create mode 100644 samples/tasks/scenarios/ceilometer/list-meters.yaml create mode 100644 samples/tasks/scenarios/ceilometer/list-resources.json create mode 100644 samples/tasks/scenarios/ceilometer/list-resources.yaml create mode 100644 samples/tasks/scenarios/cinder/create-and-attach-volume.json create mode 100644 samples/tasks/scenarios/cinder/create-and-attach-volume.yaml create mode 100644 samples/tasks/scenarios/cinder/create-and-delete-snapshot.json create mode 100644 samples/tasks/scenarios/cinder/create-and-delete-snapshot.yaml create mode 100644 samples/tasks/scenarios/cinder/create-and-delete-volume.json create mode 100644 samples/tasks/scenarios/cinder/create-and-delete-volume.yaml create mode 100644 samples/tasks/scenarios/cinder/create-and-list-volume.json create mode 100644 samples/tasks/scenarios/cinder/create-and-list-volume.yaml create mode 100644 samples/tasks/scenarios/cinder/create-snapshot-and-attach-volume.json create mode 100644 samples/tasks/scenarios/cinder/create-snapshot-and-attach-volume.yaml create mode 100644 samples/tasks/scenarios/cinder/create-volume.json create mode 100644 samples/tasks/scenarios/cinder/create-volume.yaml create mode 100644 samples/tasks/scenarios/cinder/list-volumes.json create mode 100644 samples/tasks/scenarios/cinder/list-volumes.yaml create mode 100644 samples/tasks/scenarios/designate/create-and-delete-domain.json create mode 100644 samples/tasks/scenarios/designate/create-and-delete-domain.yaml create mode 100644 samples/tasks/scenarios/designate/create-and-delete-records.json create mode 100644 samples/tasks/scenarios/designate/create-and-delete-records.yaml create mode 100644 samples/tasks/scenarios/designate/create-and-list-domain.json create mode 100644 samples/tasks/scenarios/designate/create-and-list-domain.yaml create mode 100644 samples/tasks/scenarios/designate/create-and-list-records.json create mode 100644 samples/tasks/scenarios/designate/create-and-list-records.yaml create mode 100644 samples/tasks/scenarios/designate/list-domains.json create mode 100644 samples/tasks/scenarios/designate/list-domains.yaml create mode 100644 samples/tasks/scenarios/designate/list-records.json create mode 100644 samples/tasks/scenarios/designate/list-records.yaml create mode 100644 samples/tasks/scenarios/dummy/dummy.json create mode 100644 samples/tasks/scenarios/dummy/dummy.yaml create mode 100644 samples/tasks/scenarios/glance/create-and-delete-image.json create mode 100644 samples/tasks/scenarios/glance/create-and-delete-image.yaml create mode 100644 samples/tasks/scenarios/glance/create-and-list-image.json create mode 100644 samples/tasks/scenarios/glance/create-and-list-image.yaml create mode 100644 samples/tasks/scenarios/glance/create-image-and-boot-instances.json create mode 100644 samples/tasks/scenarios/glance/create-image-and-boot-instances.yaml create mode 100644 samples/tasks/scenarios/heat/create-and-delete-stack.json create mode 100644 samples/tasks/scenarios/heat/create-and-delete-stack.yaml create mode 100644 samples/tasks/scenarios/heat/create-and-list-stack.json create mode 100644 samples/tasks/scenarios/heat/create-and-list-stack.yaml create mode 100644 samples/tasks/scenarios/keystone/create-and-delete-user.json create mode 100644 samples/tasks/scenarios/keystone/create-and-delete-user.yaml create mode 100644 samples/tasks/scenarios/keystone/create-and-list-tenants.json create mode 100644 samples/tasks/scenarios/keystone/create-and-list-tenants.yaml create mode 100644 samples/tasks/scenarios/keystone/create-and-list-users.json create mode 100644 samples/tasks/scenarios/keystone/create-and-list-users.yaml create mode 100644 samples/tasks/scenarios/keystone/create-tenant-with-users.json create mode 100644 samples/tasks/scenarios/keystone/create-tenant-with-users.yaml create mode 100644 samples/tasks/scenarios/keystone/create-tenant.json create mode 100644 samples/tasks/scenarios/keystone/create-tenant.yaml create mode 100644 samples/tasks/scenarios/keystone/create-user.json create mode 100644 samples/tasks/scenarios/keystone/create-user.yaml create mode 100644 samples/tasks/scenarios/nova/boot-and-delete.json create mode 100644 samples/tasks/scenarios/nova/boot-and-delete.yaml create mode 100644 samples/tasks/scenarios/nova/boot-and-list.json create mode 100644 samples/tasks/scenarios/nova/boot-and-list.yaml create mode 100644 samples/tasks/scenarios/nova/boot-and-live-migrate.json create mode 100644 samples/tasks/scenarios/nova/boot-and-live-migrate.yaml create mode 100644 samples/tasks/scenarios/nova/boot-bounce-delete.json create mode 100644 samples/tasks/scenarios/nova/boot-bounce-delete.yaml create mode 100644 samples/tasks/scenarios/nova/boot-from-volume-and-delete.json create mode 100644 samples/tasks/scenarios/nova/boot-from-volume-and-delete.yaml create mode 100644 samples/tasks/scenarios/nova/boot-from-volume.json create mode 100644 samples/tasks/scenarios/nova/boot-from-volume.yaml create mode 100644 samples/tasks/scenarios/nova/boot-snapshot-boot-delete.json create mode 100644 samples/tasks/scenarios/nova/boot-snapshot-boot-delete.yaml create mode 100644 samples/tasks/scenarios/nova/boot.json create mode 100644 samples/tasks/scenarios/nova/boot.yaml create mode 100644 samples/tasks/scenarios/nova/list-servers.json create mode 100644 samples/tasks/scenarios/nova/list-servers.yaml create mode 100644 samples/tasks/scenarios/nova/resize-server.json create mode 100644 samples/tasks/scenarios/nova/resize-server.yaml create mode 100644 samples/tasks/scenarios/quotas/cinder-update-and-delete.json create mode 100644 samples/tasks/scenarios/quotas/cinder-update-and-delete.yaml create mode 100644 samples/tasks/scenarios/quotas/cinder-update.json create mode 100644 samples/tasks/scenarios/quotas/cinder-update.yaml create mode 100644 samples/tasks/scenarios/quotas/nova-update-and-delete.json create mode 100644 samples/tasks/scenarios/quotas/nova-update-and-delete.yaml create mode 100644 samples/tasks/scenarios/quotas/nova-update.json create mode 100644 samples/tasks/scenarios/quotas/nova-update.yaml create mode 100644 samples/tasks/scenarios/vm/boot-runcommand-delete-with-disk.json create mode 100644 samples/tasks/scenarios/vm/boot-runcommand-delete-with-disk.yaml create mode 100644 samples/tasks/scenarios/vm/boot-runcommand-delete.json create mode 100644 samples/tasks/scenarios/vm/boot-runcommand-delete.yaml create mode 100644 samples/tasks/scenarios/zaqar/create-queue.json create mode 100644 samples/tasks/scenarios/zaqar/create-queue.yaml create mode 100644 samples/tasks/sla/README.rst create mode 100644 samples/tasks/sla/create-and-delete-user.json create mode 100644 samples/tasks/sla/create-and-delete-user.yaml create mode 100644 samples/tasks/support/README.rst create mode 100644 samples/tasks/support/instance_linpack.sh diff --git a/samples/README.rst b/samples/README.rst new file mode 100644 index 00000000..71e4f84a --- /dev/null +++ b/samples/README.rst @@ -0,0 +1,14 @@ +============================ +Content of samples directory +============================ + +deployments +~~~~~~~~~~~ + +Input configurations for "rally deployment" command + + +tasks +~~~~~ + +Input configurations for "rally task" command \ No newline at end of file diff --git a/samples/deployments/README.rst b/samples/deployments/README.rst new file mode 100644 index 00000000..2f798589 --- /dev/null +++ b/samples/deployments/README.rst @@ -0,0 +1,58 @@ +Rally Deployments +================= + +Before starting cluster benchmarking, its connection parameters +should be saved in Rally database (deployment record). + +If there is no cluster, rally also can create it. + +There are examples of deployment configurations: + +existing.json +------------- + +Register existing OpenStack cluster. + +existing-keystone-v3.json +------------------------- + +Register existing OpenStack cluster that uses Keystone v3. + +existing-with-given-endpoint.json +--------------------------------- + +Register existing OpenStack cluster, with parameter "endpoint" specified +to explicitly set keystone management_url. Use this parameter if +keystone fails to setup management_url correctly. +For example, this parameter must be specified for FUEL cluster +and has value "http://:35357/v2.0/" + +devstack-in-existing-servers.json +--------------------------------- + +Register existing DevStack cluster. + +devstack-in-lxc.json +-------------------- + +Deploy DevStack cluster on LXC and register it by Rally. + +devstack-in-openstack.json +-------------------------- + +Deploy DevStack cluster on OpenStack and register it by Rally. + +devstack-lxc-engine-in-existing-servers.json +-------------------------------------------- + +See *devstack-lxc-engine-in-existing-servers.rst* for details + +fuel-ha.json +------------ + +Deploy High Availability FUEL cluster and register it by Rally. + +fuel-multinode.json +------------------- + +Deploy Multinode FUEL cluster and register it by Rally. diff --git a/samples/deployments/existing-keystone-v3.json b/samples/deployments/existing-keystone-v3.json new file mode 100644 index 00000000..c5d97a08 --- /dev/null +++ b/samples/deployments/existing-keystone-v3.json @@ -0,0 +1,13 @@ +{ + "type": "ExistingCloud", + "auth_url": "http://example.net:5000/v3/", + "region_name": "RegionOne", + "endpoint_type": "public", + "admin": { + "username": "admin", + "password": "myadminpass", + "user_domain_name": "admin", + "project_name": "admin", + "project_domain_name": "admin", + } +} diff --git a/samples/deployments/existing-with-given-endpoint.json b/samples/deployments/existing-with-given-endpoint.json new file mode 100644 index 00000000..89af49e1 --- /dev/null +++ b/samples/deployments/existing-with-given-endpoint.json @@ -0,0 +1,12 @@ +{ + "type": "ExistingCloud", + "auth_url": "http://example.net:5000/v2.0/", + "region_name": "RegionOne", + "endpoint_type": "public", + "endpoint": "http://:// example: http://172.16.0.2:35357/v2.0/", + "admin": { + "username": "admin", + "password": "pa55word", + "tenant_name": "demo" + } +} diff --git a/samples/deployments/existing.json b/samples/deployments/existing.json new file mode 100644 index 00000000..b445f62a --- /dev/null +++ b/samples/deployments/existing.json @@ -0,0 +1,11 @@ +{ + "type": "ExistingCloud", + "auth_url": "http://example.net:5000/v2.0/", + "region_name": "RegionOne", + "endpoint_type": "public", + "admin": { + "username": "admin", + "password": "myadminpass", + "tenant_name": "demo" + } +} diff --git a/samples/tasks/README.rst b/samples/tasks/README.rst new file mode 100644 index 00000000..863525b9 --- /dev/null +++ b/samples/tasks/README.rst @@ -0,0 +1,49 @@ +Tasks Configuration Samples +=========================== + +To specify your tasks, use configuration files in json or yaml format. + + +General structure of configuration file: +:: + + { + "ScenarioClass.scenario_method": + "args": { + ... + }, + "runner": { + ... + }, + "context": { + ... + } + "sla": { + ... + } + } + } + +ScanarioClass should be a subclass of the base Scenario class +and scenario_method specifies what benchmark task should be run. Section +"args" is also related to scenario. To learn more about scenarios +configuration, see samples in `doc/samples/tasks/scenarios +`_. + +Section "runners" specifies the way, how task should be run. To learn +more about runners configurations, see samples in `doc/samples/tasks/runners +`_. + +Section "context" defines different types of environments in which task can +be launched. Look at `doc/samples/tasks/contexts +`_ +for samples. + +Section "sla" defines details for determining compliance with contracted values +such as maximum error rate or minimum response time. +Look at `doc/samples/tasks/sla +`_ for +samples. + +See a `detailed description of benchmark scenarios, contexts & runners +`_. diff --git a/samples/tasks/contexts/README.rst b/samples/tasks/contexts/README.rst new file mode 100644 index 00000000..245394b8 --- /dev/null +++ b/samples/tasks/contexts/README.rst @@ -0,0 +1,5 @@ +Contexts Configuration Samples +============================== + +This directory contains samples how to to define different types of +environments using context. diff --git a/samples/tasks/runners/README.rst b/samples/tasks/runners/README.rst new file mode 100644 index 00000000..c3e233d5 --- /dev/null +++ b/samples/tasks/runners/README.rst @@ -0,0 +1,9 @@ +Runners Configuration Samples +============================= + +This directory contains task runners conficuration samples. + +Samples here are presented with methods of Dummy scenario. To see samples +of usage other scenarios, go to `doc/samples/tasks/scenarios +`_. + diff --git a/samples/tasks/runners/rps/rps.json b/samples/tasks/runners/rps/rps.json new file mode 100644 index 00000000..34b90c89 --- /dev/null +++ b/samples/tasks/runners/rps/rps.json @@ -0,0 +1,21 @@ +{ + "Dummy.dummy": [ + { + "args": { + "sleep": 5 + }, + "runner": { + "type": "rps", + "times": 20, + "rps": 3, + "timeout": 6 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} diff --git a/samples/tasks/runners/rps/rps.yaml b/samples/tasks/runners/rps/rps.yaml new file mode 100644 index 00000000..637c9b80 --- /dev/null +++ b/samples/tasks/runners/rps/rps.yaml @@ -0,0 +1,14 @@ +--- + Dummy.dummy: + - + args: + sleep: 5 + runner: + type: "rps" + times: 20 + rps: 3 + timeout: 6 + context: + users: + tenants: 1 + users_per_tenant: 1 diff --git a/samples/tasks/runners/serial/serial.json b/samples/tasks/runners/serial/serial.json new file mode 100644 index 00000000..72148ca4 --- /dev/null +++ b/samples/tasks/runners/serial/serial.json @@ -0,0 +1,19 @@ +{ + "Dummy.dummy": [ + { + "args": { + "sleep": 5 + }, + "runner": { + "type": "serial", + "times": 20 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} diff --git a/samples/tasks/runners/serial/serial.yaml b/samples/tasks/runners/serial/serial.yaml new file mode 100644 index 00000000..0c6ea3f0 --- /dev/null +++ b/samples/tasks/runners/serial/serial.yaml @@ -0,0 +1,12 @@ +--- + Dummy.dummy: + - + args: + sleep: 5 + runner: + type: "serial" + times: 20 + context: + users: + tenants: 1 + users_per_tenant: 1 diff --git a/samples/tasks/scenarios/README.rst b/samples/tasks/scenarios/README.rst new file mode 100644 index 00000000..07e75d64 --- /dev/null +++ b/samples/tasks/scenarios/README.rst @@ -0,0 +1,11 @@ +Scenarios Configuration Samples +=============================== + +This directory contains task scenarios conficuration samples. +To successfully start this samples you may need to substitute some values +from "args" section to actual values for your deployment. + +Samples here are presented with constant runner. To see samples of using +other runners, go to `doc/samples/tasks/runners +`_. + diff --git a/samples/tasks/scenarios/authenticate/keystone.json b/samples/tasks/scenarios/authenticate/keystone.json new file mode 100644 index 00000000..381bb96d --- /dev/null +++ b/samples/tasks/scenarios/authenticate/keystone.json @@ -0,0 +1,17 @@ +{ + "Authenticate.keystone": [ + { + "runner": { + "type": "constant", + "times": 100, + "concurrency": 5 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 50 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/authenticate/keystone.yaml b/samples/tasks/scenarios/authenticate/keystone.yaml new file mode 100644 index 00000000..96830561 --- /dev/null +++ b/samples/tasks/scenarios/authenticate/keystone.yaml @@ -0,0 +1,11 @@ +--- + Authenticate.keystone: + - + runner: + type: "constant" + times: 100 + concurrency: 5 + context: + users: + tenants: 3 + users_per_tenant: 50 diff --git a/samples/tasks/scenarios/ceilometer/create-alarm.json b/samples/tasks/scenarios/ceilometer/create-alarm.json new file mode 100644 index 00000000..f5479910 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-alarm.json @@ -0,0 +1,26 @@ +{ + "CeilometerAlarms.create_alarm": [ + { + "args": { + "meter_name": "ram_util", + "threshold": 10.0, + "type": "threshold", + "statistic": "avg", + "alarm_actions": ["http://localhost:8776/alarm"], + "ok_actions": ["http://localhost:8776/ok"], + "insufficient_data_actions": ["http://localhost:8776/notok"] + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/ceilometer/create-alarm.yaml b/samples/tasks/scenarios/ceilometer/create-alarm.yaml new file mode 100644 index 00000000..cbd238a3 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-alarm.yaml @@ -0,0 +1,19 @@ +--- + CeilometerAlarms.create_alarm: + - + args: + meter_name: "ram_util" + threshold: 10.0 + type: "threshold" + statistic: "avg" + alarm_actions: ["http://localhost:8776/alarm"] + ok_actions: ["http://localhost:8776/ok"] + insufficient_data_actions: ["http://localhost:8776/notok"] + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/create-and-delete-alarm.json b/samples/tasks/scenarios/ceilometer/create-and-delete-alarm.json new file mode 100644 index 00000000..8d644a79 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-delete-alarm.json @@ -0,0 +1,26 @@ +{ + "CeilometerAlarms.create_and_delete_alarm": [ + { + "args": { + "meter_name": "ram_util", + "threshold": 10.0, + "type": "threshold", + "statistic": "avg", + "alarm_actions": ["http://localhost:8776/alarm"], + "ok_actions": ["http://localhost:8776/ok"], + "insufficient_data_actions": ["http://localhost:8776/notok"] + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/ceilometer/create-and-delete-alarm.yaml b/samples/tasks/scenarios/ceilometer/create-and-delete-alarm.yaml new file mode 100644 index 00000000..a344de3d --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-delete-alarm.yaml @@ -0,0 +1,19 @@ +--- + CeilometerAlarms.create_and_delete_alarm: + - + args: + meter_name: "ram_util" + threshold: 10.0 + type: "threshold" + statistic: "avg" + alarm_actions: ["http://localhost:8776/alarm"] + ok_actions: ["http://localhost:8776/ok"] + insufficient_data_actions: ["http://localhost:8776/notok"] + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/create-and-list-alarm.json b/samples/tasks/scenarios/ceilometer/create-and-list-alarm.json new file mode 100644 index 00000000..1f8b4b5b --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-list-alarm.json @@ -0,0 +1,26 @@ +{ + "CeilometerAlarms.create_and_list_alarm": [ + { + "args": { + "meter_name": "ram_util", + "threshold": 10.0, + "type": "threshold", + "statistic": "avg", + "alarm_actions": ["http://localhost:8776/alarm"], + "ok_actions": ["http://localhost:8776/ok"], + "insufficient_data_actions": ["http://localhost:8776/notok"] + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/ceilometer/create-and-list-alarm.yaml b/samples/tasks/scenarios/ceilometer/create-and-list-alarm.yaml new file mode 100644 index 00000000..7b5e34b0 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-list-alarm.yaml @@ -0,0 +1,19 @@ +--- + CeilometerAlarms.create_and_list_alarm: + - + args: + meter_name: "ram_util" + threshold: 10.0 + type: "threshold" + statistic: "avg" + alarm_actions: ["http://localhost:8776/alarm"] + ok_actions: ["http://localhost:8776/ok"] + insufficient_data_actions: ["http://localhost:8776/notok"] + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/create-and-query-alarm-history.json b/samples/tasks/scenarios/ceilometer/create-and-query-alarm-history.json new file mode 100644 index 00000000..bec806c8 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-query-alarm-history.json @@ -0,0 +1,28 @@ +{ + "CeilometerQueries.create_and_query_alarm_history": [ + { + "args": { + "orderby": null, + "limit": null, + "meter_name": "ram_util", + "threshold": 10.0, + "type": "threshold", + "statistic": "avg", + "alarm_actions": ["http://localhost:8776/alarm"], + "ok_actions": ["http://localhost:8776/ok"], + "insufficient_data_actions": ["http://localhost:8776/notok"] + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/ceilometer/create-and-query-alarm-history.yaml b/samples/tasks/scenarios/ceilometer/create-and-query-alarm-history.yaml new file mode 100644 index 00000000..02a8ff7c --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-query-alarm-history.yaml @@ -0,0 +1,21 @@ +--- + CeilometerQueries.create_and_query_alarm_history: + - + args: + orderby: !!null + limit: !!null + meter_name: "ram_util" + threshold: 10.0 + type: "threshold" + statistic: "avg" + alarm_actions: ["http://localhost:8776/alarm"] + ok_actions: ["http://localhost:8776/ok"] + insufficient_data_actions: ["http://localhost:8776/notok"] + runner: + type: "constant" + times: 100 + concurrency: 10 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/create-and-query-alarms.json b/samples/tasks/scenarios/ceilometer/create-and-query-alarms.json new file mode 100644 index 00000000..0562199c --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-query-alarms.json @@ -0,0 +1,29 @@ +{ + "CeilometerQueries.create_and_query_alarms": [ + { + "args": { + "filter": {"and": [{"!=": {"state": "dummy_state"}},{"=": {"type": "threshold"}}]}, + "orderby": null, + "limit": 10, + "meter_name": "ram_util", + "threshold": 10.0, + "type": "threshold", + "statistic": "avg", + "alarm_actions": ["http://localhost:8776/alarm"], + "ok_actions": ["http://localhost:8776/ok"], + "insufficient_data_actions": ["http://localhost:8776/notok"] + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/ceilometer/create-and-query-alarms.yaml b/samples/tasks/scenarios/ceilometer/create-and-query-alarms.yaml new file mode 100644 index 00000000..ca2482e6 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-query-alarms.yaml @@ -0,0 +1,22 @@ +--- + CeilometerQueries.create_and_query_alarms: + - + args: + filter: {"and": [{"!=": {"state": "dummy_state"}},{"=": {"type": "threshold"}}]} + orderby: !!null + limit: 10 + meter_name: "ram_util" + threshold: 10.0 + type: "threshold" + statistic: "avg" + alarm_actions: ["http://localhost:8776/alarm"] + ok_actions: ["http://localhost:8776/ok"] + insufficient_data_actions: ["http://localhost:8776/notok"] + runner: + type: "constant" + times: 100 + concurrency: 10 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/create-and-query-samples.json b/samples/tasks/scenarios/ceilometer/create-and-query-samples.json new file mode 100644 index 00000000..a5de20ff --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-query-samples.json @@ -0,0 +1,27 @@ +{ + "CeilometerQueries.create_and_query_samples": [ + { + "args": { + "filter": {"=": {"counter_unit": "instance"}}, + "orderby": null, + "limit": 10, + "counter_name": "cpu_util", + "counter_type": "gauge", + "counter_unit": "instance", + "counter_volume": 1.0, + "resource_id": "resource_id" + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/ceilometer/create-and-query-samples.yaml b/samples/tasks/scenarios/ceilometer/create-and-query-samples.yaml new file mode 100644 index 00000000..86bb6526 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-query-samples.yaml @@ -0,0 +1,20 @@ +--- + CeilometerQueries.create_and_query_samples: + - + args: + filter: {"=": {"counter_unit": "instance"}} + orderby: !!null + limit: 10 + counter_name: "cpu_util" + counter_type: "gauge" + counter_unit: "instance" + counter_volume: 1.0 + resource_id: "resource_id" + runner: + type: "constant" + times: 100 + concurrency: 10 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/create-and-update-alarm.json b/samples/tasks/scenarios/ceilometer/create-and-update-alarm.json new file mode 100644 index 00000000..21376b92 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-update-alarm.json @@ -0,0 +1,26 @@ +{ + "CeilometerAlarms.create_and_update_alarm": [ + { + "args": { + "meter_name": "ram_util", + "threshold": 10.0, + "type": "threshold", + "statistic": "avg", + "alarm_actions": ["http://localhost:8776/alarm"], + "ok_actions": ["http://localhost:8776/ok"], + "insufficient_data_actions": ["http://localhost:8776/notok"] + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/ceilometer/create-and-update-alarm.yaml b/samples/tasks/scenarios/ceilometer/create-and-update-alarm.yaml new file mode 100644 index 00000000..9b262739 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-and-update-alarm.yaml @@ -0,0 +1,19 @@ +--- + CeilometerAlarms.create_and_update_alarm: + - + args: + meter_name: "ram_util" + threshold: 10.0 + type: "threshold" + statistic: "avg" + alarm_actions: ["http://localhost:8776/alarm"] + ok_actions: ["http://localhost:8776/ok"] + insufficient_data_actions: ["http://localhost:8776/notok"] + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/create-meter-and-get-stats.json b/samples/tasks/scenarios/ceilometer/create-meter-and-get-stats.json new file mode 100644 index 00000000..ec1369c6 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-meter-and-get-stats.json @@ -0,0 +1,25 @@ +{ + "CeilometerStats.create_meter_and_get_stats": [ + { + "args": { + "user_id": "user-id", + "resource_id": "resource-id", + "counter_volume": 1.0, + "counter_unit": "", + "counter_type": "cumulative" + }, + "runner": { + "type": "constant", + "times": 200, + "concurrency": 5 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} + diff --git a/samples/tasks/scenarios/ceilometer/create-meter-and-get-stats.yaml b/samples/tasks/scenarios/ceilometer/create-meter-and-get-stats.yaml new file mode 100644 index 00000000..f3a5d975 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/create-meter-and-get-stats.yaml @@ -0,0 +1,17 @@ +--- + CeilometerStats.create_meter_and_get_stats: + - + args: + user_id: "user-id" + resource_id: "resource-id" + counter_volume: 1.0 + counter_unit: "" + counter_type: "cumulative" + runner: + type: "constant" + times: 200 + concurrency: 5 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/list-alarms.json b/samples/tasks/scenarios/ceilometer/list-alarms.json new file mode 100644 index 00000000..a5b23c78 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/list-alarms.json @@ -0,0 +1,18 @@ +{ + "CeilometerAlarms.list_alarms": [ + { + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} + diff --git a/samples/tasks/scenarios/ceilometer/list-alarms.yaml b/samples/tasks/scenarios/ceilometer/list-alarms.yaml new file mode 100644 index 00000000..9236d261 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/list-alarms.yaml @@ -0,0 +1,11 @@ +--- + CeilometerAlarms.list_alarms: + - + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/list-meters.json b/samples/tasks/scenarios/ceilometer/list-meters.json new file mode 100644 index 00000000..28ed3f67 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/list-meters.json @@ -0,0 +1,19 @@ +{ + "CeilometerMeters.list_meters": [ + { + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} + + diff --git a/samples/tasks/scenarios/ceilometer/list-meters.yaml b/samples/tasks/scenarios/ceilometer/list-meters.yaml new file mode 100644 index 00000000..0445cd4d --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/list-meters.yaml @@ -0,0 +1,11 @@ +--- + CeilometerMeters.list_meters: + - + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/ceilometer/list-resources.json b/samples/tasks/scenarios/ceilometer/list-resources.json new file mode 100644 index 00000000..8ee3de36 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/list-resources.json @@ -0,0 +1,18 @@ +{ + "CeilometerResource.list_resources": [ + { + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} + diff --git a/samples/tasks/scenarios/ceilometer/list-resources.yaml b/samples/tasks/scenarios/ceilometer/list-resources.yaml new file mode 100644 index 00000000..323ba462 --- /dev/null +++ b/samples/tasks/scenarios/ceilometer/list-resources.yaml @@ -0,0 +1,12 @@ +--- + CeilometerResource.list_resources: + - + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 2 + users_per_tenant: 2 + diff --git a/samples/tasks/scenarios/cinder/create-and-attach-volume.json b/samples/tasks/scenarios/cinder/create-and-attach-volume.json new file mode 100644 index 00000000..b7049f34 --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-and-attach-volume.json @@ -0,0 +1,26 @@ +{ + "CinderVolumes.create_and_attach_volume": [ + { + "args": { + "size": 10, + "image": { + "name": "^cirros.*uec$" + }, + "flavor": { + "name": "m1.nano" + } + }, + "runner": { + "type": "constant", + "times": 5, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/cinder/create-and-attach-volume.yaml b/samples/tasks/scenarios/cinder/create-and-attach-volume.yaml new file mode 100644 index 00000000..62410e31 --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-and-attach-volume.yaml @@ -0,0 +1,17 @@ +--- + CinderVolumes.create_and_attach_volume: + - + args: + size: 10 + image: + name: "^cirros.*uec$" + flavor: + name: "m1.nano" + runner: + type: "constant" + times: 5 + concurrency: 1 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/cinder/create-and-delete-snapshot.json b/samples/tasks/scenarios/cinder/create-and-delete-snapshot.json new file mode 100644 index 00000000..fb128bae --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-and-delete-snapshot.json @@ -0,0 +1,23 @@ +{ + "CinderVolumes.create_and_delete_snapshot": [ + { + "args": { + "force": false + }, + "runner": { + "type": "constant", + "times": 3, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + }, + "volumes": { + "size": 1 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/cinder/create-and-delete-snapshot.yaml b/samples/tasks/scenarios/cinder/create-and-delete-snapshot.yaml new file mode 100644 index 00000000..9d0974b3 --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-and-delete-snapshot.yaml @@ -0,0 +1,15 @@ +--- + CinderVolumes.create_and_delete_snapshot: + - + args: + force: false + runner: + type: "constant" + times: 3 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 2 + volumes: + size: 1 diff --git a/samples/tasks/scenarios/cinder/create-and-delete-volume.json b/samples/tasks/scenarios/cinder/create-and-delete-volume.json new file mode 100644 index 00000000..28f7eec4 --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-and-delete-volume.json @@ -0,0 +1,20 @@ +{ + "CinderVolumes.create_and_delete_volume": [ + { + "args": { + "size": 1 + }, + "runner": { + "type": "constant", + "times": 3, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/cinder/create-and-delete-volume.yaml b/samples/tasks/scenarios/cinder/create-and-delete-volume.yaml new file mode 100644 index 00000000..9e68e8c2 --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-and-delete-volume.yaml @@ -0,0 +1,13 @@ +--- + CinderVolumes.create_and_delete_volume: + - + args: + size: 1 + runner: + type: "constant" + times: 3 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/cinder/create-and-list-volume.json b/samples/tasks/scenarios/cinder/create-and-list-volume.json new file mode 100644 index 00000000..4a3cb6ad --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-and-list-volume.json @@ -0,0 +1,21 @@ +{ + "CinderVolumes.create_and_list_volume": [ + { + "args": { + "size": 1, + "detailed": true + }, + "runner": { + "type": "constant", + "times": 3, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/cinder/create-and-list-volume.yaml b/samples/tasks/scenarios/cinder/create-and-list-volume.yaml new file mode 100644 index 00000000..3ff7193c --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-and-list-volume.yaml @@ -0,0 +1,14 @@ +--- + CinderVolumes.create_and_list_volume: + - + args: + size: 1 + detailed: True + runner: + type: "constant" + times: 3 + concurrency: 1 + context: + users: + tenants: 1 + users_per_tenant: 1 diff --git a/samples/tasks/scenarios/cinder/create-snapshot-and-attach-volume.json b/samples/tasks/scenarios/cinder/create-snapshot-and-attach-volume.json new file mode 100644 index 00000000..1af3950e --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-snapshot-and-attach-volume.json @@ -0,0 +1,63 @@ +{ + "CinderVolumes.create_snapshot_and_attach_volume": [ + { + "args": { + "volume_type": false, + "size": { + "min": 1, + "max": 5 + } + }, + "runner": { + "type": "constant", + "times": 4, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 1 + }, + "servers": { + "image": { + "name": "^cirros.*uec$" + }, + "flavor": { + "name": "m1.tiny" + }, + "servers_per_tenant": 2 + } + } + }, + { + "args": { + "volume_type": true, + "size": { + "min": 1, + "max": 5 + } + }, + "runner": { + "type": "constant", + "times": 4, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 1 + }, + "servers": { + "image": { + "name": "^cirros.*uec$" + }, + "flavor": { + "name": "m1.tiny" + }, + "servers_per_tenant": 2 + } + } + } + + ] +} diff --git a/samples/tasks/scenarios/cinder/create-snapshot-and-attach-volume.yaml b/samples/tasks/scenarios/cinder/create-snapshot-and-attach-volume.yaml new file mode 100644 index 00000000..c77f2875 --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-snapshot-and-attach-volume.yaml @@ -0,0 +1,43 @@ +--- + CinderVolumes.create_snapshot_and_attach_volume: + - + args: + volume_type: false + size: + min: 1 + max: 5 + runner: + type: "constant" + times: 4 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 1 + servers: + image: + name: "^cirros.*uec$" + flavor: + name: "m1.tiny" + servers_per_tenant: 2 + - + args: + volume_type: true + size: + min: 1 + max: 5 + runner: + type: "constant" + times: 4 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 1 + servers: + image: + name: "^cirros.*uec$" + flavor: + name: "m1.tiny" + servers_per_tenant: 2 + diff --git a/samples/tasks/scenarios/cinder/create-volume.json b/samples/tasks/scenarios/cinder/create-volume.json new file mode 100644 index 00000000..41dfd233 --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-volume.json @@ -0,0 +1,20 @@ +{ + "CinderVolumes.create_volume": [ + { + "args": { + "size": 1 + }, + "runner": { + "type": "constant", + "times": 3, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/cinder/create-volume.yaml b/samples/tasks/scenarios/cinder/create-volume.yaml new file mode 100644 index 00000000..31987729 --- /dev/null +++ b/samples/tasks/scenarios/cinder/create-volume.yaml @@ -0,0 +1,13 @@ +--- + CinderVolumes.create_volume: + - + args: + size: 1 + runner: + type: "constant" + times: 3 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/cinder/list-volumes.json b/samples/tasks/scenarios/cinder/list-volumes.json new file mode 100644 index 00000000..40273db2 --- /dev/null +++ b/samples/tasks/scenarios/cinder/list-volumes.json @@ -0,0 +1,24 @@ +{ + "CinderVolumes.list_volumes": [ + { + "args": { + "detailed": true + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + }, + "volumes": { + "size": 1, + "volumes_per_tenant": 4 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/cinder/list-volumes.yaml b/samples/tasks/scenarios/cinder/list-volumes.yaml new file mode 100644 index 00000000..6f95156a --- /dev/null +++ b/samples/tasks/scenarios/cinder/list-volumes.yaml @@ -0,0 +1,16 @@ +--- + CinderVolumes.list_volumes: + - + args: + detailed: True + runner: + type: "constant" + times: 100 + concurrency: 1 + context: + users: + tenants: 1 + users_per_tenant: 1 + volumes: + size: 1 + volumes_per_tenant: 4 diff --git a/samples/tasks/scenarios/designate/create-and-delete-domain.json b/samples/tasks/scenarios/designate/create-and-delete-domain.json new file mode 100644 index 00000000..8d79be7a --- /dev/null +++ b/samples/tasks/scenarios/designate/create-and-delete-domain.json @@ -0,0 +1,25 @@ +{ + "DesignateBasic.create_and_delete_domain": [ + { + "runner": { + "type": "constant", + "times": 10, + "concurrency": 10 + }, + "context": { + "quotas": { + "designate": { + "domains": 100, + "domain_recordsets": 500, + "domain_records": 2000, + "recordset_records": 2000 + } + }, + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/designate/create-and-delete-domain.yaml b/samples/tasks/scenarios/designate/create-and-delete-domain.yaml new file mode 100644 index 00000000..80f31dcb --- /dev/null +++ b/samples/tasks/scenarios/designate/create-and-delete-domain.yaml @@ -0,0 +1,17 @@ +--- + DesignateBasic.create_and_delete_domain: + - + runner: + type: "constant" + times: 10 + concurrency: 10 + context: + quotas: + designate: + domains: 100 + domain_recordsets: 500 + domain_records: 2000 + recordset_records: 2000 + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/designate/create-and-delete-records.json b/samples/tasks/scenarios/designate/create-and-delete-records.json new file mode 100644 index 00000000..f789e754 --- /dev/null +++ b/samples/tasks/scenarios/designate/create-and-delete-records.json @@ -0,0 +1,28 @@ +{ + "DesignateBasic.create_and_delete_records": [ + { + "args": { + "records_per_domain": 10 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 10 + }, + "context": { + "quotas": { + "designate": { + "domains": 100, + "domain_recordsets": 2000, + "domain_records": 2000, + "recordset_records": 2000 + } + }, + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/designate/create-and-delete-records.yaml b/samples/tasks/scenarios/designate/create-and-delete-records.yaml new file mode 100644 index 00000000..d7e34224 --- /dev/null +++ b/samples/tasks/scenarios/designate/create-and-delete-records.yaml @@ -0,0 +1,19 @@ +--- + DesignateBasic.create_and_delete_records: + - + args: + records_per_domain: 10 + runner: + type: "constant" + times: 10 + concurrency: 10 + context: + quotas: + designate: + domains: 100 + domain_recordsets: 2000 + domain_records: 2000 + recordset_records: 2000 + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/designate/create-and-list-domain.json b/samples/tasks/scenarios/designate/create-and-list-domain.json new file mode 100644 index 00000000..eec211b1 --- /dev/null +++ b/samples/tasks/scenarios/designate/create-and-list-domain.json @@ -0,0 +1,25 @@ +{ + "DesignateBasic.create_and_list_domains": [ + { + "runner": { + "type": "constant", + "times": 10, + "concurrency": 10 + }, + "context": { + "quotas": { + "designate": { + "domains": 100, + "domain_recordsets": 500, + "domain_records": 2000, + "recordset_records": 2000 + } + }, + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/designate/create-and-list-domain.yaml b/samples/tasks/scenarios/designate/create-and-list-domain.yaml new file mode 100644 index 00000000..8a7df1ce --- /dev/null +++ b/samples/tasks/scenarios/designate/create-and-list-domain.yaml @@ -0,0 +1,17 @@ +--- + DesignateBasic.create_and_list_domains: + - + runner: + type: "constant" + times: 10 + concurrency: 10 + context: + quotas: + designate: + domains: 100 + domain_recordsets: 500 + domain_records: 2000 + recordset_records: 2000 + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/designate/create-and-list-records.json b/samples/tasks/scenarios/designate/create-and-list-records.json new file mode 100644 index 00000000..4b592bbf --- /dev/null +++ b/samples/tasks/scenarios/designate/create-and-list-records.json @@ -0,0 +1,28 @@ +{ + "DesignateBasic.create_and_list_records": [ + { + "args": { + "records_per_domain": 10 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 10 + }, + "context": { + "quotas": { + "designate": { + "domains": 100, + "domain_recordsets": 2000, + "domain_records": 2000, + "recordset_records": 2000 + } + }, + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/designate/create-and-list-records.yaml b/samples/tasks/scenarios/designate/create-and-list-records.yaml new file mode 100644 index 00000000..84949366 --- /dev/null +++ b/samples/tasks/scenarios/designate/create-and-list-records.yaml @@ -0,0 +1,19 @@ +--- + DesignateBasic.create_and_list_records: + - + args: + records_per_domain: 10 + runner: + type: "constant" + times: 10 + concurrency: 10 + context: + quotas: + designate: + domains: 100 + domain_recordsets: 2000 + domain_records: 2000 + recordset_records: 2000 + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/designate/list-domains.json b/samples/tasks/scenarios/designate/list-domains.json new file mode 100644 index 00000000..d440415e --- /dev/null +++ b/samples/tasks/scenarios/designate/list-domains.json @@ -0,0 +1,17 @@ +{ + "DesignateBasic.list_domains": [ + { + "runner": { + "type": "constant", + "times": 3, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/designate/list-domains.yaml b/samples/tasks/scenarios/designate/list-domains.yaml new file mode 100644 index 00000000..cf2f2824 --- /dev/null +++ b/samples/tasks/scenarios/designate/list-domains.yaml @@ -0,0 +1,11 @@ +--- + DesignateBasic.list_domains: + - + runner: + type: "constant" + times: 3 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/designate/list-records.json b/samples/tasks/scenarios/designate/list-records.json new file mode 100644 index 00000000..852f6868 --- /dev/null +++ b/samples/tasks/scenarios/designate/list-records.json @@ -0,0 +1,20 @@ +{ + "DesignateBasic.list_records": [ + { + "args": { + "domain_id": "" + }, + "runner": { + "type": "constant", + "times": 3, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/designate/list-records.yaml b/samples/tasks/scenarios/designate/list-records.yaml new file mode 100644 index 00000000..911d8d99 --- /dev/null +++ b/samples/tasks/scenarios/designate/list-records.yaml @@ -0,0 +1,13 @@ +--- + DesignateBasic.list_records: + - + args: + domain_id: + runner: + type: "constant" + times: 3 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/dummy/dummy.json b/samples/tasks/scenarios/dummy/dummy.json new file mode 100644 index 00000000..6995e8fd --- /dev/null +++ b/samples/tasks/scenarios/dummy/dummy.json @@ -0,0 +1,20 @@ +{ + "Dummy.dummy": [ + { + "args": { + "sleep": 5 + }, + "runner": { + "type": "constant", + "times": 20, + "concurrency": 5 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/dummy/dummy.yaml b/samples/tasks/scenarios/dummy/dummy.yaml new file mode 100644 index 00000000..2c4fe97f --- /dev/null +++ b/samples/tasks/scenarios/dummy/dummy.yaml @@ -0,0 +1,13 @@ +--- + Dummy.dummy: + - + args: + sleep: 5 + runner: + type: "constant" + times: 20 + concurrency: 5 + context: + users: + tenants: 1 + users_per_tenant: 1 diff --git a/samples/tasks/scenarios/glance/create-and-delete-image.json b/samples/tasks/scenarios/glance/create-and-delete-image.json new file mode 100644 index 00000000..9f95252f --- /dev/null +++ b/samples/tasks/scenarios/glance/create-and-delete-image.json @@ -0,0 +1,22 @@ +{ + "GlanceImages.create_and_delete_image": [ + { + "args": { + "image_location": "http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img", + "container_format": "bare", + "disk_format": "qcow2" + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 3 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/glance/create-and-delete-image.yaml b/samples/tasks/scenarios/glance/create-and-delete-image.yaml new file mode 100644 index 00000000..78c11029 --- /dev/null +++ b/samples/tasks/scenarios/glance/create-and-delete-image.yaml @@ -0,0 +1,15 @@ +--- + GlanceImages.create_and_delete_image: + - + args: + image_location: "http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img" + container_format: "bare" + disk_format: "qcow2" + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 3 diff --git a/samples/tasks/scenarios/glance/create-and-list-image.json b/samples/tasks/scenarios/glance/create-and-list-image.json new file mode 100644 index 00000000..e4919696 --- /dev/null +++ b/samples/tasks/scenarios/glance/create-and-list-image.json @@ -0,0 +1,22 @@ +{ + "GlanceImages.create_and_list_image": [ + { + "args": { + "image_location": "http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img", + "container_format": "bare", + "disk_format": "qcow2" + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/glance/create-and-list-image.yaml b/samples/tasks/scenarios/glance/create-and-list-image.yaml new file mode 100644 index 00000000..b57cf00c --- /dev/null +++ b/samples/tasks/scenarios/glance/create-and-list-image.yaml @@ -0,0 +1,15 @@ +--- + GlanceImages.create_and_list_image: + - + args: + image_location: "http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img" + container_format: "bare" + disk_format: "qcow2" + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 1 + users_per_tenant: 1 diff --git a/samples/tasks/scenarios/glance/create-image-and-boot-instances.json b/samples/tasks/scenarios/glance/create-image-and-boot-instances.json new file mode 100644 index 00000000..f82fa31b --- /dev/null +++ b/samples/tasks/scenarios/glance/create-image-and-boot-instances.json @@ -0,0 +1,26 @@ +{ + "GlanceImages.create_image_and_boot_instances": [ + { + "args": { + "image_location": "http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img", + "container_format": "bare", + "disk_format": "qcow2", + "flavor": { + "name": "m1.nano" + }, + "number_instances": 2 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 5 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/glance/create-image-and-boot-instances.yaml b/samples/tasks/scenarios/glance/create-image-and-boot-instances.yaml new file mode 100644 index 00000000..bc36ef91 --- /dev/null +++ b/samples/tasks/scenarios/glance/create-image-and-boot-instances.yaml @@ -0,0 +1,18 @@ +--- + GlanceImages.create_image_and_boot_instances: + - + args: + image_location: "http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img" + container_format: "bare" + disk_format: "qcow2" + flavor: + name: "m1.nano" + number_instances: 2 + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 5 diff --git a/samples/tasks/scenarios/heat/create-and-delete-stack.json b/samples/tasks/scenarios/heat/create-and-delete-stack.json new file mode 100644 index 00000000..cc897ab5 --- /dev/null +++ b/samples/tasks/scenarios/heat/create-and-delete-stack.json @@ -0,0 +1,17 @@ +{ + "HeatStacks.create_and_delete_stack": [ + { + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 2, + "users_per_tenant": 3 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/heat/create-and-delete-stack.yaml b/samples/tasks/scenarios/heat/create-and-delete-stack.yaml new file mode 100644 index 00000000..f66f88d1 --- /dev/null +++ b/samples/tasks/scenarios/heat/create-and-delete-stack.yaml @@ -0,0 +1,11 @@ +--- + HeatStacks.create_and_delete_stack: + - + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 2 + users_per_tenant: 3 diff --git a/samples/tasks/scenarios/heat/create-and-list-stack.json b/samples/tasks/scenarios/heat/create-and-list-stack.json new file mode 100644 index 00000000..a013542d --- /dev/null +++ b/samples/tasks/scenarios/heat/create-and-list-stack.json @@ -0,0 +1,17 @@ +{ + "HeatStacks.create_and_list_stack": [ + { + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/heat/create-and-list-stack.yaml b/samples/tasks/scenarios/heat/create-and-list-stack.yaml new file mode 100644 index 00000000..323fe915 --- /dev/null +++ b/samples/tasks/scenarios/heat/create-and-list-stack.yaml @@ -0,0 +1,11 @@ +--- + HeatStacks.create_and_list_stack: + - + runner: + type: "constant" + times: 10 + concurrency: 1 + context: + users: + tenants: 1 + users_per_tenant: 1 diff --git a/samples/tasks/scenarios/keystone/create-and-delete-user.json b/samples/tasks/scenarios/keystone/create-and-delete-user.json new file mode 100644 index 00000000..df19d5d7 --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-and-delete-user.json @@ -0,0 +1,14 @@ +{ + "KeystoneBasic.create_delete_user": [ + { + "args": { + "name_length": 10 + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + } + } + ] +} diff --git a/samples/tasks/scenarios/keystone/create-and-delete-user.yaml b/samples/tasks/scenarios/keystone/create-and-delete-user.yaml new file mode 100644 index 00000000..1b69dfc8 --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-and-delete-user.yaml @@ -0,0 +1,9 @@ +--- + KeystoneBasic.create_delete_user: + - + args: + name_length: 10 + runner: + type: "constant" + times: 100 + concurrency: 10 diff --git a/samples/tasks/scenarios/keystone/create-and-list-tenants.json b/samples/tasks/scenarios/keystone/create-and-list-tenants.json new file mode 100644 index 00000000..6cb8bae7 --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-and-list-tenants.json @@ -0,0 +1,14 @@ +{ + "KeystoneBasic.create_and_list_tenants": [ + { + "args": { + "name_length": 10 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 1 + } + } + ] +} diff --git a/samples/tasks/scenarios/keystone/create-and-list-tenants.yaml b/samples/tasks/scenarios/keystone/create-and-list-tenants.yaml new file mode 100644 index 00000000..f1279465 --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-and-list-tenants.yaml @@ -0,0 +1,9 @@ +--- + KeystoneBasic.create_and_list_tenants: + - + args: + name_length: 10 + runner: + type: "constant" + times: 10 + concurrency: 1 diff --git a/samples/tasks/scenarios/keystone/create-and-list-users.json b/samples/tasks/scenarios/keystone/create-and-list-users.json new file mode 100644 index 00000000..e88e79e1 --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-and-list-users.json @@ -0,0 +1,14 @@ +{ + "KeystoneBasic.create_and_list_users": [ + { + "args": { + "name_length": 10 + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + } + } + ] +} diff --git a/samples/tasks/scenarios/keystone/create-and-list-users.yaml b/samples/tasks/scenarios/keystone/create-and-list-users.yaml new file mode 100644 index 00000000..944a9f23 --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-and-list-users.yaml @@ -0,0 +1,9 @@ +--- + KeystoneBasic.create_and_list_users: + - + args: + name_length: 10 + runner: + type: "constant" + times: 100 + concurrency: 10 diff --git a/samples/tasks/scenarios/keystone/create-tenant-with-users.json b/samples/tasks/scenarios/keystone/create-tenant-with-users.json new file mode 100644 index 00000000..59fdbffe --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-tenant-with-users.json @@ -0,0 +1,15 @@ +{ + "KeystoneBasic.create_tenant_with_users": [ + { + "args": { + "name_length": 10, + "users_per_tenant": 10 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 10 + } + } + ] +} diff --git a/samples/tasks/scenarios/keystone/create-tenant-with-users.yaml b/samples/tasks/scenarios/keystone/create-tenant-with-users.yaml new file mode 100644 index 00000000..5ee52493 --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-tenant-with-users.yaml @@ -0,0 +1,10 @@ +--- + KeystoneBasic.create_tenant_with_users: + - + args: + name_length: 10 + users_per_tenant: 10 + runner: + type: "constant" + times: 10 + concurrency: 10 diff --git a/samples/tasks/scenarios/keystone/create-tenant.json b/samples/tasks/scenarios/keystone/create-tenant.json new file mode 100644 index 00000000..603c1dcd --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-tenant.json @@ -0,0 +1,14 @@ +{ + "KeystoneBasic.create_tenant": [ + { + "args": { + "name_length": 10 + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + } + } + ] +} diff --git a/samples/tasks/scenarios/keystone/create-tenant.yaml b/samples/tasks/scenarios/keystone/create-tenant.yaml new file mode 100644 index 00000000..af52a575 --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-tenant.yaml @@ -0,0 +1,9 @@ +--- + KeystoneBasic.create_tenant: + - + args: + name_length: 10 + runner: + type: "constant" + times: 100 + concurrency: 10 diff --git a/samples/tasks/scenarios/keystone/create-user.json b/samples/tasks/scenarios/keystone/create-user.json new file mode 100644 index 00000000..b90642dd --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-user.json @@ -0,0 +1,14 @@ +{ + "KeystoneBasic.create_user": [ + { + "args": { + "name_length": 10 + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + } + } + ] +} diff --git a/samples/tasks/scenarios/keystone/create-user.yaml b/samples/tasks/scenarios/keystone/create-user.yaml new file mode 100644 index 00000000..5e9f2dee --- /dev/null +++ b/samples/tasks/scenarios/keystone/create-user.yaml @@ -0,0 +1,9 @@ +--- + KeystoneBasic.create_user: + - + args: + name_length: 10 + runner: + type: "constant" + times: 100 + concurrency: 10 diff --git a/samples/tasks/scenarios/nova/boot-and-delete.json b/samples/tasks/scenarios/nova/boot-and-delete.json new file mode 100644 index 00000000..80025005 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-and-delete.json @@ -0,0 +1,26 @@ +{ + "NovaServers.boot_and_delete_server": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "force_delete": false + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/nova/boot-and-delete.yaml b/samples/tasks/scenarios/nova/boot-and-delete.yaml new file mode 100644 index 00000000..1ab085fa --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-and-delete.yaml @@ -0,0 +1,17 @@ +--- + NovaServers.boot_and_delete_server: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + force_delete: false + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/nova/boot-and-list.json b/samples/tasks/scenarios/nova/boot-and-list.json new file mode 100644 index 00000000..123cd5f5 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-and-list.json @@ -0,0 +1,27 @@ +{ + "NovaServers.boot_and_list_server": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "detailed": true + }, + "runner": { + "type": "constant", + "times": 1, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} + diff --git a/samples/tasks/scenarios/nova/boot-and-list.yaml b/samples/tasks/scenarios/nova/boot-and-list.yaml new file mode 100644 index 00000000..443b7345 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-and-list.yaml @@ -0,0 +1,18 @@ +--- + NovaServers.boot_and_list_server: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + detailed: True + runner: + type: "constant" + times: 1 + concurrency: 1 + context: + users: + tenants: 1 + users_per_tenant: 1 + diff --git a/samples/tasks/scenarios/nova/boot-and-live-migrate.json b/samples/tasks/scenarios/nova/boot-and-live-migrate.json new file mode 100644 index 00000000..323fd55e --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-and-live-migrate.json @@ -0,0 +1,26 @@ +{ + "NovaServers.boot_and_live_migrate_server": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "block_migration": false + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/nova/boot-and-live-migrate.yaml b/samples/tasks/scenarios/nova/boot-and-live-migrate.yaml new file mode 100644 index 00000000..2e11b7a3 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-and-live-migrate.yaml @@ -0,0 +1,16 @@ +--- +NovaServers.boot_and_live_migrate_server: +- args: + flavor: + name: m1.nano + image: + name: "^cirros.*uec$" + block_migration: false + runner: + type: constant + times: 10 + concurrency: 2 + context: + users: + tenants: 1 + users_per_tenant: 1 diff --git a/samples/tasks/scenarios/nova/boot-bounce-delete.json b/samples/tasks/scenarios/nova/boot-bounce-delete.json new file mode 100644 index 00000000..a2d63e4c --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-bounce-delete.json @@ -0,0 +1,32 @@ +{ + "NovaServers.boot_and_bounce_server": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "force_delete": false, + "actions": [ + {"hard_reboot": 1}, + {"soft_reboot": 1}, + {"stop_start": 1}, + {"rescue_unrescue": 1} + ] + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/nova/boot-bounce-delete.yaml b/samples/tasks/scenarios/nova/boot-bounce-delete.yaml new file mode 100644 index 00000000..76f106d3 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-bounce-delete.yaml @@ -0,0 +1,26 @@ +--- + NovaServers.boot_and_bounce_server: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + force_delete: false + actions: + - + hard_reboot: 1 + - + soft_reboot: 1 + - + stop_start: 1 + - + rescue_unrescue: 1 + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/nova/boot-from-volume-and-delete.json b/samples/tasks/scenarios/nova/boot-from-volume-and-delete.json new file mode 100644 index 00000000..0390b6d1 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-from-volume-and-delete.json @@ -0,0 +1,27 @@ +{ + "NovaServers.boot_server_from_volume_and_delete": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "volume_size": 10, + "force_delete": false + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/nova/boot-from-volume-and-delete.yaml b/samples/tasks/scenarios/nova/boot-from-volume-and-delete.yaml new file mode 100644 index 00000000..e979c4a5 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-from-volume-and-delete.yaml @@ -0,0 +1,18 @@ +--- + NovaServers.boot_server_from_volume_and_delete: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + volume_size: 10 + force_delete: false + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/nova/boot-from-volume.json b/samples/tasks/scenarios/nova/boot-from-volume.json new file mode 100644 index 00000000..4dfccfaa --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-from-volume.json @@ -0,0 +1,26 @@ +{ + "NovaServers.boot_server_from_volume": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "volume_size": 10 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/nova/boot-from-volume.yaml b/samples/tasks/scenarios/nova/boot-from-volume.yaml new file mode 100644 index 00000000..d8f8c2ad --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-from-volume.yaml @@ -0,0 +1,17 @@ +--- + NovaServers.boot_server_from_volume: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + volume_size: 10 + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/nova/boot-snapshot-boot-delete.json b/samples/tasks/scenarios/nova/boot-snapshot-boot-delete.json new file mode 100644 index 00000000..4772fef3 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-snapshot-boot-delete.json @@ -0,0 +1,26 @@ +{ + "NovaServers.snapshot_server": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "force_delete": false + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/nova/boot-snapshot-boot-delete.yaml b/samples/tasks/scenarios/nova/boot-snapshot-boot-delete.yaml new file mode 100644 index 00000000..b0b3ad75 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot-snapshot-boot-delete.yaml @@ -0,0 +1,17 @@ +--- + NovaServers.snapshot_server: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + force_delete: false + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/nova/boot.json b/samples/tasks/scenarios/nova/boot.json new file mode 100644 index 00000000..5b3597f1 --- /dev/null +++ b/samples/tasks/scenarios/nova/boot.json @@ -0,0 +1,25 @@ +{ + "NovaServers.boot_server": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + } + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/nova/boot.yaml b/samples/tasks/scenarios/nova/boot.yaml new file mode 100644 index 00000000..2db4797f --- /dev/null +++ b/samples/tasks/scenarios/nova/boot.yaml @@ -0,0 +1,16 @@ +--- + NovaServers.boot_server: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/nova/list-servers.json b/samples/tasks/scenarios/nova/list-servers.json new file mode 100644 index 00000000..464f34b3 --- /dev/null +++ b/samples/tasks/scenarios/nova/list-servers.json @@ -0,0 +1,29 @@ +{ + "NovaServers.list_servers": [ + { + "args": { + "detailed": true + }, + "runner": { + "type": "constant", + "times": 1, + "concurrency": 1 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + }, + "servers": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "servers_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/nova/list-servers.yaml b/samples/tasks/scenarios/nova/list-servers.yaml new file mode 100644 index 00000000..df3b0e96 --- /dev/null +++ b/samples/tasks/scenarios/nova/list-servers.yaml @@ -0,0 +1,19 @@ +--- + NovaServers.list_servers: + - + args: + detailed: True + runner: + type: "constant" + times: 1 + concurrency: 1 + context: + users: + tenants: 1 + users_per_tenant: 1 + servers: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + servers_per_tenant: 2 diff --git a/samples/tasks/scenarios/nova/resize-server.json b/samples/tasks/scenarios/nova/resize-server.json new file mode 100644 index 00000000..cf272007 --- /dev/null +++ b/samples/tasks/scenarios/nova/resize-server.json @@ -0,0 +1,31 @@ +{ + "NovaServers.resize_server": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "to_flavor": { + "name": "m1.small" + }, + "confirm": true, + "force_delete": false + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 5 + }, + "context": { + "users": { + "tenants": 1, + "users_per_tenant": 1 + } + } + } + ] +} + diff --git a/samples/tasks/scenarios/nova/resize-server.yaml b/samples/tasks/scenarios/nova/resize-server.yaml new file mode 100644 index 00000000..ac540302 --- /dev/null +++ b/samples/tasks/scenarios/nova/resize-server.yaml @@ -0,0 +1,20 @@ +--- + NovaServers.resize_server: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + to_flavor: + name: "m1.small" + confirm: true + force_delete: false + runner: + type: "constant" + times: 10 + concurrency: 5 + context: + users: + tenants: 1 + users_per_tenant: 1 diff --git a/samples/tasks/scenarios/quotas/cinder-update-and-delete.json b/samples/tasks/scenarios/quotas/cinder-update-and-delete.json new file mode 100644 index 00000000..9c3842b8 --- /dev/null +++ b/samples/tasks/scenarios/quotas/cinder-update-and-delete.json @@ -0,0 +1,20 @@ +{ + "Quotas.cinder_update_and_delete": [ + { + "args": { + "max_quota": 1024 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/quotas/cinder-update-and-delete.yaml b/samples/tasks/scenarios/quotas/cinder-update-and-delete.yaml new file mode 100644 index 00000000..03104b1b --- /dev/null +++ b/samples/tasks/scenarios/quotas/cinder-update-and-delete.yaml @@ -0,0 +1,13 @@ +--- + Quotas.cinder_update_and_delete: + - + args: + max_quota: 1024 + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/quotas/cinder-update.json b/samples/tasks/scenarios/quotas/cinder-update.json new file mode 100644 index 00000000..b70f31eb --- /dev/null +++ b/samples/tasks/scenarios/quotas/cinder-update.json @@ -0,0 +1,20 @@ +{ + "Quotas.cinder_update": [ + { + "args": { + "max_quota": 1024 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/quotas/cinder-update.yaml b/samples/tasks/scenarios/quotas/cinder-update.yaml new file mode 100644 index 00000000..95b5c226 --- /dev/null +++ b/samples/tasks/scenarios/quotas/cinder-update.yaml @@ -0,0 +1,13 @@ +--- + Quotas.cinder_update: + - + args: + max_quota: 1024 + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/quotas/nova-update-and-delete.json b/samples/tasks/scenarios/quotas/nova-update-and-delete.json new file mode 100644 index 00000000..41aca426 --- /dev/null +++ b/samples/tasks/scenarios/quotas/nova-update-and-delete.json @@ -0,0 +1,20 @@ +{ + "Quotas.nova_update_and_delete": [ + { + "args": { + "max_quota": 1024 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/quotas/nova-update-and-delete.yaml b/samples/tasks/scenarios/quotas/nova-update-and-delete.yaml new file mode 100644 index 00000000..0af74b6c --- /dev/null +++ b/samples/tasks/scenarios/quotas/nova-update-and-delete.yaml @@ -0,0 +1,13 @@ +--- + Quotas.nova_update_and_delete: + - + args: + max_quota: 1024 + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/quotas/nova-update.json b/samples/tasks/scenarios/quotas/nova-update.json new file mode 100644 index 00000000..3412aa3a --- /dev/null +++ b/samples/tasks/scenarios/quotas/nova-update.json @@ -0,0 +1,20 @@ +{ + "Quotas.nova_update": [ + { + "args": { + "max_quota": 1024 + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/quotas/nova-update.yaml b/samples/tasks/scenarios/quotas/nova-update.yaml new file mode 100644 index 00000000..9aa30dd1 --- /dev/null +++ b/samples/tasks/scenarios/quotas/nova-update.yaml @@ -0,0 +1,13 @@ +--- + Quotas.nova_update: + - + args: + max_quota: 1024 + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/vm/boot-runcommand-delete-with-disk.json b/samples/tasks/scenarios/vm/boot-runcommand-delete-with-disk.json new file mode 100644 index 00000000..e0dd59cf --- /dev/null +++ b/samples/tasks/scenarios/vm/boot-runcommand-delete-with-disk.json @@ -0,0 +1,35 @@ +{ + "VMTasks.boot_runcommand_delete": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "volume_args": { + "size": 2 + }, + "fixed_network": "private", + "floating_network": "public", + "use_floatingip": true, + "force_delete": false, + "script": "doc/samples/tasks/support/instance_dd_test.sh", + "interpreter": "/bin/sh", + "username": "cirros" + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/vm/boot-runcommand-delete-with-disk.yaml b/samples/tasks/scenarios/vm/boot-runcommand-delete-with-disk.yaml new file mode 100644 index 00000000..9627c1ad --- /dev/null +++ b/samples/tasks/scenarios/vm/boot-runcommand-delete-with-disk.yaml @@ -0,0 +1,25 @@ +--- + VMTasks.boot_runcommand_delete: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + volume_args: + size: 2 + fixed_network: "private" + floating_network: "public" + use_floatingip: true + force_delete: false + script: "doc/samples/tasks/support/instance_dd_test.sh" + interpreter: "/bin/sh" + username: "cirros" + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/vm/boot-runcommand-delete.json b/samples/tasks/scenarios/vm/boot-runcommand-delete.json new file mode 100644 index 00000000..a2930107 --- /dev/null +++ b/samples/tasks/scenarios/vm/boot-runcommand-delete.json @@ -0,0 +1,32 @@ +{ + "VMTasks.boot_runcommand_delete": [ + { + "args": { + "flavor": { + "name": "m1.nano" + }, + "image": { + "name": "^cirros.*uec$" + }, + "fixed_network": "private", + "floating_network": "public", + "use_floatingip": true, + "force_delete": false, + "script": "doc/samples/tasks/support/instance_dd_test.sh", + "interpreter": "/bin/sh", + "username": "cirros" + }, + "runner": { + "type": "constant", + "times": 10, + "concurrency": 2 + }, + "context": { + "users": { + "tenants": 3, + "users_per_tenant": 2 + } + } + } + ] +} diff --git a/samples/tasks/scenarios/vm/boot-runcommand-delete.yaml b/samples/tasks/scenarios/vm/boot-runcommand-delete.yaml new file mode 100644 index 00000000..8347ce99 --- /dev/null +++ b/samples/tasks/scenarios/vm/boot-runcommand-delete.yaml @@ -0,0 +1,23 @@ +--- + VMTasks.boot_runcommand_delete: + - + args: + flavor: + name: "m1.nano" + image: + name: "^cirros.*uec$" + fixed_network: "private" + floating_network: "public" + use_floatingip: true + force_delete: false + script: "doc/samples/tasks/support/instance_dd_test.sh" + interpreter: "/bin/sh" + username: "cirros" + runner: + type: "constant" + times: 10 + concurrency: 2 + context: + users: + tenants: 3 + users_per_tenant: 2 diff --git a/samples/tasks/scenarios/zaqar/create-queue.json b/samples/tasks/scenarios/zaqar/create-queue.json new file mode 100644 index 00000000..f71f1308 --- /dev/null +++ b/samples/tasks/scenarios/zaqar/create-queue.json @@ -0,0 +1,14 @@ +{ + "ZaqarBasic.create_queue": [ + { + "args": { + "name_length": 10 + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + } + } + ] +} diff --git a/samples/tasks/scenarios/zaqar/create-queue.yaml b/samples/tasks/scenarios/zaqar/create-queue.yaml new file mode 100644 index 00000000..be3eaf16 --- /dev/null +++ b/samples/tasks/scenarios/zaqar/create-queue.yaml @@ -0,0 +1,9 @@ +--- + ZaqarBasic.create_queue: + - + args: + name_length: 10 + runner: + type: "constant" + times: 100 + concurrency: 10 diff --git a/samples/tasks/sla/README.rst b/samples/tasks/sla/README.rst new file mode 100644 index 00000000..cff8e52a --- /dev/null +++ b/samples/tasks/sla/README.rst @@ -0,0 +1,21 @@ +SLA Configuration Samples +========================= + +This directory contains SLA configuration samples. + +SLA (Service-level agreement) is set of details for determining compliance +with contracted values such as maximum error rate or minimum response time. + +Currently supported criteria: + + +max_failure_percent +------------------- + +Maximum allowed failure rate in percent. + + +max_seconds_per_iteration +------------------------- + +Maximum time in seconds per one iteration. diff --git a/samples/tasks/sla/create-and-delete-user.json b/samples/tasks/sla/create-and-delete-user.json new file mode 100644 index 00000000..3a536730 --- /dev/null +++ b/samples/tasks/sla/create-and-delete-user.json @@ -0,0 +1,18 @@ +{ + "KeystoneBasic.create_delete_user": [ + { + "args": { + "name_length": 10 + }, + "runner": { + "type": "constant", + "times": 100, + "concurrency": 10 + }, + "sla": { + "max_seconds_per_iteration": 4, + "max_failure_percent": 1 + } + } + ] +} diff --git a/samples/tasks/sla/create-and-delete-user.yaml b/samples/tasks/sla/create-and-delete-user.yaml new file mode 100644 index 00000000..fd511200 --- /dev/null +++ b/samples/tasks/sla/create-and-delete-user.yaml @@ -0,0 +1,12 @@ +--- + KeystoneBasic.create_delete_user: + - + args: + name_length: 10 + runner: + type: "constant" + times: 100 + concurrency: 10 + sla: + max_seconds_per_iteration: 4 + max_failure_percent: 1 diff --git a/samples/tasks/support/README.rst b/samples/tasks/support/README.rst new file mode 100644 index 00000000..cee3fe8e --- /dev/null +++ b/samples/tasks/support/README.rst @@ -0,0 +1,11 @@ +instance_linpack.sh +============= +instance_linpack.sh, will kick off a CPU intensive workload within a OpenStack instance. +This script will return the avg gflops and max gflops Linpack reports in a JSON format. +To run this workload, the VM must have linpack installed prior to running. + +instance_dd_test.sh +============= +instance_dd_test.sh, will kick off a IO intesnive workload within a OpenStack instance. +This script will return the write and read performance dd was able to achieve in a +JSON format. diff --git a/samples/tasks/support/instance_linpack.sh b/samples/tasks/support/instance_linpack.sh new file mode 100644 index 00000000..330180b3 --- /dev/null +++ b/samples/tasks/support/instance_linpack.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# Location of Linpack binary +LINPACK='/opt/linpack/xlinpack_xeon64' +type -P $LINPACK &>/dev/null && continue || { echo "Linpack Not Found"; exit 1 } + +# Location to create linpack dat file +LINPACK_DAT='~/linpack.dat' + +NUM_CPU=`cat /proc/cpuinfo | grep processor | wc -l` +export OMP_NUM_THREADS=$NUM_CPU +echo "Sample Intel(R) LINPACK data file (from lininput_xeon64)" > ${LINPACK_DAT} +echo "Intel(R) LINPACK data" >> ${LINPACK_DAT} +echo "1 # number of tests" >> ${LINPACK_DAT} +echo "10514 # problem sizes" >> ${LINPACK_DAT} +echo "20016 # leading dimensions" >> ${LINPACK_DAT} +echo "2 # times to run a test " >> ${LINPACK_DAT} +echo "4 # alignment values (in KBytes)" >> ${LINPACK_DAT} +OUTPUT=$(${LINPACK} < ${LINPACK_DAT} | grep -A 1 Average | grep 20016) +AVERAGE=$(echo $OUTPUT | awk '{print $4}') +MAX=$(echo $OUTPUT | awk '{print $5}') + +echo "{ + \"average_gflops\": $AVERAGE, + \"max_gflops\": $MAX + }" diff --git a/tests/unit/doc/test_task_samples.py b/tests/unit/doc/test_task_samples.py index 31bb6cdc..3af3973c 100644 --- a/tests/unit/doc/test_task_samples.py +++ b/tests/unit/doc/test_task_samples.py @@ -30,7 +30,7 @@ class TaskSampleTestCase(test.TestCase): samples_path = os.path.join( os.path.dirname(__file__), os.pardir, os.pardir, os.pardir, - "doc", "samples", "tasks") + "samples", "tasks") @mock.patch("rally.benchmark.engine.BenchmarkEngine" "._validate_config_semantic")