3bf6d050ffe09b397728aea0b4abd243f8df2c9d
[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   oam_net_name:
23     description: "Name of NSDNet network from which the management IP addresses will be allocated"
24     type: string
25   untrusted_net_name:
26     description: "Name of public untrusted network into which this vDBE HA cluster is deployed"
27     type: string
28   untrusted_num_vn:
29     constraints:
30       -
31         range:
32           max: 77
33           min: 1
34     description: "Number of vDBE subinterface virtual Networks"
35     type: number
36   untrusted_vlan_tags:
37     description: "List of subinterface vlan tags"
38     type: comma_delimited_list
39   untrusted_vn_networks:
40     description: "List of subinterface virtual networks"
41     type: comma_delimited_list
42   vdbe_aap_sec_untrusted_ip_prefix:
43     description: "ip prefix for secondary vDBE VM aap on the VAN untrusted network"
44     type: string
45   vdbe_aap_sec_untrusted_ip_prefix_len:
46     description: "ip prefix length for the secondary DBE VM aap on the VAN untrusted network"
47     type: string
48   vdbe_aap_untrusted_ip_prefix:
49     description: "ip prefix for primary vDBE VM on the VAN untrusted network"
50     type: string
51   vdbe_aap_untrusted_ip_prefix_len:
52     description: "ip prefix length for the primary vDBE VM on the VAN untrusted network"
53     type: string
54   vdbe_aap_untrusted_v6_ip_prefix:
55     description: "ipv6 prefix for the primary vDBE VM on the VAN untrusted network"
56     type: string
57   vdbe_aap_untrusted_v6_ip_prefix_len:
58     description: "ipv6 prefix length for the primary vDBE VM on the VAN untrusted network"
59     type: string
60   vdbe_device_name:
61     description: "VDBE device Name for this vdbe VNF"
62     type: string
63   vdbe_hw_untr_mac_1:
64     description: "Secondary MAC address of the secondary vDBE VM on the VAN untrusted network"
65     type: string
66   vdbe_name_1:
67     description: "VM Name for this vdbe node 1"
68     type: string
69   vdbe_name_2:
70     description: "VM Name for this vdbe node 2"
71     type: string
72   vdbe_untrusted_ip_1:
73     description: "IPV4 address of the secondary vDBE VM on the VAN untrusted network"
74     type: string
75   vdbe_untrusted_v6_ip_1:
76     description: "IPV6 address of the secondary vDBE VM on the VAN untrusted network"
77     type: string
78   vdbe_untrusted_vmac_address:
79     description: "Virtual MAC of the primary vDBE VM on the VAN untrusted network"
80     type: string
81   vdbe_flavor_name:
82     description: "Flavor to use for vDBE"
83     type: string
84   vdbe_image_name:
85     description: "Image to use for vDBE"
86     type: string
87   vnf_name:
88     description: "Unique name for this VF instance"
89     type: string
90   vnf_id_1:
91     description: "Unique ID for this VF inst"
92     type: string
93   vnf_name_1:
94     description: "Unique name for this VF instance"
95     type: string
96   vf_module_id_1:
97     description: "Unique ID for this VF module inst"
98     type: string
99   vnf_id_2:
100     description: "Unique ID for this VF inst"
101     type: string
102   vnf_name_2:
103     description: "Unique name for this VF instance"
104     type: string
105   vf_module_id_2:
106     description: "Unique ID for this VF module inst"
107     type: string
108   availability_zone_1:
109     description: "The availability zone of secondary node1 vDBE vm in the local HA pair."
110     type: string
111   availability_zone_2:
112     description: "The availability zone of secondary node2 vDBE vm in the local HA pair."
113     type: string
114   counter:
115     description: "Counter."
116     type: number
117 resources:
118   vdbe_node_1:
119     type: OS::Nova::Server
120     properties:
121       availability_zone:
122         get_param: availability_zone_1
123       flavor:
124         get_param: vdbe_flavor_name
125       image:
126         get_param: vdbe_image_name
127       metadata:
128         vf_module_id:
129           get_param: vf_module_id_1
130         vnf_id:
131           get_param: vnf_id_1
132         vnf_name:
133           get_param: vnf_name_1
134       name:
135         get_param: vdbe_name_1
136       networks:
137         - port: {get_resource: vdbe_untr_port_1}
138   vdbe_node_2:
139     type: OS::Nova::Server
140     properties:
141       availability_zone:
142         get_param: availability_zone_2
143       flavor:
144         get_param: vdbe_flavor_name
145       image:
146         get_param: vdbe_image_name
147       metadata:
148         vf_module_id:
149           get_param: vf_module_id_2
150         vnf_id:
151           get_param: vnf_id_2
152         vnf_name:
153           get_param: vnf_name_2
154       name:
155         get_param: vdbe_name_2
156       networks:
157         - port: {get_resource: vdbe_untr_port_2}
158   vdbe_untr_port_1:
159     type: OS::ContrailV2::VirtualMachineInterface
160     properties:
161       name: Untr_Port_1
162       virtual_machine_interface_allowed_address_pairs:
163         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:
164           -
165             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
166               get_param: aap_address_mode
167             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
168               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
169                 get_param: vdbe_aap_untrusted_ip_prefix
170               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
171                 get_param: vdbe_aap_untrusted_ip_prefix_len
172             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
173               get_param: vdbe_untrusted_vmac_address
174           -
175             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
176               get_param: aap_address_mode
177             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
178               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
179                 get_param: vdbe_aap_sec_untrusted_ip_prefix
180               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
181                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len
182             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
183               get_param: vdbe_hw_untr_mac_1
184           -
185             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
186               get_param: aap_address_mode
187             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
188               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
189                 get_param: vdbe_aap_untrusted_v6_ip_prefix
190               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
191                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len
192             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
193               get_param: vdbe_untrusted_vmac_address
194       virtual_machine_interface_mac_addresses:
195         virtual_machine_interface_mac_addresses_mac_address:
196           -
197             get_param: vdbe_hw_untr_mac_1
198       virtual_network_refs:
199         -
200           get_resource: control_int_net
201   vdbe_untr_port_2:
202     type: OS::ContrailV2::VirtualMachineInterface
203     properties:
204       name: Untr_Port_2
205       virtual_machine_interface_allowed_address_pairs:
206         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:
207           -
208             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
209               get_param: aap_address_mode
210             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
211               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
212                 get_param: vdbe_aap_untrusted_ip_prefix
213               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
214                 get_param: vdbe_aap_untrusted_ip_prefix_len
215             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
216               get_param: vdbe_untrusted_vmac_address
217           -
218             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
219               get_param: aap_address_mode
220             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
221               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
222                 get_param: vdbe_aap_sec_untrusted_ip_prefix
223               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
224                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len
225             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
226               get_param: vdbe_hw_untr_mac_1
227           -
228             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
229               get_param: aap_address_mode
230             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
231               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
232                 get_param: vdbe_aap_untrusted_v6_ip_prefix
233               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
234                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len
235             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
236               get_param: vdbe_untrusted_vmac_address
237       virtual_machine_interface_mac_addresses:
238         virtual_machine_interface_mac_addresses_mac_address:
239           -
240             get_param: vdbe_hw_untr_mac_1
241       virtual_network_refs:
242         -
243           get_resource: control_int_net
244
245   vdbe_untr_1_subports:
246     type: OS::Heat::ResourceGroup
247     properties:
248       count: 5
249       resource_def:
250         type: nested.yml
251         properties:
252           aap_address_mode:
253             get_param: aap_address_mode
254           aap_sec_untrusted_ip_prefix:
255             get_param: vdbe_aap_sec_untrusted_ip_prefix
256           aap_sec_untrusted_ip_prefix_len:
257             get_param: vdbe_aap_sec_untrusted_ip_prefix_len
258           aap_untrusted_ip_prefix:
259             get_param: vdbe_aap_untrusted_ip_prefix
260           aap_untrusted_ip_prefix_len:
261             get_param: vdbe_aap_untrusted_ip_prefix_len
262           aap_untrusted_v6_ip_prefix:
263             get_param: vdbe_aap_untrusted_v6_ip_prefix
264           aap_untrusted_v6_ip_prefix_len:
265             get_param: vdbe_aap_untrusted_v6_ip_prefix_len
266           counter: "%index%"
267           ip_address:
268             get_param: vdbe_untrusted_ip_1
269           ip_v6_address:
270             get_param: vdbe_untrusted_v6_ip_1
271           mac_address:
272             get_param: vdbe_hw_untr_mac_1
273           parent_interface:
274             get_resource: vdbe_untr_port_1
275           subinterfaces_name_prefix:
276             str_replace:
277               params:
278                 DBE:
279                   get_param: vdbe_device_name
280                 VM_NAME:
281                   get_param: vdbe_name_1
282               template: VM_NAMEDBE001p1n004
283           vlan_tag_list:
284             get_param: untrusted_vlan_tags
285           vmac_address:
286             get_param: vdbe_untrusted_vmac_address
287           vn_network_list:
288              get_param: untrusted_vn_networks
289
290   vdbe_untr_2_subports:
291     type: OS::Heat::ResourceGroup
292     properties:
293       count: 5
294       resource_def:
295         type: nested.yml
296         properties:
297           aap_address_mode:
298             get_param: aap_address_mode
299           aap_sec_untrusted_ip_prefix:
300             get_param: vdbe_aap_sec_untrusted_ip_prefix
301           aap_sec_untrusted_ip_prefix_len:
302             get_param: vdbe_aap_sec_untrusted_ip_prefix_len
303           aap_untrusted_ip_prefix:
304             get_param: vdbe_aap_untrusted_ip_prefix
305           aap_untrusted_ip_prefix_len:
306             get_param: vdbe_aap_untrusted_ip_prefix_len
307           aap_untrusted_v6_ip_prefix:
308             get_param: vdbe_aap_untrusted_v6_ip_prefix
309           aap_untrusted_v6_ip_prefix_len:
310             get_param: vdbe_aap_untrusted_v6_ip_prefix_len
311           counter:
312             get_param: counter
313           ip_address:
314             get_param: vdbe_untrusted_ip_1
315           ip_v6_address:
316             get_param: vdbe_untrusted_v6_ip_1
317           mac_address:
318             get_param: vdbe_hw_untr_mac_1
319           parent_interface:
320             get_resource: vdbe_untr_port_2
321           subinterfaces_name_prefix:
322             str_replace:
323               params:
324                 DBE:
325                   get_param: vdbe_device_name
326                 VM_NAME:
327                   get_param: vdbe_name_1
328               template: VM_NAMEDBE001p1n004
329           vlan_tag_list:
330             get_param: untrusted_vlan_tags
331           vmac_address:
332             get_param: vdbe_untrusted_vmac_address
333           vn_network_list:
334              get_param: untrusted_vn_networks
335
336   control_int_net:
337     type: OS::ContrailV2::VirtualNetwork
338     properties:
339       flood_unknown_unicast:
340         get_param: control_int_net_flood_unknown_unicast
341       is_shared:
342         get_param: control_int_net_shared
343       name:
344         str_replace:
345           params:
346             VNF_NAME:
347               get_param: vnf_name
348           template: VNF_NAME_control_net
349       virtual_network_properties:
350         virtual_network_properties_forwarding_mode:
351           get_param: control_int_net_forwarding_mode
352         virtual_network_properties_rpf:
353           get_param: control_int_net_rpf