Add bunch of networking scenarios

Change-Id: Ia2d8bcfec7272a68ee3403c6b96477b3314751d3
This commit is contained in:
Ilya Shakhat 2015-05-12 18:46:32 +03:00
parent 68a5540581
commit acdd2b2262
15 changed files with 230 additions and 185 deletions

View File

@ -4,7 +4,7 @@ description:
deployment:
template: instance_metadata.hot
accommodation: [single_room, density: 2, compute_nodes: 1]
accommodation: [single_room, density: 10, compute_nodes: 1]
execution:
tests:

View File

@ -0,0 +1,30 @@
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.
deployment:
template: l2.hot
accommodation: [pair, double_room, density: 8, compute_nodes: 1]
execution:
size: linear_progression
tests:
-
title: Iperf TCP
class: iperf_graph
time: 60
-
title: Iperf UDP
class: iperf
udp: 1
threads: 8
bandwidth: 1000M
-
title: TCP download
class: netperf_wrapper
method: tcp_download
-
title: TCP bi-directional
class: netperf_wrapper
method: tcp_bidirectional

View File

@ -0,0 +1,29 @@
description:
This scenario launches pairs of VMs in different networks connected to one
router (L3 east-west)
deployment:
template: l3_east_west.hot
accommodation: [pair, double_room, density: 8, compute_nodes: 1]
execution:
size: linear_progression
tests:
-
title: Iperf TCP
class: iperf_graph
time: 60
-
title: Iperf UDP
class: iperf
udp: 1
threads: 8
bandwidth: 1000M
-
title: TCP download
class: netperf_wrapper
method: tcp_download
-
title: TCP bi-directional
class: netperf_wrapper
method: tcp_bidirectional

View File

@ -0,0 +1,30 @@
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
deployment:
template: l3_north_south.hot
accommodation: [pair, double_room, density: 8, compute_nodes: 1]
execution:
size: linear_progression
tests:
-
title: Iperf TCP
class: iperf_graph
time: 60
-
title: Iperf UDP
class: iperf
udp: 1
threads: 8
bandwidth: 1000M
-
title: TCP download
class: netperf_wrapper
method: tcp_download
-
title: TCP bi-directional
class: netperf_wrapper
method: tcp_bidirectional

View File

@ -1,5 +1,3 @@
title: L2
description:
This scenario launches pairs of VMs in the same private network. Every VM is
hosted on a separate compute node.
@ -9,14 +7,18 @@ deployment:
accommodation: [pair, single_room]
execution:
size: quadratic_progression
tests:
-
title: Iperf TCP test
title: Iperf TCP
class: iperf_graph
time: 60
sla:
- "[type == 'agent'] >> (stats.bandwidth.min > 100)"
- "[type == 'agent'] >> (stats.bandwidth.mean > 200)"
-
title: Iperf UDP
class: iperf
udp: 1
threads: 8
bandwidth: 1000M
-
title: TCP download
class: netperf_wrapper
@ -25,13 +27,3 @@ execution:
title: TCP bi-directional
class: netperf_wrapper
method: tcp_bidirectional
-
title: Iperf UDP 8 threads
class: iperf
udp: 1
threads: 8
-
title: Netperf TCP_STREAM
class: netperf
method: TCP_STREAM
time: 60

View File

@ -0,0 +1,29 @@
description:
This scenario launches pairs of VMs in different networks connected to one
router (L3 east-west)
deployment:
template: l3_east_west.hot
accommodation: [pair, single_room]
execution:
size: quadratic_progression
tests:
-
title: Iperf TCP
class: iperf_graph
time: 60
-
title: Iperf UDP
class: iperf
udp: 1
threads: 8
bandwidth: 1000M
-
title: TCP download
class: netperf_wrapper
method: tcp_download
-
title: TCP bi-directional
class: netperf_wrapper
method: tcp_bidirectional

View File

@ -0,0 +1,30 @@
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
deployment:
template: l3_north_south.hot
accommodation: [pair, single_room]
execution:
size: quadratic_progression
tests:
-
title: Iperf TCP
class: iperf_graph
time: 60
-
title: Iperf UDP
class: iperf
udp: 1
threads: 8
bandwidth: 1000M
-
title: TCP download
class: netperf_wrapper
method: tcp_download
-
title: TCP bi-directional
class: netperf_wrapper
method: tcp_bidirectional

View File

@ -1,21 +0,0 @@
description:
This scenario launches several pairs of VMs on pair of compute nodes.
VM are plugged into the same private network. Useful for testing performance
degradation when the number of VMs grows.
deployment:
template: l2.hot
accommodation: [pair, single_room, density: 4, compute_nodes: 2]
execution:
size: 'quadratic_progression'
tests:
-
title: Iperf TCP test
class: iperf_graph
time: 60
-
title: Netperf TCP_STREAM
class: netperf
method: TCP_STREAM
time: 60

View File

@ -1,26 +0,0 @@
description:
This scenario launches pairs of in the different networks connected to one
router (L3 east-west)
deployment:
template: l3_east_west.hot
accommodation: [pair, single_room]
execution:
tests:
-
title: Iperf TCP
class: iperf_graph
time: 60
sla:
- "[type == 'agent'] >> (stats.bandwidth.mean > 100)"
-
title: Iperf UDP 5 threads
class: iperf
udp: 1
threads: 5
-
title: Netperf TCP
class: netperf
method: TCP_STREAM
time: 60

