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