47280fa62582f76c7877ebca5ef68201f0c0891b
[sdc.git] /
1 heat_template_version: 2013-05-23\r
2 \r
3 description: >\r
4   Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
5 \r
6 parameters:\r
7   aap_address_mode:\r
8     description: "Address mode for the vDBE cluster IP"\r
9     type: string\r
10   control_int_net_forwarding_mode:\r
11     description: "forwarding mode of the control virtual network"\r
12     type: string\r
13   control_int_net_rpf:\r
14     description: "Reverse Path Filtering enable or disable for the control virtual network"\r
15     type: string\r
16   control_int_net_shared:\r
17     description: "control virtual network shared"\r
18     type: boolean\r
19   control_int_net_flood_unknown_unicast:\r
20     description: "forwarding mode of the control virtual network"\r
21     type: boolean\r
22   fabric_int_net_flood_unknown_unicast:\r
23     description: "forwarding mode of the fabric virtual network"\r
24     type: boolean\r
25   fabric_int_net_forwarding_mode:\r
26     description: "forwarding mode of the fabric virtual network"\r
27     type: string\r
28   fabric_int_net_rpf:\r
29     description: "Reverse Path Filtering enable or disable for the fabric virtual network"\r
30     type: string\r
31   fabric_int_net_shared:\r
32     description: "fabric virtual network shared"\r
33   oam_net_name:\r
34     description: "Name of NSDNet network from which the management IP addresses will be allocated"\r
35     type: string\r
36   untrusted_net_name:\r
37     description: "Name of public untrusted network into which this vDBE HA cluster is deployed"\r
38     type: string\r
39   untrusted_num_vn:\r
40     constraints:\r
41       -\r
42         range:\r
43           max: 77\r
44           min: 1\r
45     description: "Number of vDBE subinterface virtual Networks"\r
46     type: number\r
47   untrusted_vlan_tags:\r
48     description: "List of subinterface vlan tags"\r
49     type: comma_delimited_list\r
50   untrusted_vn_networks:\r
51     description: "List of subinterface virtual networks"\r
52     type: comma_delimited_list\r
53   vdbe_aap_sec_untrusted_ip_prefix:\r
54     description: "ip prefix for secondary vDBE VM aap on the VAN untrusted network"\r
55     type: string\r
56   vdbe_aap_sec_untrusted_ip_prefix_len:\r
57     description: "ip prefix length for the secondary DBE VM aap on the VAN untrusted network"\r
58     type: string\r
59   vdbe_aap_untrusted_ip_prefix:\r
60     description: "ip prefix for primary vDBE VM on the VAN untrusted network"\r
61     type: string\r
62   vdbe_aap_untrusted_ip_prefix_len:\r
63     description: "ip prefix length for the primary vDBE VM on the VAN untrusted network"\r
64     type: string\r
65   vdbe_aap_untrusted_v6_ip_prefix:\r
66     description: "ipv6 prefix for the primary vDBE VM on the VAN untrusted network"\r
67     type: string\r
68   vdbe_aap_untrusted_v6_ip_prefix_len:\r
69     description: "ipv6 prefix length for the primary vDBE VM on the VAN untrusted network"\r
70     type: string\r
71   vdbe_device_name:\r
72     description: "VDBE device Name for this vdbe VNF"\r
73     type: string\r
74   vdbe_hw_untr_mac_1:\r
75     description: "Secondary MAC address of the secondary vDBE VM on the VAN untrusted network"\r
76     type: string\r
77   vdbe_name_1:\r
78     description: "VM Name for this vdbe node 1"\r
79     type: string\r
80   vdbe_untrusted_ip_1:\r
81     description: "IPV4 address of the secondary vDBE VM on the VAN untrusted network"\r
82     type: string\r
83   vdbe_untrusted_v6_ip_1:\r
84     description: "IPV6 address of the secondary vDBE VM on the VAN untrusted network"\r
85     type: string\r
86   vdbe_untrusted_vmac_address:\r
87     description: "Virtual MAC of the primary vDBE VM on the VAN untrusted network"\r
88     type: string\r
89   vdbe_flavor_name:\r
90     description: "Flavor to use for vDBE"\r
91     type: string\r
92   vdbe_image_name:\r
93     description: "Image to use for vDBE"\r
94     type: string\r
95   vnf_id:\r
96     description: "Unique ID for this VF inst"\r
97     type: string\r
98   vnf_name:\r
99     description: "Unique name for this VF instance"\r
100     type: string\r
101   vf_module_id:\r
102     description: "Unique ID for this VF module inst"\r
103     type: string\r
104   availability_zone_1:\r
105     description: "The availability zone of secondary node1 vDBE vm in the local HA pair."\r
106     type: string\r
107   counter:\r
108     description: "Counter."\r
109     type: number\r
110 resources:\r
111   vdbe_untr_1_subports:\r
112     type: OS::Heat::ResourceGroup\r
113     properties:\r
114       count:\r
115         get_param: untrusted_num_vn\r
116       resource_def:\r
117         type: vlan1.yml\r
118         properties:\r
119           aap_address_mode:\r
120             get_param: aap_address_mode\r
121           aap_sec_untrusted_ip_prefix:\r
122             get_param: vdbe_aap_sec_untrusted_ip_prefix\r
123           aap_sec_untrusted_ip_prefix_len:\r
124             get_param: vdbe_aap_sec_untrusted_ip_prefix_len\r
125           aap_untrusted_ip_prefix:\r
126             get_param: vdbe_aap_untrusted_ip_prefix\r
127           aap_untrusted_ip_prefix_len:\r
128             get_param: vdbe_aap_untrusted_ip_prefix_len\r
129           aap_untrusted_v6_ip_prefix:\r
130             get_param: vdbe_aap_untrusted_v6_ip_prefix\r
131           aap_untrusted_v6_ip_prefix_len:\r
132             get_param: vdbe_aap_untrusted_v6_ip_prefix_len\r
133           counter:\r
134             get_param: counter\r
135           ip_address:\r
136             get_param: vdbe_untrusted_ip_1\r
137           ip_v6_address:\r
138             get_param: vdbe_untrusted_v6_ip_1\r
139           mac_address:\r
140             get_param: vdbe_hw_untr_mac_1\r
141           parent_interface:\r
142             get_resource: vdbe_untr_1_port_1\r
143           subinterfaces_name_prefix:\r
144             str_replace:\r
145               params:\r
146                 DBE:\r
147                   get_param: vdbe_device_name\r
148                 VM_NAME:\r
149                   get_param: vdbe_name_1\r
150               template: VM_NAMEDBE001p1n004\r
151           vlan_tag_list:\r
152             get_param: untrusted_vlan_tags\r
153           vmac_address:\r
154             get_param: vdbe_untrusted_vmac_address\r
155           vn_network_list:\r
156              get_param: untrusted_vn_networks\r
157           optional_property_1: OPTIONAL_VALUE_SUBPORT_1\r
158   vdbe_node_1:\r
159     type: OS::Nova::Server\r
160     properties:\r
161       availability_zone:\r
162         get_param: availability_zone_1\r
163       flavor:\r
164         get_param: vdbe_flavor_name\r
165       image:\r
166         get_param: vdbe_image_name\r
167       metadata:\r
168         vf_module_id:\r
169           get_param: vf_module_id\r
170         vnf_id:\r
171           get_param: vnf_id\r
172         vnf_name:\r
173           get_param: vnf_name\r
174       name:\r
175         get_param: vdbe_name_1\r
176       networks:\r
177         - port: {get_resource: vdbe_untr_1_port_1}\r
178         - port: {get_resource: vdbe_untr_2_port_1}\r
179   vdbe_node_2:\r
180     type: OS::Nova::Server\r
181     properties:\r
182       availability_zone:\r
183         get_param: availability_zone_1\r
184       flavor:\r
185         get_param: vdbe_flavor_name\r
186       image:\r
187         get_param: vdbe_image_name\r
188       metadata:\r
189         vf_module_id:\r
190           get_param: vf_module_id\r
191         vnf_id:\r
192           get_param: vnf_id\r
193         vnf_name:\r
194           get_param: vnf_name\r
195       name:\r
196         get_param: vdbe_name_1\r
197       networks:\r
198         - port: {get_resource: vdbe_untr_1_port_2}\r
199         - port: {get_resource: vdbe_untr_2_port_2}\r
200   vdbe_untr_1_port_1:\r
201     type: OS::ContrailV2::VirtualMachineInterface\r
202     properties:\r
203       name:\r
204         str_replace:\r
205           params:\r
206             DBE:\r
207               get_param: vdbe_device_name\r
208             VM_NAME:\r
209               get_param: vdbe_name_1\r
210           template: VM_NAMEDBE001p1n004\r
211       virtual_machine_interface_allowed_address_pairs:\r
212         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:\r
213           -\r
214             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
215               get_param: aap_address_mode\r
216             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
217               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
218                 get_param: vdbe_aap_untrusted_ip_prefix\r
219               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
220                 get_param: vdbe_aap_untrusted_ip_prefix_len\r
221             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
222               get_param: vdbe_untrusted_vmac_address\r
223           -\r
224             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
225               get_param: aap_address_mode\r
226             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
227               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
228                 get_param: vdbe_aap_sec_untrusted_ip_prefix\r
229               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
230                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len\r
231             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
232               get_param: vdbe_hw_untr_mac_1\r
233           -\r
234             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
235               get_param: aap_address_mode\r
236             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
237               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
238                 get_param: vdbe_aap_untrusted_v6_ip_prefix\r
239               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
240                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len\r
241             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
242               get_param: vdbe_untrusted_vmac_address\r
243       virtual_machine_interface_mac_addresses:\r
244         virtual_machine_interface_mac_addresses_mac_address:\r
245           -\r
246             get_param: vdbe_hw_untr_mac_1\r
247       virtual_network_refs:\r
248         -\r
249           get_resource: control_int_net\r
250   vdbe_untr_2_port_1:\r
251     type: OS::ContrailV2::VirtualMachineInterface\r
252     properties:\r
253       name: Port_2\r
254       virtual_machine_interface_allowed_address_pairs:\r
255         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:\r
256           -\r
257             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
258               get_param: aap_address_mode\r
259             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
260               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
261                 get_param: vdbe_aap_untrusted_ip_prefix\r
262               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
263                 get_param: vdbe_aap_untrusted_ip_prefix_len\r
264             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
265               get_param: vdbe_untrusted_vmac_address\r
266           -\r
267             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
268               get_param: aap_address_mode\r
269             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
270               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
271                 get_param: vdbe_aap_sec_untrusted_ip_prefix\r
272               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
273                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len\r
274             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
275               get_param: vdbe_hw_untr_mac_1\r
276           -\r
277             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
278               get_param: aap_address_mode\r
279             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
280               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
281                 get_param: vdbe_aap_untrusted_v6_ip_prefix\r
282               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
283                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len\r
284             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
285               get_param: vdbe_untrusted_vmac_address\r
286       virtual_machine_interface_mac_addresses:\r
287         virtual_machine_interface_mac_addresses_mac_address:\r
288           -\r
289             get_param: vdbe_hw_untr_mac_1\r
290       virtual_network_refs:\r
291         -\r
292           get_resource: fabric_int_net\r
293 \r
294 \r
295 \r
296   vdbe_untr_1_port_2:\r
297     type: OS::ContrailV2::VirtualMachineInterface\r
298     properties:\r
299       name:\r
300         str_replace:\r
301           params:\r
302             DBE:\r
303               get_param: vdbe_device_name\r
304             VM_NAME:\r
305               get_param: vdbe_name_1\r
306           template: Port 3\r
307       virtual_machine_interface_allowed_address_pairs:\r
308         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:\r
309           -\r
310             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
311               get_param: aap_address_mode\r
312             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
313               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
314                 get_param: vdbe_aap_untrusted_ip_prefix\r
315               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
316                 get_param: vdbe_aap_untrusted_ip_prefix_len\r
317             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
318               get_param: vdbe_untrusted_vmac_address\r
319           -\r
320             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
321               get_param: aap_address_mode\r
322             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
323               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
324                 get_param: vdbe_aap_sec_untrusted_ip_prefix\r
325               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
326                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len\r
327             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
328               get_param: vdbe_hw_untr_mac_1\r
329           -\r
330             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
331               get_param: aap_address_mode\r
332             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
333               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
334                 get_param: vdbe_aap_untrusted_v6_ip_prefix\r
335               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
336                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len\r
337             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
338               get_param: vdbe_untrusted_vmac_address\r
339       virtual_machine_interface_mac_addresses:\r
340         virtual_machine_interface_mac_addresses_mac_address:\r
341           -\r
342             get_param: vdbe_hw_untr_mac_1\r
343       virtual_network_refs:\r
344         -\r
345           get_resource: control_int_net\r
346   vdbe_untr_2_port_2:\r
347     type: OS::ContrailV2::VirtualMachineInterface\r
348     properties:\r
349       name: Port_4\r
350       virtual_machine_interface_allowed_address_pairs:\r
351         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:\r
352           -\r
353             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
354               get_param: aap_address_mode\r
355             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
356               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
357                 get_param: vdbe_aap_untrusted_ip_prefix\r
358               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
359                 get_param: vdbe_aap_untrusted_ip_prefix_len\r
360             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
361               get_param: vdbe_untrusted_vmac_address\r
362           -\r
363             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
364               get_param: aap_address_mode\r
365             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
366               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
367                 get_param: vdbe_aap_sec_untrusted_ip_prefix\r
368               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
369                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len\r
370             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
371               get_param: vdbe_hw_untr_mac_1\r
372           -\r
373             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
374               get_param: aap_address_mode\r
375             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
376               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
377                 get_param: vdbe_aap_untrusted_v6_ip_prefix\r
378               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
379                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len\r
380             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
381               get_param: vdbe_untrusted_vmac_address\r
382       virtual_machine_interface_mac_addresses:\r
383         virtual_machine_interface_mac_addresses_mac_address:\r
384           -\r
385             get_param: vdbe_hw_untr_mac_1\r
386       virtual_network_refs:\r
387         -\r
388           get_resource: fabric_int_net\r
389 \r
390   vdbe_untr_2_subports:\r
391     type: OS::Heat::ResourceGroup\r
392     properties:\r
393       count:\r
394         get_param: untrusted_num_vn\r
395       resource_def:\r
396         type: vlan1.yml\r
397         properties:\r
398           aap_address_mode:\r
399             get_param: aap_address_mode\r
400           aap_sec_untrusted_ip_prefix:\r
401             get_param: vdbe_aap_sec_untrusted_ip_prefix\r
402           aap_sec_untrusted_ip_prefix_len:\r
403             get_param: vdbe_aap_sec_untrusted_ip_prefix_len\r
404           aap_untrusted_ip_prefix:\r
405             get_param: vdbe_aap_untrusted_ip_prefix\r
406           aap_untrusted_ip_prefix_len:\r
407             get_param: vdbe_aap_untrusted_ip_prefix_len\r
408           aap_untrusted_v6_ip_prefix:\r
409             get_param: vdbe_aap_untrusted_v6_ip_prefix\r
410           aap_untrusted_v6_ip_prefix_len:\r
411             get_param: vdbe_aap_untrusted_v6_ip_prefix_len\r
412           counter:\r
413             get_param: counter\r
414           ip_address:\r
415             get_param: vdbe_untrusted_ip_1\r
416           ip_v6_address:\r
417             get_param: vdbe_untrusted_v6_ip_1\r
418           mac_address:\r
419             get_param: vdbe_hw_untr_mac_1\r
420           parent_interface:\r
421             get_resource: vdbe_untr_1_port_2\r
422           subinterfaces_name_prefix:\r
423             str_replace:\r
424               params:\r
425                 DBE:\r
426                   get_param: vdbe_device_name\r
427                 VM_NAME:\r
428                   get_param: vdbe_name_1\r
429               template: VM_NAMEDBE001p1n004\r
430           vlan_tag_list:\r
431             get_param: untrusted_vlan_tags\r
432           vmac_address:\r
433             get_param: vdbe_untrusted_vmac_address\r
434           vn_network_list:\r
435              get_param: untrusted_vn_networks\r
436           optional_property_2: OPTIONAL_VALUE_SUBPORT_2\r
437 \r
438   control_int_net:\r
439     type: OS::ContrailV2::VirtualNetwork\r
440     properties:\r
441       flood_unknown_unicast:\r
442         get_param: control_int_net_flood_unknown_unicast\r
443       is_shared:\r
444         get_param: control_int_net_shared\r
445       name:\r
446         str_replace:\r
447           params:\r
448             VNF_NAME:\r
449               get_param: vnf_name\r
450           template: VNF_NAME_control_net\r
451       virtual_network_properties:\r
452         virtual_network_properties_forwarding_mode:\r
453           get_param: control_int_net_forwarding_mode\r
454         virtual_network_properties_rpf:\r
455           get_param: control_int_net_rpf\r
456   fabric_int_net:\r
457     type: OS::ContrailV2::VirtualNetwork\r
458     properties:\r
459       flood_unknown_unicast:\r
460         get_param: fabric_int_net_flood_unknown_unicast\r
461       is_shared:\r
462         get_param: fabric_int_net_shared\r
463       name:\r
464         str_replace:\r
465           params:\r
466             VNF_NAME:\r
467               get_param: vnf_name\r
468           template: template-fabric-int\r
469       virtual_network_properties:\r
470         virtual_network_properties_forwarding_mode:\r
471           get_param: fabric_int_net_forwarding_mode\r
472         virtual_network_properties_rpf:\r
473           get_param: fabric_int_net_rpf\r