View File

@ -1,26 +0,0 @@
description:
This scenario launches pairs of VMs on the same compute node. VMs are in
the different networks connected via different routers, master accesses slave
by floating ip
deployment:
template: l3_north_south.hot
accommodation: [pair, double_room]
execution:
size: 'quadratic_progression'
tests:
-
title: Iperf TCP
class: iperf_graph
time: 60
-
title: Iperf UDP
class: iperf
udp: 1
threads: 5
-
title: Netperf TCP
class: netperf
method: TCP_STREAM
time: 60

View File

@ -0,0 +1,24 @@
description:
This scenario launches 1 pair of VMs in the same private network on different
compute nodes.
deployment:
template: l2.hot
accommodation: [pair, single_room, compute_nodes: 2]
execution:
tests:
-
title: Iperf TCP
class: iperf_graph
sla:
- "[type == 'agent'] >> (stats.bandwidth.min > 1000)"
- "[type == 'agent'] >> (stats.bandwidth.mean > 2000)"
-
title: Iperf UDP
class: iperf_graph
udp: 1
bandwidth: 1000M
sla:
- "[type == 'agent'] >> (stats.bandwidth.min > 1000)"
- "[type == 'agent'] >> (stats.bandwidth.mean > 2000)"

View File

@ -0,0 +1,24 @@
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
deployment:
template: l3_east_west.hot
accommodation: [pair, single_room, compute_nodes: 2]
execution:
tests:
-
title: Iperf TCP
class: iperf_graph
sla:
- "[type == 'agent'] >> (stats.bandwidth.min > 1000)"
- "[type == 'agent'] >> (stats.bandwidth.mean > 2000)"
-
title: Iperf UDP
class: iperf_graph
udp: 1
bandwidth: 1000M
sla:
- "[type == 'agent'] >> (stats.bandwidth.min > 1000)"
- "[type == 'agent'] >> (stats.bandwidth.mean > 2000)"

View File

@ -0,0 +1,25 @@
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
deployment:
template: l3_north_south.hot
accommodation: [pair, single_room, compute_nodes: 2]
execution:
tests:
-
title: Iperf TCP
class: iperf_graph
sla:
- "[type == 'agent'] >> (stats.bandwidth.min > 1000)"
- "[type == 'agent'] >> (stats.bandwidth.mean > 2000)"
-
title: Iperf UDP
class: iperf_graph
udp: 1
bandwidth: 1000M
sla:
- "[type == 'agent'] >> (stats.bandwidth.min > 1000)"
- "[type == 'agent'] >> (stats.bandwidth.mean > 2000)"

View File

@ -1,82 +0,0 @@
heat_template_version: 2013-05-23
description: >
HOT template to create a new neutron network plus a router to the public
network, and for deploying servers into the new network.
parameters:
image:
type: string
description: Name of image to use for servers
flavor:
type: string
description: Flavor to use for servers
external_net:
type: string
description: ID or name of public network for which floating IP addresses will be allocated
server_endpoint:
type: string
description: Server endpoint address
resources:
private_net:
type: OS::Neutron::Net
properties:
name: {{ unique }}_net
private_subnet:
type: OS::Neutron::Subnet
properties:
network_id: { get_resource: private_net }
cidr: 10.0.0.0/16
dns_nameservers: [ 8.8.8.8, 8.8.4.4 ]
router:
type: OS::Neutron::Router
properties:
external_gateway_info:
network: { get_param: external_net }
router_interface:
type: OS::Neutron::RouterInterface
properties:
router_id: { get_resource: router }
subnet_id: { get_resource: private_subnet }
{% for agent in agents.values() %}
{{ agent.id }}:
type: OS::Nova::Server
properties:
name: {{ agent.id }}
image: { get_param: image }
flavor: { get_param: flavor }
availability_zone: "nova:{{ agent.node }}"
networks:
- port: { get_resource: {{ agent.id }}_port }
user_data_format: RAW
user_data:
str_replace:
template: |
#!/bin/sh
screen -dmS shaker-agent-screen shaker-agent --server-endpoint=$SERVER_ENDPOINT --agent-id=$AGENT_ID
params:
"$SERVER_ENDPOINT": { get_param: server_endpoint }
"$AGENT_ID": {{ agent.id }}
{{ agent.id }}_port:
type: OS::Neutron::Port
properties:
network_id: { get_resource: private_net }
fixed_ips:
- subnet_id: { get_resource: private_subnet }
{% endfor %}
outputs:
{% for agent in agents.values() %}
{{ agent.id }}_instance_name:
value: { get_attr: [ {{ agent.id }}, instance_name ] }
{{ agent.id }}_ip:
value: { get_attr: [ {{ agent.id }}, networks, { get_attr: [private_net, name] }, 0 ] }
{% endfor %}

View File

@ -1,13 +0,0 @@
description:
This scenario launches VMs in the same private network
deployment:
template: dummy.hot
accommodation: [single_room]
execution:
tests:
-
title: directory listing
class: shell
method: ls -al