aboutsummaryrefslogtreecommitdiffstats
path: root/functest/opnfv_tests/OpenStack/rally/scenario
diff options
context:
space:
mode:
Diffstat (limited to 'functest/opnfv_tests/OpenStack/rally/scenario')
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-cinder.yaml266
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-heat.yaml140
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-neutron.yaml239
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-nova.yaml369
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/opnfv-authenticate.yaml63
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/opnfv-glance.yaml49
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/opnfv-keystone.yaml92
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/opnfv-quotas.yaml54
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/opnfv-requests.yaml11
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/opnfv-vm.yaml42
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-cinder.yaml84
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-heat.yaml42
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-neutron.yaml152
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-nova.yaml140
-rwxr-xr-xfunctest/opnfv_tests/OpenStack/rally/scenario/support/instance_dd_test.sh13
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/autoscaling_policy.yaml.template17
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/default.yaml.template1
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/random_strings.yaml.template13
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/resource_group.yaml.template13
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/server_with_ports.yaml.template64
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/server_with_volume.yaml.template43
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_autoscaling_policy_inplace.yaml.template23
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_add.yaml.template19
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_delete.yaml.template11
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_replace.yaml.template19
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_resource_group_increase.yaml.template16
-rw-r--r--functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_resource_group_reduce.yaml.template16
27 files changed, 2011 insertions, 0 deletions
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-cinder.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-cinder.yaml
new file mode 100644
index 00000000..e844e33f
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-cinder.yaml
@@ -0,0 +1,266 @@
+ CinderVolumes.create_and_attach_volume:
+ -
+ args:
+ {{ vm_params(image_name,flavor_name,1) }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_and_list_snapshots:
+ -
+ args:
+ detailed: true
+ force: false
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {{ volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_and_list_volume:
+ -
+ args:
+ detailed: true
+ {{ vm_params(image_name,none,1) }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ detailed: true
+ size: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_and_upload_volume_to_image:
+ -
+ args:
+ container_format: "bare"
+ disk_format: "raw"
+ do_delete: true
+ force: false
+ size: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_nested_snapshots_and_attach_volume:
+ -
+ args:
+ nested_level: 1
+ size:
+ max: 1
+ min: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ servers:
+ {{ vm_params(image_name,flavor_name,none)|indent(2,true) }}
+ servers_per_tenant: 1
+ auto_assign_nic: true
+ network: {}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_snapshot_and_attach_volume:
+ -
+ args:
+ volume_type: false
+ size:
+ min: 1
+ max: 5
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ servers:
+ {{ vm_params(image_name,flavor_name,none)|indent(2,true) }}
+ servers_per_tenant: 2
+ auto_assign_nic: true
+ network: {}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ volume_type: true
+ size:
+ min: 1
+ max: 5
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ servers:
+ {{ vm_params(image_name,flavor_name,none)|indent(2,true) }}
+ servers_per_tenant: 2
+ auto_assign_nic: true
+ network: {}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_volume:
+ -
+ args:
+ size: 1
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ -
+ args:
+ size:
+ min: 1
+ max: 5
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.list_volumes:
+ -
+ args:
+ detailed: True
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ volumes:
+ size: 1
+ volumes_per_tenant: 4
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_and_delete_snapshot:
+ -
+ args:
+ force: false
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {{ volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_and_delete_volume:
+ -
+ args:
+ size:
+ max: 1
+ min: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ {{ vm_params(image_name,none,1) }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ size: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_and_extend_volume:
+ -
+ args:
+ new_size: 2
+ size: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_from_volume_and_delete_volume:
+ -
+ args:
+ size: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {{ volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-heat.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-heat.yaml
new file mode 100644
index 00000000..6f3a5c16
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-heat.yaml
@@ -0,0 +1,140 @@
+ HeatStacks.create_and_delete_stack:
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/default.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/server_with_ports.yaml.template"
+ parameters:
+ public_net: {{ floating_network }}
+ image: {{ image_name }}
+ flavor: {{ flavor_name }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/server_with_volume.yaml.template"
+ parameters:
+ image: {{ image_name }}
+ flavor: {{ flavor_name }}
+ network_id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ HeatStacks.create_and_list_stack:
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/default.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ HeatStacks.create_update_delete_stack:
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/random_strings.yaml.template"
+ updated_template_path: "{{ tmpl_dir }}/updated_random_strings_add.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/random_strings.yaml.template"
+ updated_template_path: "{{ tmpl_dir }}/updated_random_strings_delete.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/resource_group.yaml.template"
+ updated_template_path: "{{ tmpl_dir }}/updated_resource_group_increase.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/autoscaling_policy.yaml.template"
+ updated_template_path: "{{ tmpl_dir }}/updated_autoscaling_policy_inplace.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/resource_group.yaml.template"
+ updated_template_path: "{{ tmpl_dir }}/updated_resource_group_reduce.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/random_strings.yaml.template"
+ updated_template_path: "{{ tmpl_dir }}/updated_random_strings_replace.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ HeatStacks.create_check_delete_stack:
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/random_strings.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ HeatStacks.create_suspend_resume_delete_stack:
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/random_strings.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ HeatStacks.list_stacks_and_resources:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-neutron.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-neutron.yaml
new file mode 100644
index 00000000..0a773533
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-neutron.yaml
@@ -0,0 +1,239 @@
+ NeutronNetworks.create_and_update_networks:
+ -
+ args:
+ network_create_args: {}
+ network_update_args:
+ admin_state_up: false
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ neutron:
+ network: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_update_ports:
+ -
+ args:
+ network_create_args: {}
+ port_create_args: {}
+ port_update_args:
+ admin_state_up: false
+ device_id: "dummy_id"
+ device_owner: "dummy_owner"
+ ports_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ port: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_update_routers:
+ -
+ args:
+ network_create_args: {}
+ router_create_args: {}
+ router_update_args:
+ admin_state_up: false
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ port: -1
+ router: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_update_subnets:
+ -
+ args:
+ network_create_args: {}
+ subnet_cidr_start: "1.4.0.0/16"
+ subnet_create_args: {}
+ subnet_update_args:
+ enable_dhcp: false
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_delete_networks:
+ -
+ args:
+ network_create_args: {}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ neutron:
+ network: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_delete_ports:
+ -
+ args:
+ network_create_args: {}
+ port_create_args: {}
+ ports_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ port: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_delete_routers:
+ -
+ args:
+ network_create_args: {}
+ router_create_args: {}
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ port: -1
+ router: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_delete_subnets:
+ -
+ args:
+ network_create_args: {}
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_list_networks:
+ -
+ args:
+ network_create_args: {}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ neutron:
+ network: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_list_ports:
+ -
+ args:
+ network_create_args: {}
+ port_create_args: {}
+ ports_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ port: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_list_routers:
+ -
+ args:
+ network_create_args: {}
+ router_create_args: {}
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ router: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_list_subnets:
+ -
+ args:
+ network_create_args: {}
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-nova.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-nova.yaml
new file mode 100644
index 00000000..d7622093
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/full/opnfv-nova.yaml
@@ -0,0 +1,369 @@
+ NovaKeypair.create_and_delete_keypair:
+ -
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_nova(keypairs=true) }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaKeypair.create_and_list_keypairs:
+ -
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_nova(keypairs=true) }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_and_bounce_server:
+ -
+ args:
+ actions:
+ -
+ hard_reboot: 1
+ -
+ soft_reboot: 1
+ -
+ stop_start: 1
+ -
+ rescue_unrescue: 1
+ {{ vm_params(image_name, flavor_name) }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_and_delete_server:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_and_list_server:
+ -
+ args:
+ detailed: true
+ {{ vm_params(image_name, flavor_name) }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_and_rebuild_server:
+ -
+ args:
+ {{ vm_params(flavor=flavor_name) }}
+ from_image:
+ name: {{ image_name }}
+ to_image:
+ name: {{ image_name }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.snapshot_server:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_server_from_volume:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ volume_size: 10
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_server:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaSecGroup.create_and_delete_secgroups:
+ -
+ args:
+ security_group_count: 10
+ rules_per_security_group: 10
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_neutron(secgroups=true) }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaSecGroup.create_and_list_secgroups:
+ -
+ args:
+ security_group_count: 10
+ rules_per_security_group: 10
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_neutron(secgroups=true) }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.list_servers:
+ -
+ args:
+ detailed: True
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ servers:
+ {{ vm_params(image_name,flavor_name,none)|indent(2,true) }}
+ servers_per_tenant: 2
+ auto_assign_nic: true
+ network: {}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.resize_server:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ to_flavor:
+ name: "m1.small"
+ confirm: true
+ force_delete: false
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_and_live_migrate_server:
+ - args:
+ {{ vm_params(image_name, flavor_name) }}
+ block_migration: false
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_server_attach_created_volume_and_live_migrate:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ size: 10
+ block_migration: false
+ boot_server_kwargs:
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_server_from_volume_and_live_migrate:
+ - args:
+ {{ vm_params(image_name, flavor_name) }}
+ block_migration: false
+ volume_size: 10
+ force_delete: false
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaKeypair.boot_and_delete_server_with_keypair:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ server_kwargs:
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova(keypairs=true) }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_server_from_volume_and_delete:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ volume_size: 5
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_volumes() }}
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.pause_and_unpause_server:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ force_delete: false
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaSecGroup.boot_and_delete_server_with_secgroups:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ security_group_count: 10
+ rules_per_security_group: 10
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_nova() }}
+ {{ unlimited_neutron(secgroups=true) }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_and_migrate_server:
+ - args:
+ {{ vm_params(image_name, flavor_name) }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-authenticate.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-authenticate.yaml
new file mode 100644
index 00000000..a04e4c1c
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-authenticate.yaml
@@ -0,0 +1,63 @@
+ Authenticate.keystone:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Authenticate.validate_cinder:
+ -
+ args:
+ repetitions: 2
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Authenticate.validate_glance:
+ -
+ args:
+ repetitions: 2
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Authenticate.validate_heat:
+ -
+ args:
+ repetitions: 2
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Authenticate.validate_neutron:
+ -
+ args:
+ repetitions: 2
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Authenticate.validate_nova:
+ -
+ args:
+ repetitions: 2
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-glance.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-glance.yaml
new file mode 100644
index 00000000..3a67e745
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-glance.yaml
@@ -0,0 +1,49 @@
+ GlanceImages.create_and_delete_image:
+ -
+ args:
+ {{ glance_args(location=glance_image_location, type=glance_image_format) }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ GlanceImages.create_and_list_image:
+ -
+ args:
+ {{ glance_args(location=glance_image_location, type=glance_image_format) }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ GlanceImages.list_images:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ GlanceImages.create_image_and_boot_instances:
+ -
+ args:
+ {{ glance_args(location=glance_image_location, type=glance_image_format) }}
+ flavor:
+ name: {{ flavor_name }}
+ number_instances: 2
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ quotas:
+ {{ unlimited_nova() }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-keystone.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-keystone.yaml
new file mode 100644
index 00000000..bfc9948b
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-keystone.yaml
@@ -0,0 +1,92 @@
+ KeystoneBasic.add_and_remove_user_role:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_add_and_list_user_roles:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_and_list_tenants:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_and_delete_role:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_and_delete_service:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.get_entities:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_update_and_delete_tenant:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_user:
+ -
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_tenant:
+ -
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_and_list_users:
+ -
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ KeystoneBasic.create_tenant_with_users:
+ -
+ args:
+ users_per_tenant: 10
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-quotas.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-quotas.yaml
new file mode 100644
index 00000000..a0682acc
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-quotas.yaml
@@ -0,0 +1,54 @@
+ Quotas.cinder_update_and_delete:
+ -
+ args:
+ max_quota: 1024
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Quotas.cinder_update:
+ -
+ args:
+ max_quota: 1024
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Quotas.neutron_update:
+ -
+ args:
+ max_quota: 1024
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Quotas.nova_update_and_delete:
+ -
+ args:
+ max_quota: 1024
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ Quotas.nova_update:
+ -
+ args:
+ max_quota: 1024
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-requests.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-requests.yaml
new file mode 100644
index 00000000..16136978
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-requests.yaml
@@ -0,0 +1,11 @@
+ HttpRequests.check_request:
+ -
+ args:
+ url: "{{ request_url }}"
+ method: "GET"
+ status_code: 200
+ allow_redirects: True
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-vm.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-vm.yaml
new file mode 100644
index 00000000..74f50992
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/opnfv-vm.yaml
@@ -0,0 +1,42 @@
+ VMTasks.boot_runcommand_delete:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ floating_network: {{ floating_network }}
+ force_delete: false
+ command:
+ interpreter: /bin/sh
+ script_file: {{ sup_dir }}/instance_dd_test.sh
+ username: cirros
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ fixed_network: private
+ floating_network: {{ floating_network }}
+ force_delete: false
+ command:
+ interpreter: /bin/sh
+ script_file: {{ sup_dir }}/instance_dd_test.sh
+ use_floatingip: true
+ username: cirros
+ nics:
+ - net-id: {{ netid }}
+ volume_args:
+ size: 2
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-cinder.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-cinder.yaml
new file mode 100644
index 00000000..5962b1db
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-cinder.yaml
@@ -0,0 +1,84 @@
+ CinderVolumes.create_and_delete_snapshot:
+ -
+ args:
+ force: false
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {{ volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_and_delete_volume:
+ -
+ args:
+ size:
+ max: 1
+ min: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ {{ vm_params(image_name,none,1) }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+ -
+ args:
+ size: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_and_extend_volume:
+ -
+ args:
+ new_size: 2
+ size: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ CinderVolumes.create_from_volume_and_delete_volume:
+ -
+ args:
+ size: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ {{ unlimited_volumes() }}
+ {{ volumes() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-heat.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-heat.yaml
new file mode 100644
index 00000000..dc34cc3f
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-heat.yaml
@@ -0,0 +1,42 @@
+ HeatStacks.create_update_delete_stack:
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/autoscaling_policy.yaml.template"
+ updated_template_path: "{{ tmpl_dir }}/updated_autoscaling_policy_inplace.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ HeatStacks.create_check_delete_stack:
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/random_strings.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ HeatStacks.create_suspend_resume_delete_stack:
+ -
+ args:
+ template_path: "{{ tmpl_dir }}/random_strings.yaml.template"
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ HeatStacks.list_stacks_and_resources:
+ -
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-neutron.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-neutron.yaml
new file mode 100644
index 00000000..159f2b63
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-neutron.yaml
@@ -0,0 +1,152 @@
+ NeutronNetworks.create_and_delete_networks:
+ -
+ args:
+ network_create_args: {}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ neutron:
+ network: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_delete_ports:
+ -
+ args:
+ network_create_args: {}
+ port_create_args: {}
+ ports_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ port: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_delete_routers:
+ -
+ args:
+ network_create_args: {}
+ router_create_args: {}
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ port: -1
+ router: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_delete_subnets:
+ -
+ args:
+ network_create_args: {}
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_list_networks:
+ -
+ args:
+ network_create_args: {}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ quotas:
+ neutron:
+ network: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_list_ports:
+ -
+ args:
+ network_create_args: {}
+ port_create_args: {}
+ ports_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ port: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_list_routers:
+ -
+ args:
+ network_create_args: {}
+ router_create_args: {}
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ router: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NeutronNetworks.create_and_list_subnets:
+ -
+ args:
+ network_create_args: {}
+ subnet_cidr_start: "1.1.0.0/30"
+ subnet_create_args: {}
+ subnets_per_network: 1
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network: {}
+ quotas:
+ neutron:
+ network: -1
+ subnet: -1
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-nova.yaml b/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-nova.yaml
new file mode 100644
index 00000000..e2795cf7
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/sanity/opnfv-nova.yaml
@@ -0,0 +1,140 @@
+ NovaServers.boot_and_live_migrate_server:
+ - args:
+ {{ vm_params(image_name, flavor_name) }}
+ block_migration: false
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_server_attach_created_volume_and_live_migrate:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ size: 10
+ block_migration: false
+ boot_server_kwargs:
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_server_from_volume_and_live_migrate:
+ - args:
+ {{ vm_params(image_name, flavor_name) }}
+ block_migration: false
+ volume_size: 10
+ force_delete: false
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaKeypair.boot_and_delete_server_with_keypair:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ server_kwargs:
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova(keypairs=true) }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_server_from_volume_and_delete:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ volume_size: 5
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_volumes() }}
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.pause_and_unpause_server:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ force_delete: false
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ networks_per_tenant: 1
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_neutron() }}
+ {{ unlimited_nova() }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaSecGroup.boot_and_delete_server_with_secgroups:
+ -
+ args:
+ {{ vm_params(image_name, flavor_name) }}
+ security_group_count: 10
+ rules_per_security_group: 10
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {% call user_context(tenants_amount, users_amount, use_existing_users) %}
+ network:
+ start_cidr: "100.1.0.0/25"
+ quotas:
+ {{ unlimited_nova() }}
+ {{ unlimited_neutron(secgroups=true) }}
+ {% endcall %}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
+
+ NovaServers.boot_and_migrate_server:
+ - args:
+ {{ vm_params(image_name, flavor_name) }}
+ nics:
+ - net-id: {{ netid }}
+ context:
+ {{ user_context(tenants_amount, users_amount, use_existing_users) }}
+ runner:
+ {{ constant_runner(concurrency=concurrency, times=iterations, is_smoke=smoke) }}
+ sla:
+ {{ no_failures_sla() }}
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/support/instance_dd_test.sh b/functest/opnfv_tests/OpenStack/rally/scenario/support/instance_dd_test.sh
new file mode 100755
index 00000000..e3bf2340
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/support/instance_dd_test.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+time_seconds(){ (time -p $1 ) 2>&1 |awk '/real/{print $2}'; }
+file=/tmp/test.img
+c=${1:-$SIZE}
+c=${c:-1000} #default is 1GB
+write_seq=$(time_seconds "dd if=/dev/zero of=$file bs=1M count=$c")
+read_seq=$(time_seconds "dd if=$file of=/dev/null bs=1M count=$c")
+[ -f $file ] && rm $file
+
+echo "{
+ \"write_seq_${c}m\": $write_seq,
+ \"read_seq_${c}m\": $read_seq
+ }"
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/autoscaling_policy.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/autoscaling_policy.yaml.template
new file mode 100644
index 00000000..a22487e3
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/autoscaling_policy.yaml.template
@@ -0,0 +1,17 @@
+heat_template_version: 2013-05-23
+
+resources:
+ test_group:
+ type: OS::Heat::AutoScalingGroup
+ properties:
+ desired_capacity: 0
+ max_size: 0
+ min_size: 0
+ resource:
+ type: OS::Heat::RandomString
+ test_policy:
+ type: OS::Heat::ScalingPolicy
+ properties:
+ adjustment_type: change_in_capacity
+ auto_scaling_group_id: { get_resource: test_group }
+ scaling_adjustment: 1 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/default.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/default.yaml.template
new file mode 100644
index 00000000..eb4f2f2d
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/default.yaml.template
@@ -0,0 +1 @@
+heat_template_version: 2014-10-16 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/random_strings.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/random_strings.yaml.template
new file mode 100644
index 00000000..2dd676c1
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/random_strings.yaml.template
@@ -0,0 +1,13 @@
+heat_template_version: 2014-10-16
+
+description: Test template for rally create-update-delete scenario
+
+resources:
+ test_string_one:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20
+ test_string_two:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/resource_group.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/resource_group.yaml.template
new file mode 100644
index 00000000..b3f505fa
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/resource_group.yaml.template
@@ -0,0 +1,13 @@
+heat_template_version: 2014-10-16
+
+description: Test template for rally create-update-delete scenario
+
+resources:
+ test_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 2
+ resource_def:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/server_with_ports.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/server_with_ports.yaml.template
new file mode 100644
index 00000000..909f45d2
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/server_with_ports.yaml.template
@@ -0,0 +1,64 @@
+heat_template_version: 2013-05-23
+
+parameters:
+ # set all correct defaults for parameters before launch test
+ public_net:
+ type: string
+ default: public
+ image:
+ type: string
+ default: cirros-0.3.4-x86_64-uec
+ flavor:
+ type: string
+ default: m1.tiny
+ cidr:
+ type: string
+ default: 11.11.11.0/24
+
+resources:
+ server:
+ type: OS::Nova::Server
+ properties:
+ image: {get_param: image}
+ flavor: {get_param: flavor}
+ networks:
+ - port: { get_resource: server_port }
+
+ router:
+ type: OS::Neutron::Router
+ properties:
+ external_gateway_info:
+ network: {get_param: public_net}
+
+ router_interface:
+ type: OS::Neutron::RouterInterface
+ properties:
+ router_id: { get_resource: router }
+ subnet_id: { get_resource: private_subnet }
+
+ private_net:
+ type: OS::Neutron::Net
+
+ private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network: { get_resource: private_net }
+ cidr: {get_param: cidr}
+
+ port_security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ name: default_port_security_group
+ description: >
+ Default security group assigned to port. The neutron default group is not
+ used because neutron creates several groups with the same name=default and
+ nova cannot chooses which one should it use.
+
+ server_port:
+ type: OS::Neutron::Port
+ properties:
+ network: {get_resource: private_net}
+ fixed_ips:
+ - subnet: { get_resource: private_subnet }
+ security_groups:
+ - { get_resource: port_security_group }
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/server_with_volume.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/server_with_volume.yaml.template
new file mode 100644
index 00000000..826ca9da
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/server_with_volume.yaml.template
@@ -0,0 +1,43 @@
+heat_template_version: 2013-05-23
+
+parameters:
+ # set all correct defaults for parameters before launch test
+ image:
+ type: string
+ default: cirros-0.3.4-x86_64-uec
+ flavor:
+ type: string
+ default: m1.tiny
+ availability_zone:
+ type: string
+ description: The Availability Zone to launch the instance.
+ default: nova
+ volume_size:
+ type: number
+ description: Size of the volume to be created.
+ default: 1
+ constraints:
+ - range: { min: 1, max: 1024 }
+ description: must be between 1 and 1024 Gb.
+ network_id:
+ type: string
+
+resources:
+ server:
+ type: OS::Nova::Server
+ properties:
+ image: {get_param: image}
+ flavor: {get_param: flavor}
+ networks:
+ - network: { get_param: network_id }
+ cinder_volume:
+ type: OS::Cinder::Volume
+ properties:
+ size: { get_param: volume_size }
+ availability_zone: { get_param: availability_zone }
+ volume_attachment:
+ type: OS::Cinder::VolumeAttachment
+ properties:
+ volume_id: { get_resource: cinder_volume }
+ instance_uuid: { get_resource: server}
+ mountpoint: /dev/vdc
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_autoscaling_policy_inplace.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_autoscaling_policy_inplace.yaml.template
new file mode 100644
index 00000000..cf34879c
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_autoscaling_policy_inplace.yaml.template
@@ -0,0 +1,23 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Test template for create-update-delete-stack scenario in rally.
+ The template updates resource parameters without resource re-creation(replacement)
+ in the stack defined by autoscaling_policy.yaml.template. It allows to measure
+ performance of "pure" resource update operation only.
+
+resources:
+ test_group:
+ type: OS::Heat::AutoScalingGroup
+ properties:
+ desired_capacity: 0
+ max_size: 0
+ min_size: 0
+ resource:
+ type: OS::Heat::RandomString
+ test_policy:
+ type: OS::Heat::ScalingPolicy
+ properties:
+ adjustment_type: change_in_capacity
+ auto_scaling_group_id: { get_resource: test_group }
+ scaling_adjustment: -1 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_add.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_add.yaml.template
new file mode 100644
index 00000000..e06d42e0
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_add.yaml.template
@@ -0,0 +1,19 @@
+heat_template_version: 2014-10-16
+
+description: >
+ Test template for create-update-delete-stack scenario in rally.
+ The template updates the stack defined by random_strings.yaml.template with additional resource.
+
+resources:
+ test_string_one:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20
+ test_string_two:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20
+ test_string_three:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_delete.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_delete.yaml.template
new file mode 100644
index 00000000..d02593e3
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_delete.yaml.template
@@ -0,0 +1,11 @@
+heat_template_version: 2014-10-16
+
+description: >
+ Test template for create-update-delete-stack scenario in rally.
+ The template deletes one resource from the stack defined by random_strings.yaml.template.
+
+resources:
+ test_string_one:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_replace.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_replace.yaml.template
new file mode 100644
index 00000000..46d8bff4
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_random_strings_replace.yaml.template
@@ -0,0 +1,19 @@
+heat_template_version: 2014-10-16
+
+description: >
+ Test template for create-update-delete-stack scenario in rally.
+ The template deletes one resource from the stack defined by
+ random_strings.yaml.template and re-creates it with the updated parameters
+ (so-called update-replace). That happens because some parameters cannot be
+ changed without resource re-creation. The template allows to measure performance
+ of update-replace operation.
+
+resources:
+ test_string_one:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20
+ test_string_two:
+ type: OS::Heat::RandomString
+ properties:
+ length: 40 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_resource_group_increase.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_resource_group_increase.yaml.template
new file mode 100644
index 00000000..891074eb
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_resource_group_increase.yaml.template
@@ -0,0 +1,16 @@
+heat_template_version: 2014-10-16
+
+description: >
+ Test template for create-update-delete-stack scenario in rally.
+ The template updates one resource from the stack defined by resource_group.yaml.template
+ and adds children resources to that resource.
+
+resources:
+ test_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 3
+ resource_def:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20 \ No newline at end of file
diff --git a/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_resource_group_reduce.yaml.template b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_resource_group_reduce.yaml.template
new file mode 100644
index 00000000..b4d1d173
--- /dev/null
+++ b/functest/opnfv_tests/OpenStack/rally/scenario/templates/updated_resource_group_reduce.yaml.template
@@ -0,0 +1,16 @@
+heat_template_version: 2014-10-16
+
+description: >
+ Test template for create-update-delete-stack scenario in rally.
+ The template updates one resource from the stack defined by resource_group.yaml.template
+ and deletes children resources from that resource.
+
+resources:
+ test_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 1
+ resource_def:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20 \ No newline at end of file