Scenario Catalog¶
Scenarios¶
OpenStack instances metadata query¶
In this scenario Shaker launches ten instances on a single compute node and asks instances to retrieve the metadata. The scenario is used to load metadata processes.
To use this scenario specify parameter --scenario misc/instance_metadata
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/misc/instance_metadata.yaml
OpenStack L2 Cross-AZ¶
In this scenario Shaker launches pairs of instances in the same tenant network. Every instance is hosted on a separate compute node, all available compute nodes are utilized. The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones. The traffic goes within the tenant network (L2 domain).
To use this scenario specify parameter --scenario openstack/cross_az/full_l2
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/full_l2.yaml
OpenStack L3 East-West Cross-AZ¶
In this scenario Shaker launches pairs of instances, each instance on its own compute node. All available compute nodes are utilized. Instances are connected to one of 2 tenant networks, which plugged into single router. The traffic goes from one network to the other (L3 east-west). The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones.
To use this scenario specify parameter --scenario openstack/cross_az/full_l3_east_west
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/full_l3_east_west.yaml
OpenStack L3 North-South Cross-AZ¶
In this scenario Shaker launches pairs of instances on different compute nodes. All available compute nodes are utilized. Instances are in different networks connected to different routers, primary accesses minion by floating ip. The traffic goes from one network via external network to the other network. The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones.
To use this scenario specify parameter --scenario openstack/cross_az/full_l3_north_south
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/full_l3_north_south.yaml
OpenStack L2 Cross-AZ Performance¶
In this scenario Shaker launches 1 pair of instances in the same tenant network. Each instance is hosted on a separate compute node. The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones.
To use this scenario specify parameter --scenario openstack/cross_az/perf_l2
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/perf_l2.yaml
OpenStack L3 East-West Cross-AZ Performance¶
In this scenario Shaker launches 1 pair of instances, each instance on its own compute node. Instances are connected to one of 2 tenant networks, which plugged into single router. The traffic goes from one network to the other (L3 east-west). The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones.
To use this scenario specify parameter --scenario openstack/cross_az/perf_l3_east_west
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/perf_l3_east_west.yaml
OpenStack L3 North-South Cross-AZ Performance¶
In this scenario Shaker launches 1 pair of instances on different compute nodes. Instances are in different networks connected to different routers, primary accesses minion by floating ip. The traffic goes from one network via external network to the other network. The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones.
To use this scenario specify parameter --scenario openstack/cross_az/perf_l3_north_south
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/perf_l3_north_south.yaml
OpenStack L2 Cross-AZ UDP¶
In this scenario Shaker launches pairs of instances in the same tenant network. Every instance is hosted on a separate compute node. The load is generated by UDP traffic. The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones.
To use this scenario specify parameter --scenario openstack/cross_az/udp_l2
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/udp_l2.yaml
OpenStack L2 Cross-AZ UDP Jumbo¶
In this scenario Shaker launches pairs of instances in the same tenant network. Every instance is hosted on a separate compute node. The load is generated by UDP traffic and jumbo packets. The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones.
To use this scenario specify parameter --scenario openstack/cross_az/udp_l2_mss8950
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/udp_l2_mss8950.yaml
OpenStack L3 East-West Cross-AZ UDP¶
In this scenario Shaker launches pairs of instances, each instance on its own compute node. Instances are connected to one of 2 tenant networks, which plugged into single router. The traffic goes from one network to the other (L3 east-west). The load is generated by UDP traffic. The primary and minion instances are in different availability zones. The scenario is used to test throughput between nova and vcenter zones.
To use this scenario specify parameter --scenario openstack/cross_az/udp_l3_east_west
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/udp_l3_east_west.yaml
OpenStack L2 Dense¶
In this scenario Shaker launches several pairs of instances on a single compute node. Instances are plugged into the same tenant network. The traffic goes within the tenant network (L2 domain).
To use this scenario specify parameter --scenario openstack/dense_l2
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/dense_l2.yaml
OpenStack L3 East-West Dense¶
In this scenario Shaker launches pairs of instances on the same compute node. Instances are connected to different tenant networks connected to one router. The traffic goes from one network to the other (L3 east-west).
To use this scenario specify parameter --scenario openstack/dense_l3_east_west
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/dense_l3_east_west.yaml
OpenStack L3 North-South Dense¶
In this scenario Shaker launches pairs of instances on the same compute node. Instances are connected to different tenant networks, each connected to own router. Instances in one of networks have floating IPs. The traffic goes from one network via external network to the other network.
To use this scenario specify parameter --scenario openstack/dense_l3_north_south
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/dense_l3_north_south.yaml
OpenStack L3 North-South Dense to external target¶
In this scenario Shaker launches instances on one compute node in a tenant
network connected to external network. The traffic is sent to and from external
host. The host name needs to be provided as command-line parameter, e.g.
--matrix "{host: 172.10.1.2}"
.
To use this scenario specify parameter --scenario openstack/external/dense_l3_north_south_no_fip
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/external/dense_l3_north_south_no_fip.yaml
OpenStack L3 North-South Dense to external target with floating IP¶
In this scenario Shaker launches instances on one compute node in a tenant
network connected to external network. All instances have floating IPs. The
traffic is sent to and from external host. The host name needs to be provided
as command-line parameter, e.g. --matrix "{host: 172.10.1.2}"
.
To use this scenario specify parameter --scenario openstack/external/dense_l3_north_south_with_fip
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/external/dense_l3_north_south_with_fip.yaml
OpenStack L3 North-South to external target¶
In this scenario Shaker launches instances in a tenant network connected to
external network. Every instance is hosted on dedicated compute node. All
available compute nodes are utilized. The traffic is sent to and from external
host (L3 north-south). The host name needs to be provided as command-line
parameter, e.g. --matrix "{host: 172.10.1.2}"
.
To use this scenario specify parameter --scenario openstack/external/full_l3_north_south_no_fip
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/external/full_l3_north_south_no_fip.yaml
OpenStack L3 North-South to external target with floating IP¶
In this scenario Shaker launches instances in a tenant network connected to
external network. Every instance is hosted on dedicated compute node. All
available compute nodes are utilized. All instances have floating IPs. The
traffic is sent to and from external host (L3 north-south). The host name needs
to be provided as command-line parameter, e.g. --matrix "{host:
172.10.1.2}"
.
To use this scenario specify parameter --scenario openstack/external/full_l3_north_south_with_fip
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/external/full_l3_north_south_with_fip.yaml
OpenStack L3 North-South Performance to external target¶
In this scenario Shaker launches instance in a tenant network connected to
external network. The traffic is sent to and from external host. By default one
of public iperf3 servers is used, to override this the target host can be
provided as command-line parameter, e.g. --matrix "{host: 172.10.1.2}"
.
To use this scenario specify parameter --scenario openstack/external/perf_l3_north_south_no_fip
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/external/perf_l3_north_south_no_fip.yaml
OpenStack L3 North-South performance to external target with floating IP¶
In this scenario Shaker launches instance in a tenant network connected to
external network. The instance has floating IP. The traffic is sent to and from
external host. By default one of public iperf3 servers is used, to override
this the target host can be provided as command-line parameter, e.g. --matrix
"{host: 172.10.1.2}"
.
To use this scenario specify parameter --scenario openstack/external/perf_l3_north_south_with_fip
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/external/perf_l3_north_south_with_fip.yaml
OpenStack L2¶
In this scenario Shaker launches pairs of instances in the same tenant network. Every instance is hosted on a separate compute node, all available compute nodes are utilized. The traffic goes within the tenant network (L2 domain).
To use this scenario specify parameter --scenario openstack/full_l2
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/full_l2.yaml
OpenStack L3 East-West¶
In this scenario Shaker launches pairs of instances, each instance on its own compute node. All available compute nodes are utilized. Instances are connected to one of 2 tenant networks, which plugged into single router. The traffic goes from one network to the other (L3 east-west).
To use this scenario specify parameter --scenario openstack/full_l3_east_west
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/full_l3_east_west.yaml
OpenStack L3 North-South¶
In this scenario Shaker launches pairs of instances on different compute nodes. All available compute nodes are utilized. Instances are in different networks connected to different routers, primary accesses minion by floating ip. The traffic goes from one network via external network to the other network.
To use this scenario specify parameter --scenario openstack/full_l3_north_south
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/full_l3_north_south.yaml
OpenStack L2 Performance¶
In this scenario Shaker launches 1 pair of instances in the same tenant network. Each instance is hosted on a separate compute node. The traffic goes within the tenant network (L2 domain).
To use this scenario specify parameter --scenario openstack/perf_l2
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/perf_l2.yaml
OpenStack L3 East-West Performance¶
In this scenario Shaker launches 1 pair of instances, each instance on its own compute node. Instances are connected to one of 2 tenant networks, which plugged into single router. The traffic goes from one network to the other (L3 east-west).
To use this scenario specify parameter --scenario openstack/perf_l3_east_west
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/perf_l3_east_west.yaml
OpenStack L3 North-South Performance¶
In this scenario Shaker launches 1 pair of instances on different compute nodes. Instances are in different networks connected to different routers, primary accesses minion by floating ip. The traffic goes from one network via external network to the other network.
To use this scenario specify parameter --scenario openstack/perf_l3_north_south
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/perf_l3_north_south.yaml
OpenStack L2 QoS Performance¶
In this scenario Shaker launches 1 pair of instances in the same tenant network. Each instance is hosted on a separate compute node. The traffic goes within the tenant network (L2 domain). Neutron QoS feature is used to limit traffic throughput to 10 Mbit/s.
To use this scenario specify parameter --scenario openstack/qos/perf_l2
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/qos/perf_l2.yaml
OpenStack L2 UDP¶
In this scenario Shaker launches pairs of instances in the same tenant network. Every instance is hosted on a separate compute node. The traffic goes within the tenant network (L2 domain). The load is generated by UDP traffic.
To use this scenario specify parameter --scenario openstack/udp_l2
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/udp_l2.yaml
OpenStack L3 East-West UDP¶
In this scenario Shaker launches pairs of instances, each instance on its own compute node. Instances are connected to one of 2 tenant networks, which plugged into single router. The traffic goes from one network to the other (L3 east-west). The load is generated by UDP traffic.
To use this scenario specify parameter --scenario openstack/udp_l3_east_west
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/udp_l3_east_west.yaml
OpenStack L3 North-South UDP¶
In this scenario Shaker launches pairs of instances on different compute nodes. Instances are in different networks connected to different routers, primary accesses minion by floating ip. The traffic goes from one network via external network to the other network. The load is generated by UDP traffic.
To use this scenario specify parameter --scenario openstack/udp_l3_north_south
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/udp_l3_north_south.yaml
Ping¶
This scenario uses ping to measure the latency between the local host and the
remote. The remote host can be provided via command-line, it defaults to
8.8.8.8. The scenario verifies SLA and expects the latency to be at most 30ms.
The destination host can be overridden by command-line parameter, e.g.
--matrix "{host: 172.10.1.2}"
.
To use this scenario specify parameter --scenario spot/ping
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/spot/ping.yaml
TCP bandwidth¶
This scenario uses iperf3 to measure TCP throughput between local host and
ping.online.net (or against hosts provided via CLI). SLA check is verified and
expects the speed to be at least 90Mbit and at most 20 retransmitts. The
destination host can be overridden by command-line parameter, e.g. --matrix
"{host: 172.10.1.2}"
.
To use this scenario specify parameter --scenario spot/tcp
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/spot/tcp.yaml
UDP bandwidth¶
This scenario uses iperf3 to measure UDP throughput between local host and
ping.online.net (or against hosts provided via CLI). SLA check is verified and
requires at least 10 000 packets per second. The destination host can be
overridden by command-line parameter, e.g. --matrix "{host: 172.10.1.2}"
.
To use this scenario specify parameter --scenario spot/udp
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/spot/udp.yaml
Sample TCP Test with Advanced Iperf Arguments¶
This test definition demonstrates the use of advanced arguments with iperf. In this scenario Shaker launches pairs of instances in the same tenant network. Every instance is hosted on a separate compute node, 1 compute node is utilized. The traffic goes within the tenant network (L2 domain) and uses arguments not directly mapped by the iperf executor.
To use this scenario specify parameter --scenario test/sample_with_advanced_iperf
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/sample_with_advanced_iperf.yaml
Sample TCP Test with Environment File¶
This test definition demonstrates the use of an environment file. In this scenario Shaker launches pairs of instances in the same tenant network. Every instance is hosted on a separate compute node, 1 compute node is utilized. The traffic goes within the tenant network (L2 domain)
To use this scenario specify parameter --scenario test/sample_with_env
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/sample_with_env.yaml
Sample TCP Test with Support Stacks¶
This test definition demonstrates the use of support stacks In this scenario Shaker launches pairs of instances in the same tenant network. Each test VM is also connected to a previously launched support network. The support neworks are part of their own support heat stack. Every instance is hosted on a separate compute node, 1 compute node is utilized. The traffic goes within the tenant network (L2 domain)
To use this scenario specify parameter --scenario test/sample_with_support_stacks
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/sample_with_support_stacks.yaml
Static agents¶
In this scenario Shaker runs tests in spot mode. The scenario can be used for Shaker integration testing.
To use this scenario specify parameter --scenario test/spot
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/spot.yaml
Static agents¶
In this scenario Shaker runs tests on pre-deployed static agents. The scenario can be used for Shaker integration testing.
To use this scenario specify parameter --scenario test/static_agent
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/static_agent.yaml
Paired static agents¶
In this scenario Shaker runs tests on pre-deployed pair of static agents. The scenario can be used for Shaker integration testing.
To use this scenario specify parameter --scenario test/static_agents_pair
.
Scenario source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/static_agents_pair.yaml
Heat Templates¶
misc/instance_metadata¶
Heat template creates a new Neutron network, a router to the external network, plugs instances into this network and assigns floating ips
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/misc/instance_metadata.hot
openstack/cross_az/l2¶
This Heat template creates a new Neutron network, a router to the external network and plugs instances into this new network. All instances are located in the same L2 domain.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/l2.hot
openstack/cross_az/l3_east_west¶
This Heat template creates a pair of networks plugged into the same router. Primary instances and minion instances are connected into different networks.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/l3_east_west.hot
openstack/cross_az/l3_north_south¶
This Heat template creates a new Neutron network plus a north_router to the external network. The template also assigns floating IP addresses to each instance so they are routable from the external network.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/cross_az/l3_north_south.hot
openstack/external/l3_north_south_no_fip¶
This Heat template creates a new Neutron network plugged into a router connected to the external network, and boots an instance in that network.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/external/l3_north_south_no_fip.hot
openstack/external/l3_north_south_with_fip¶
This Heat template creates a new Neutron network plugged into a router connected to the external network, and boots an instance in that network. The instance has floating IP.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/external/l3_north_south_with_fip.hot
openstack/l2¶
This Heat template creates a new Neutron network, a router to the external network and plugs instances into this new network. All instances are located in the same L2 domain.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/l2.hot
openstack/l3_east_west¶
This Heat template creates a pair of networks plugged into the same router. Primary instances and minion instances are connected into different networks.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/l3_east_west.hot
openstack/l3_north_south¶
This Heat template creates a new Neutron network plus a north_router to the external network. The template also assigns floating IP addresses to each instance so they are routable from the external network.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/l3_north_south.hot
openstack/qos/l2_qos¶
This Heat template creates a new Neutron network, a router to the external network and plugs instances into this new network. All instances are located in the same L2 domain.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/openstack/qos/l2_qos.hot
test/l2_with_env¶
This Heat template creates a new Neutron network, a router to the external network and plugs instances into this new network. All instances are located in the same L2 domain.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/l2_with_env.hot
test/templates/l2_with_support¶
This Heat template creates a new Neutron network, a router to the external network and plugs instances into this new network. All instances are located in the same L2 domain. The VMs are also connected to support networks that should exist before this template is spun up.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/templates/l2_with_support.hot
test/templates/support_network¶
This Heat template creates a new Neutron network. This is used to demonstrate a support stack in Shaker.
Template source is available at: https://opendev.org/performa/shaker/src/branch/master/shaker/scenarios/test/templates/support_network.hot