1 heat_template_version: 2013-05-23
4 Template for SDNVPN testcase 1
5 VPN provides connectivity between subnets
10 description: flavor for the servers to be created
12 - custom_constraint: nova.flavor
15 description: image for the servers to be created
17 - custom_constraint: glance.image
20 description: availability zone 1
23 description: availability zone 2
27 description: network 1
30 description: subnet 1 name
33 description: subnet 1 cidr
36 description: network 2
39 description: subnet 2 name
42 description: subnet 1 cidr
46 description: security group name
49 description: security group slogan
53 description: instance name
56 description: instance name
59 description: instance name
62 description: instance name
65 description: instance name
69 description: ping count for user data script
74 type: OS::Neutron::Net
76 name: { get_param: net_1_name }
78 type: OS::Neutron::Subnet
80 name: { get_param: subnet_1_name }
81 network: { get_resource: net_1 }
82 cidr: { get_param: subnet_1_cidr }
84 type: OS::Neutron::Net
86 name: { get_param: net_2_name }
88 type: OS::Neutron::Subnet
90 name: { get_param: subnet_2_name }
91 network: { get_resource: net_2 }
92 cidr: { get_param: subnet_2_cidr }
95 type: OS::Neutron::SecurityGroup
97 name: { get_param: secgroup_name }
98 description: { get_param: secgroup_descr }
101 remote_ip_prefix: 0.0.0.0/0
105 remote_ip_prefix: 0.0.0.0/0
108 type: OS::Nova::Server
109 depends_on: [ vm2, vm3, vm4, vm5 ]
111 name: { get_param: instance_1_name }
112 image: { get_param: image_n }
113 flavor: { get_param: flavor }
114 availability_zone: { get_param: av_zone_1 }
116 - { get_resource: sec_group }
118 - subnet: { get_resource: subnet_1 }
120 user_data_format: RAW
125 set $IP_VM2 $IP_VM3 $IP_VM4 $IP_VM5
129 ping -c $COUNT $ip 2>&1 >/dev/null
131 if [ \"Z$RES\" = \"Z0\" ] ; then
133 else echo ping $ip KO
139 $IP_VM2: { get_attr: [vm2, addresses, { get_resource: net_1}, 0, addr] }
140 $IP_VM3: { get_attr: [vm3, addresses, { get_resource: net_1}, 0, addr] }
141 $IP_VM4: { get_attr: [vm4, addresses, { get_resource: net_2}, 0, addr] }
142 $IP_VM5: { get_attr: [vm5, addresses, { get_resource: net_2}, 0, addr] }
143 $COUNT: { get_param: ping_count }
145 type: OS::Nova::Server
147 name: { get_param: instance_2_name }
148 image: { get_param: image_n }
149 flavor: { get_param: flavor }
150 availability_zone: { get_param: av_zone_1 }
152 - { get_resource: sec_group }
154 - subnet: { get_resource: subnet_1 }
156 type: OS::Nova::Server
158 name: { get_param: instance_3_name }
159 image: { get_param: image_n }
160 flavor: { get_param: flavor }
161 availability_zone: { get_param: av_zone_2 }
163 - { get_resource: sec_group }
165 - subnet: { get_resource: subnet_1 }
167 type: OS::Nova::Server
170 name: { get_param: instance_4_name }
171 image: { get_param: image_n }
172 flavor: { get_param: flavor }
173 availability_zone: { get_param: av_zone_1 }
175 - { get_resource: sec_group }
177 - subnet: { get_resource: subnet_2 }
179 user_data_format: RAW
188 ping -c $COUNT $ip 2>&1 >/dev/null
190 if [ \"Z$RES\" = \"Z0\" ] ; then
192 else echo ping $ip KO
198 $IP_VM5: { get_attr: [vm5, addresses, { get_resource: net_2}, 0, addr] }
199 $COUNT: { get_param: ping_count }
202 type: OS::Nova::Server
204 name: { get_param: instance_5_name }
205 image: { get_param: image_n }
206 flavor: { get_param: flavor }
207 availability_zone: { get_param: av_zone_2 }
209 - { get_resource: sec_group }
211 - subnet: { get_resource: subnet_2 }
215 description: the id of network 1
216 value: { get_attr: [net_1, show, id] }
218 description: the id of network 2
219 value: { get_attr: [net_2, show, id] }
221 description: the deployed vm resource
222 value: { get_attr: [vm1, show, name] }
224 description: the deployed vm resource
225 value: { get_attr: [vm2, show, name] }
227 description: the deployed vm resource
228 value: { get_attr: [vm3, show, name] }
230 description: the deployed vm resource
231 value: { get_attr: [vm4, show, name] }
233 description: the deployed vm resource
234 value: { get_attr: [vm5, show, name] }