Update scenario descriptions and list them in the docs

This patch adds catalog of scenarios into documentation.
Catalog is auto-generated and can be updated with `tox -egenconfig`.

Change-Id: I879b6cc5e8b976972fd1e291e1efb40d487af527
This commit is contained in:
Ilya Shakhat 2016-04-14 18:10:50 +03:00
parent b791f37407
commit 198e6a322b
44 changed files with 762 additions and 105 deletions

479
doc/source/catalog.rst Normal file
View File

@ -0,0 +1,479 @@
.. _catalog:
Scenario Catalog
================
Scenarios
---------
.. _openstack_instances_metadata_query:
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://github.com/openstack/shaker/blob/master/shaker/scenarios/misc/instance_metadata.yaml
.. _static_agents:
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 misc/static_agent``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/misc/static_agent.yaml
.. _paired_static_agents:
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 misc/static_agents_pair``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/misc/static_agents_pair.yaml
.. _openstack_l2_cross_az:
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 master and slave 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 networking/cross_az/full_l2``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/full_l2.yaml
.. _openstack_l3_east_west_cross_az:
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 master and slave 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 networking/cross_az/full_l3_east_west``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/full_l3_east_west.yaml
.. _openstack_l3_north_south_cross_az:
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, master accesses slave by floating ip. The
traffic goes from one network via external network to the other network. The
master and slave 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 networking/cross_az/full_l3_north_south``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/full_l3_north_south.yaml
.. _openstack_l2_cross_az_performance:
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 master and
slave 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 networking/cross_az/perf_l2``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/perf_l2.yaml
.. _openstack_l3_east_west_cross_az_performance:
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 master and slave 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 networking/cross_az/perf_l3_east_west``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/perf_l3_east_west.yaml
.. _openstack_l3_north_south_cross_az_performance:
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,
master accesses slave by floating ip. The traffic goes from one network via
external network to the other network. The master and slave 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 networking/cross_az/perf_l3_north_south``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/perf_l3_north_south.yaml
.. _openstack_l2_cross_az_udp:
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 master and slave 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 networking/cross_az/udp_l2``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/udp_l2.yaml
.. _openstack_l2_cross_az_udp_jumbo:
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 master and slave 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 networking/cross_az/udp_l2_mss8950``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/udp_l2_mss8950.yaml
.. _openstack_l3_east_west_cross_az_udp:
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 master and slave
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 networking/cross_az/udp_l3_east_west``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/udp_l3_east_west.yaml
.. _openstack_l2_dense:
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 networking/dense_l2``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/dense_l2.yaml
.. _openstack_l3_east_west_dense:
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 networking/dense_l3_east_west``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/dense_l3_east_west.yaml
.. _openstack_l3_north_south_dense:
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 networking/dense_l3_north_south``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/dense_l3_north_south.yaml
.. _openstack_l3_north_south_dense_to_external_target:
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 networking/external/dense_l3_north_south_no_fip``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/external/dense_l3_north_south_no_fip.yaml
.. _openstack_l3_north_south_dense_to_external_target_with_floating_ip:
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 networking/external/dense_l3_north_south_with_fip``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/external/dense_l3_north_south_with_fip.yaml
.. _openstack_l3_north_south_to_external_target:
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 networking/external/full_l3_north_south_no_fip``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/external/full_l3_north_south_no_fip.yaml
.. _openstack_l3_north_south_to_external_target_with_floating_ip:
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 networking/external/full_l3_north_south_with_fip``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/external/full_l3_north_south_with_fip.yaml
.. _openstack_l3_north_south_performance_to_external_target:
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 networking/external/perf_l3_north_south_no_fip``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/external/perf_l3_north_south_no_fip.yaml
.. _openstack_l3_north_south_performance_to_external_target_with_floating_ip:
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 networking/external/perf_l3_north_south_with_fip``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/external/perf_l3_north_south_with_fip.yaml
.. _openstack_l2:
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 networking/full_l2``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/full_l2.yaml
.. _openstack_l3_east_west:
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 networking/full_l3_east_west``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/full_l3_east_west.yaml
.. _openstack_l3_north_south:
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, master accesses slave by floating ip. The
traffic goes from one network via external network to the other network.
To use this scenario specify parameter ``--scenario networking/full_l3_north_south``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/full_l3_north_south.yaml
.. _openstack_l2_performance:
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 networking/perf_l2``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/perf_l2.yaml
.. _openstack_l3_east_west_performance:
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 networking/perf_l3_east_west``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/perf_l3_east_west.yaml
.. _openstack_l3_north_south_performance:
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,
master accesses slave by floating ip. The traffic goes from one network via
external network to the other network.
To use this scenario specify parameter ``--scenario networking/perf_l3_north_south``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/perf_l3_north_south.yaml
.. _openstack_l2_udp:
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 networking/udp_l2``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/udp_l2.yaml
.. _openstack_l3_east_west_udp:
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 networking/udp_l3_east_west``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/udp_l3_east_west.yaml
.. _openstack_l3_north_south_udp:
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, master
accesses slave 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 networking/udp_l3_north_south``.
Scenario source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/udp_l3_north_south.yaml
.. _tcp_bandwidth:
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 overriden 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://github.com/openstack/shaker/blob/master/shaker/scenarios/spot/tcp.yaml
.. _udp_bandwidth:
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
overriden 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://github.com/openstack/shaker/blob/master/shaker/scenarios/spot/udp.yaml
Heat Templates
--------------
.. _misc_instance_metadata:
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://github.com/openstack/shaker/blob/master/shaker/scenarios/misc/instance_metadata.hot
.. _networking_cross_az_l2:
networking/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://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/l2.hot
.. _networking_cross_az_l3_east_west:
networking/cross_az/l3_east_west
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This Heat template creates a pair of networks plugged into the same router.
Master instances and slave instances are connected into different networks.
Template source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/l3_east_west.hot
.. _networking_cross_az_l3_north_south:
networking/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://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/cross_az/l3_north_south.hot
.. _networking_external_l3_north_south_no_fip:
networking/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://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/external/l3_north_south_no_fip.hot
.. _networking_external_l3_north_south_with_fip:
networking/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://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/external/l3_north_south_with_fip.hot
.. _networking_l2:
networking/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://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/l2.hot
.. _networking_l3_east_west:
networking/l3_east_west
^^^^^^^^^^^^^^^^^^^^^^^
This Heat template creates a pair of networks plugged into the same router.
Master instances and slave instances are connected into different networks.
Template source is available at: https://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/l3_east_west.hot
.. _networking_l3_north_south:
networking/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://github.com/openstack/shaker/blob/master/shaker/scenarios/networking/l3_north_south.hot

