-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathjmeter.yaml
133 lines (114 loc) · 3.79 KB
/
jmeter.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
heat_template_version: 2013-05-23
description: >
HOT template to create jmeter client-server instances for executing ThorFI workload
parameters:
#key_name:
# type: string
# description: Name of keypair to assign to servers
# default: "thorfi"
image:
type: string
description: Name of image to use for servers
default: "thorfi_image"
flavor:
type: string
description: Flavor to use for servers
default: "thorfi_flavor"
public_net_ID_jmeter_client:
type: string
description: >
ID or name of public network for which floating IP addresses will be allocated to the jmeter client
default: "public"
##jmeter_client
private_net_ID_jmeter_client:
type: string
description: ID of private network where jmeter client must be attached
private_subnet_ID_jmeter_client:
type: string
description: ID of private subnet where jmeter client must be attached
##instances parameters
client_instance_name:
type: string
description: Name of the iperf client instance
default: "__ThorFI_jmeter_client"
resources:
thorfi_jmeter_security_group:
type: OS::Neutron::SecurityGroup
properties:
description: ThorFI security group for jmeter workload
name: thorfi_jmeter_security_group
rules: [
{
remote_ip_prefix: 0.0.0.0/0,
protocol: tcp,
direction: ingress,
ethertype: 'IPv4',
},
{
remote_ip_prefix: 0.0.0.0/0,
protocol: tcp,
direction: egress,
ethertype: 'IPv4',
},
{
remote_ip_prefix: 0.0.0.0/0,
protocol: udp,
direction: ingress,
ethertype: 'IPv4',
},
{
remote_ip_prefix: 0.0.0.0/0,
protocol: udp,
direction: egress,
ethertype: 'IPv4',
},
{
remote_ip_prefix: 0.0.0.0/0,
protocol: icmp,
direction: ingress,
ethertype: 'IPv4',
},
{
remote_ip_prefix: 0.0.0.0/0,
protocol: icmp,
direction: egress,
ethertype: 'IPv4',
},
{
remote_ip_prefix: 0.0.0.0/0,
protocol: tcp,
port_range_min: 22,
port_range_max: 22,
direction: ingress,
ethertype: 'IPv4',
}
]
# iperf client definition
jmeter_client_port:
type: OS::Neutron::Port
properties:
network: { get_param: private_net_ID_jmeter_client }
fixed_ips:
- subnet_id: { get_param: private_subnet_ID_jmeter_client }
security_groups: [{ get_resource: thorfi_jmeter_security_group }]
jmeter_client:
type: OS::Nova::Server
properties:
name: { get_param: client_instance_name }
image: { get_param: image }
flavor: { get_param: flavor }
#key_name: { get_param: key_name }
networks:
- port: { get_resource: jmeter_client_port }
jmeter_client_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network: { get_param: public_net_ID_jmeter_client }
port_id: { get_resource: jmeter_client_port }
outputs:
jmeter_client_private_ip:
description: IP address of jmeter_client in private network
value: { get_attr: [ jmeter_client, first_address ] }
jmeter_client_public_ip:
description: Floating IP address of jmeter_client in public network
value: { get_attr: [ jmeter_client_floating_ip, floating_ip_address ] }