1 heat_template_version: 2013-05-23
4 Template for SDNVPN testcase 4
5 VPN provides connectivity between subnets using router association
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: router 1 cidr
39 description: network 2
42 description: subnet 2 name
45 description: subnet 1 cidr
49 description: security group name
52 description: security group slogan
56 description: instance name
59 description: instance name
62 description: instance name
65 description: instance name
68 description: instance name
72 description: ping count for user data script
77 type: OS::Neutron::Net
79 name: { get_param: net_1_name }
81 type: OS::Neutron::Subnet
83 name: { get_param: subnet_1_name }
84 network: { get_resource: net_1 }
85 cidr: { get_param: subnet_1_cidr }
87 type: OS::Neutron::Router
89 name: { get_param: router_1_name }
91 type: OS::Neutron::RouterInterface
93 router_id: { get_resource: router_1 }
94 subnet_id: { get_resource: subnet_1 }
97 type: OS::Neutron::Net
99 name: { get_param: net_2_name }
101 type: OS::Neutron::Subnet
103 name: { get_param: subnet_2_name }
104 network: { get_resource: net_2 }
105 cidr: { get_param: subnet_2_cidr }
108 type: OS::Neutron::SecurityGroup
110 name: { get_param: secgroup_name }
111 description: { get_param: secgroup_descr }
114 remote_ip_prefix: 0.0.0.0/0
118 remote_ip_prefix: 0.0.0.0/0
121 type: OS::Nova::Server
122 depends_on: [ vm2, vm3, vm4, vm5 ]
124 name: { get_param: instance_1_name }
125 image: { get_param: image_n }
126 flavor: { get_param: flavor }
127 availability_zone: { get_param: av_zone_1 }
129 - { get_resource: sec_group }
131 - subnet: { get_resource: subnet_1 }
133 user_data_format: RAW
138 set $IP_VM2 $IP_VM3 $IP_VM4 $IP_VM5
142 ping -c $COUNT $ip 2>&1 >/dev/null
144 if [ \"Z$RES\" = \"Z0\" ] ; then
146 else echo ping $ip KO
152 $IP_VM2: { get_attr: [vm2, addresses, { get_resource: net_1}, 0, addr] }
153 $IP_VM3: { get_attr: [vm3, addresses, { get_resource: net_1}, 0, addr] }
154 $IP_VM4: { get_attr: [vm4, addresses, { get_resource: net_2}, 0, addr] }
155 $IP_VM5: { get_attr: [vm5, addresses, { get_resource: net_2}, 0, addr] }
156 $COUNT: { get_param: ping_count }
158 type: OS::Nova::Server
160 name: { get_param: instance_2_name }
161 image: { get_param: image_n }
162 flavor: { get_param: flavor }
163 availability_zone: { get_param: av_zone_1 }
165 - { get_resource: sec_group }
167 - subnet: { get_resource: subnet_1 }
169 type: OS::Nova::Server
171 name: { get_param: instance_3_name }
172 image: { get_param: image_n }
173 flavor: { get_param: flavor }
174 availability_zone: { get_param: av_zone_2 }
176 - { get_resource: sec_group }
178 - subnet: { get_resource: subnet_1 }
180 type: OS::Nova::Server
183 name: { get_param: instance_4_name }
184 image: { get_param: image_n }
185 flavor: { get_param: flavor }
186 availability_zone: { get_param: av_zone_1 }
188 - { get_resource: sec_group }
190 - subnet: { get_resource: subnet_2 }
192 user_data_format: RAW
201 ping -c $COUNT $ip 2>&1 >/dev/null
203 if [ \"Z$RES\" = \"Z0\" ] ; then
205 else echo ping $ip KO
211 $IP_VM5: { get_attr: [vm5, addresses, { get_resource: net_2}, 0, addr] }
212 $COUNT: { get_param: ping_count }
215 type: OS::Nova::Server
217 name: { get_param: instance_5_name }
218 image: { get_param: image_n }
219 flavor: { get_param: flavor }
220 availability_zone: { get_param: av_zone_2 }
222 - { get_resource: sec_group }
224 - subnet: { get_resource: subnet_2 }
228 description: the id of network 1
229 value: { get_attr: [router_1, show, id] }
231 description: the id of network 2
232 value: { get_attr: [net_2, show, id] }
234 description: the deployed vm resource
235 value: { get_attr: [vm1, show, name] }
237 description: the deployed vm resource
238 value: { get_attr: [vm2, show, name] }
240 description: the deployed vm resource
241 value: { get_attr: [vm3, show, name] }
243 description: the deployed vm resource
244 value: { get_attr: [vm4, show, name] }
246 description: the deployed vm resource
247 value: { get_attr: [vm5, show, name] }