View File

@ -1,6 +1,9 @@
OpenStack Scenarios
===================
This section contains details for the most popular OpenStack scenarios.
For the full list of Shaker scenarios please refer to :ref:`catalog`.
.. toctree::
:maxdepth: 2

View File

@ -15,8 +15,9 @@ to execute. Additionally tests may be tuned dynamically in command-line.
installation
usage
tools
architecture
tools
catalog
examples/index
examples_spot
reports/index

View File

@ -1,8 +1,8 @@
heat_template_version: 2013-05-23
description:
HOT template creates a new neutron network, a router to the external
network, plugs servers into this new network and assigns floating ips
Heat template creates a new Neutron network, a router to the external
network, plugs instances into this network and assigns floating ips
parameters:
image:

View File

@ -1,6 +1,9 @@
title: OpenStack instances metadata query
description:
This scenario launches instances on a single compute node and retrieves
their metadata.
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.
deployment:
template: instance_metadata.hot

View File

@ -1,7 +1,8 @@
title: Static Agents
title: Static agents
description:
This scenario runs tests on pre-deployed static agents
In this scenario Shaker runs tests on pre-deployed static agents.
The scenario can be used for Shaker integration testing.
deployment:
agents:

View File

@ -1,5 +1,8 @@
title: Paired static agents
description:
This scenario runs tests on pre-deployed static agents
In this scenario Shaker runs tests on pre-deployed pair of static agents.
The scenario can be used for Shaker integration testing.
deployment:
agents:

View File

@ -1,8 +1,11 @@
title: OpenStack L2 Cross-AZ
description:
This scenario launches pairs of VMs in the same private network. Every VM is
hosted on a separate compute node.
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 master and slave 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).
deployment:
template: l2.hot

View File

@ -1,8 +1,12 @@
title: OpenStack L3 East-West Cross-AZ
description:
This scenario launches pairs of VMs in different networks connected to one
router (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).
The master and slave instances are in different availability zones.
The scenario is used to test throughput between `nova` and `vcenter` zones.
deployment:
template: l3_east_west.hot

View File

@ -1,9 +1,13 @@
title: OpenStack L3 North-South Cross-AZ
description:
This scenario launches pairs of VMs on different compute nodes. VMs are in
the different networks connected via different routers, master accesses slave
by floating ip
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, master accesses slave by
floating ip. The traffic goes from one network via external network to the
other network. The master and slave instances are in different availability
zones. The scenario is used to test throughput between `nova` and `vcenter`
zones.
deployment:
template: l3_north_south.hot

View File

@ -1,8 +1,9 @@
heat_template_version: 2013-05-23
description:
HOT template creates a new neutron network, a router to the external
network and plugs servers into this new network.
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.
parameters:
image:

View File

@ -1,8 +1,8 @@
heat_template_version: 2013-05-23
description:
HOT template creates a pair of networks plugged into the same router. Master VMs
and slave VMs are plugged into different networks.
This Heat template creates a pair of networks plugged into the same router.
Master instances and slave instances are connected into different networks.
parameters:
image:

View File

@ -1,10 +1,9 @@
heat_template_version: 2013-05-23
description: >
HOT template to create a new neutron network plus a north_router to the public
network, and for deploying servers into the new network. The template also
assigns floating IP addresses to each server so they are routable from the
public network.
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.
parameters:
image:

View File

@ -1,8 +1,10 @@
title: OpenStack L2 Cross-AZ Performance
description:
This scenario launches 1 pair of VMs in the same private network on different
compute nodes.
In this scenario Shaker launches 1 pair of instances in the same tenant
network. Each instance is hosted on a separate compute node.
The master and slave instances are in different availability zones.
The scenario is used to test throughput between `nova` and `vcenter` zones.
deployment:
template: l2.hot

View File

@ -1,8 +1,12 @@
title: OpenStack L3 East-West Cross-AZ Performance
description:
This scenario launches 1 pair of VMs in different networks connected to one
router (L3 east-west). VMs are hosted on different compute nodes
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 master and slave instances are in different availability zones.
The scenario is used to test throughput between `nova` and `vcenter` zones.
deployment:
template: l3_east_west.hot

View File

@ -1,9 +1,12 @@
title: OpenStack L3 North-South Cross-AZ Performance
description:
This scenario launches 1 pair of VMs on different compute nodes. VMs are in
the different networks connected via different routers, master accesses slave
by floating ip
In this scenario Shaker launches 1 pair of instances on different compute
nodes. Instances are in different networks connected to different routers,
master accesses slave by floating ip. The traffic goes from one network
via external network to the other network.
The master and slave instances are in different availability zones.
The scenario is used to test throughput between `nova` and `vcenter` zones.
deployment:
template: l3_north_south.hot

View File

@ -1,8 +1,11 @@
title: OpenStack L2 Cross-AZ UDP
description:
This scenario launches pairs of VMs in the same private network. Every VM is
hosted on a separate compute node.
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 master and slave instances are in different availability zones.
The scenario is used to test throughput between `nova` and `vcenter` zones.
deployment:
template: l2.hot

View File

@ -1,8 +1,11 @@
title: OpenStack L2 Cross-AZ UDP Jumbo
description:
This scenario launches pairs of VMs in the same private network. Every VM is
hosted on a separate compute node.
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 master and slave instances are in different availability zones.
The scenario is used to test throughput between `nova` and `vcenter` zones.
deployment:
template: l2.hot

View File

@ -1,8 +1,12 @@
title: OpenStack L3 East-West Cross-AZ UDP
description:
This scenario launches pairs of VMs in different networks connected to one
router (L3 east-west)
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 master and slave instances are in different availability zones.
The scenario is used to test throughput between `nova` and `vcenter` zones.
deployment:
template: l3_east_west.hot

View File

@ -1,9 +1,9 @@
title: OpenStack L2 Dense
description:
This scenario launches several pairs of VMs on the same compute node.
VM are plugged into the same private network. Useful for testing performance
degradation when the number of VMs grows.
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).
deployment:
template: l2.hot

View File

@ -1,8 +1,9 @@
title: OpenStack L3 East-West Dense
description:
This scenario launches pairs of VMs in different networks connected to one
router (L3 east-west)
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).
deployment:
template: l3_east_west.hot

View File

@ -1,9 +1,10 @@
title: OpenStack L3 North-South Dense
description:
This scenario launches pairs of VMs on one compute node. VMs are in
the different networks connected via different routers, master accesses slave
by floating ip
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.
deployment:
template: l3_north_south.hot

View File

@ -1,10 +1,10 @@
title: OpenStack L3 North-South dense performance to external target
title: OpenStack L3 North-South Dense to external target
description: >
This scenario 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}"`
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}"``.
deployment:
template: l3_north_south_no_fip.hot

View File

@ -1,10 +1,10 @@
title: OpenStack L3 North-South dense performance to external target with floating IP
title: OpenStack L3 North-South Dense to external target with floating IP
description: >
This scenario 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}"`
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}"``.
deployment:
template: l3_north_south_with_fip.hot

View File

@ -1,9 +1,11 @@
title: OpenStack L3 North-South
title: OpenStack L3 North-South to external target
description: >
This scenario launches instances 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}"`
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}"``.
deployment:
template: l3_north_south_no_fip.hot

View File

@ -1,10 +1,12 @@
title: OpenStack L3 North-South performance to external target with floating IP
title: OpenStack L3 North-South to external target with floating IP
description: >
This scenario launches instances 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}"`
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}"``.
deployment:
template: l3_north_south_with_fip.hot

View File

@ -1,10 +1,11 @@
title: OpenStack L3 North-South Performance to external target
description: >
This scenario 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}"`
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}"``.
deployment:
template: l3_north_south_no_fip.hot

View File

@ -1,11 +1,11 @@
title: OpenStack L3 North-South performance to external target with floating IP
description: >
This scenario 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}"`
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}"``.
deployment:
template: l3_north_south_with_fip.hot

View File

@ -1,8 +1,10 @@
title: OpenStack L2
description:
This scenario launches pairs of VMs in the same private network. Every VM is
hosted on a separate compute node.
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).
deployment:
template: l2.hot

View File

@ -1,8 +1,10 @@
title: OpenStack L3 East-West
description:
This scenario launches pairs of VMs in different networks connected to one
router (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).
deployment:
template: l3_east_west.hot

View File

@ -1,9 +1,11 @@
title: OpenStack L3 North-South
description:
This scenario launches pairs of VMs on different compute nodes. VMs are in
the different networks connected via different routers, master accesses slave
by floating ip
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, master accesses slave by
floating ip. The traffic goes from one network via external network to
the other network.
deployment:
template: l3_north_south.hot

View File

@ -1,8 +1,9 @@
heat_template_version: 2013-05-23
description:
HOT template creates a new neutron network, a router to the external
network and plugs servers into this new network.
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.
parameters:
image:

View File

@ -1,8 +1,8 @@
heat_template_version: 2013-05-23
description:
HOT template creates a pair of networks plugged into the same router. Master VMs
and slave VMs are plugged into different networks.
This Heat template creates a pair of networks plugged into the same router.
Master instances and slave instances are connected into different networks.
parameters:
image:

View File

@ -1,10 +1,9 @@
heat_template_version: 2013-05-23
description: >
HOT template to create a new neutron network plus a north_router to the public
network, and for deploying servers into the new network. The template also
assigns floating IP addresses to each server so they are routable from the
public network.
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.
parameters:
image:

View File

@ -1,8 +1,9 @@
title: OpenStack L2 Performance
description:
This scenario launches 1 pair of VMs in the same private network on different
compute nodes.
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).
deployment:
template: l2.hot

View File

@ -1,8 +1,10 @@
title: OpenStack L3 East-West Performance
description:
This scenario launches 1 pair of VMs in different networks connected to one
router (L3 east-west). VMs are hosted on different compute nodes
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).
deployment:
template: l3_east_west.hot

View File

@ -1,9 +1,10 @@
title: OpenStack L3 North-South Performance
description:
This scenario launches 1 pair of VMs on different compute nodes. VMs are in
the different networks connected via different routers, master accesses slave
by floating ip
In this scenario Shaker launches 1 pair of instances on different compute
nodes. Instances are in different networks connected to different routers,
master accesses slave by floating ip. The traffic goes from one network
via external network to the other network.
deployment:
template: l3_north_south.hot

View File

@ -1,8 +1,10 @@
title: OpenStack L2 UDP
description:
This scenario launches pairs of VMs in the same private network. Every VM is
hosted on a separate compute node.
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.
deployment:
template: l2.hot

View File

@ -1,8 +1,10 @@
title: OpenStack L3 East-West UDP
description:
This scenario launches pairs of VMs in different networks connected to one
router (L3 east-west)
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.
deployment:
template: l3_east_west.hot

View File

@ -1,9 +1,11 @@
title: OpenStack L3 North-South UDP
description:
This scenario launches pairs of VMs on different compute nodes. VMs are in
the different networks connected via different routers, master accesses slave
by floating ip
In this scenario Shaker launches pairs of instances on different compute
nodes. Instances are in different networks connected to different routers,
master accesses slave by floating ip. The traffic goes from one network
via external network to the other network. The load is generated by UDP
traffic.
deployment:
template: l3_north_south.hot

View File

@ -1,9 +1,11 @@
title: TCP bandwidth
description:
This scenario uses iperf3 to measure TCP bandwidth between local host and
description: >
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 overriden by command-line parameter,
e.g. ``--matrix "{host: 172.10.1.2}"``.
execution:
tests:

View File

@ -1,9 +1,11 @@
title: UDP bandwidth
description:
This scenario uses iperf3 to measure UDP bandwidth between local host and
description: >
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 overriden by command-line parameter,
e.g. ``--matrix "{host: 172.10.1.2}"``.
execution:
tests:

View File

@ -0,0 +1,109 @@
# Copyright (c) 2016 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import print_function
import functools
import re
import os
import sys
import textwrap
import jinja2
import yaml
def make(src, dest):
scenarios = []
templates = []
jinja_env = jinja2.Environment()
for dirpath, dirnames, filenames in os.walk(src):
for filename in sorted(filenames):
if not (filename.endswith('.yaml') or
filename.endswith('.hot')):
continue
fullpath = os.path.join(dirpath, filename)
with open(fullpath) as f:
try:
raw = f.read()
compiled_template = jinja_env.from_string(raw)
rendered_template = compiled_template.render(
dict(agents={}))
content = yaml.safe_load(rendered_template)
s_id = '/'.join(fullpath.split('/')[2:]).split('.')[0]
info = dict(title=content.get('title') or s_id,
description=content['description'],
path=fullpath,
scenario_id=s_id)
if filename.endswith('.yaml'):
scenarios.append(info)
else:
templates.append(info)
except Exception as e:
print('Failed to read file %s: %s' % (fullpath, e))
scenarios.sort(key=lambda x: x['scenario_id'])
templates.sort(key=lambda x: x['scenario_id'])
with open(dest, 'w') as out:
print('.. _catalog:\n', file=out)
print('Scenario Catalog', file=out)
print('================', file=out)
print('', file=out)
print('Scenarios', file=out)
print('---------', file=out)
print('', file=out)
for info in scenarios:
print_info(out, info)
print('To use this scenario specify parameter ``--scenario %s``.\n'
'Scenario source is available at: '
'https://github.com/openstack/shaker/blob/master/%s' %
(info['scenario_id'], info['path']), file=out)
print('', file=out)
print('Heat Templates', file=out)
print('--------------', file=out)
print('', file=out)
for info in templates:
print_info(out, info)
print('Template source is available at: '
'https://github.com/openstack/shaker/blob/master/%s' %
info['path'], file=out)
def print_info(out, info):
block_id = re.sub(r'[^\w\d]+', '_', info['title']).lower()
print('.. _%s:\n' % block_id, file=out)
print(info['title'], file=out)
print('^' * len(info['title']), file=out)
print('\n'.join(textwrap.wrap(info['description'], width=79)), file=out)
print('', file=out)
if len(sys.argv) < 2:
print('Usage: build_scenario_catalog <dest file>')
sys.exit(1)
print('Generating scenario catalog')
make(src='shaker/scenarios/', dest=sys.argv[1])

View File

@ -36,6 +36,7 @@ commands =
python setup.py install
oslo-config-generator --config-file=config-generator.conf
python tools/cli_auto_doc.py doc/source/tools
python tools/build_scenario_catalog.py doc/source/catalog.rst
[testenv:docs]
commands = python setup.py build_sphinx