b4eb432e8d0500892ffb3b5589278cec16dec21a
[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_untrusted_ip_1:
70     description: "IPV4 address of the secondary vDBE VM on the VAN untrusted network"
71     type: string
72   vdbe_untrusted_v6_ip_1:
73     description: "IPV6 address of the secondary vDBE VM on the VAN untrusted network"
74     type: string
75   vdbe_untrusted_vmac_address:
76     description: "Virtual MAC of the primary vDBE VM on the VAN untrusted network"
77     type: string
78   vdbe_flavor_name:
79     description: "Flavor to use for vDBE"
80     type: string
81   vdbe_image_name:
82     description: "Image to use for vDBE"
83     type: string
84   vnf_id:
85     description: "Unique ID for this VF inst"
86     type: string
87   vnf_name:
88     description: "Unique name for this VF instance"
89     type: string
90   vf_module_id:
91     description: "Unique ID for this VF module inst"
92     type: string
93   availability_zone_1:
94     description: "The availability zone of secondary node1 vDBE vm in the local HA pair."
95     type: string
96   counter:
97     description: "Counter."
98     type: number
99 resources:
100   vdbe_node_1:
101     type: OS::Nova::Server
102     properties:
103       availability_zone:
104         get_param: availability_zone_1
105       flavor:
106         get_param: vdbe_flavor_name
107       image:
108         get_param: vdbe_image_name
109       metadata:
110         vf_module_id:
111           get_param: vf_module_id
112         vnf_id:
113           get_param: vnf_id
114         vnf_name:
115           get_param: vnf_name
116       name:
117         get_param: vdbe_name_1
118       networks:
119         - port: {get_resource: vdbe_untr_1_port_1}
120   vdbe_untr_1_port_1:
121     type: OS::ContrailV2::VirtualMachineInterface
122     properties:
123       name:
124         str_replace:
125           params:
126             DBE:
127               get_param: vdbe_device_name
128             VM_NAME:
129               get_param: vdbe_name_1
130           template: VM_NAMEDBE001p1n004
131       virtual_machine_interface_allowed_address_pairs:
132         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:
133           -
134             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
135               get_param: aap_address_mode
136             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
137               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
138                 get_param: vdbe_aap_untrusted_ip_prefix
139               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
140                 get_param: vdbe_aap_untrusted_ip_prefix_len
141             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
142               get_param: vdbe_untrusted_vmac_address
143           -
144             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
145               get_param: aap_address_mode
146             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
147               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
148                 get_param: vdbe_aap_sec_untrusted_ip_prefix
149               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
150                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len
151             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
152               get_param: vdbe_hw_untr_mac_1
153           -
154             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
155               get_param: aap_address_mode
156             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
157               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
158                 get_param: vdbe_aap_untrusted_v6_ip_prefix
159               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
160                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len
161             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
162               get_param: vdbe_untrusted_vmac_address
163       virtual_machine_interface_mac_addresses:
164         virtual_machine_interface_mac_addresses_mac_address:
165           -
166             get_param: vdbe_hw_untr_mac_1
167       virtual_network_refs:
168         -
169           get_resource: control_int_net
170
171   vdbe_node_2:
172     type: OS::Nova::Server
173     properties:
174       availability_zone:
175         get_param: availability_zone_1
176       flavor:
177         get_param: vdbe_flavor_name
178       image:
179         get_param: vdbe_image_name
180       metadata:
181         vf_module_id:
182           get_param: vf_module_id
183         vnf_id:
184           get_param: vnf_id
185         vnf_name:
186           get_param: vnf_name
187       name:
188         get_param: vdbe_name_1
189       networks:
190         - port: {get_resource: vdbe_untr_1_port_2}
191   vdbe_untr_1_port_2:
192     type: OS::ContrailV2::VirtualMachineInterface
193     properties:
194       name:
195         str_replace:
196           params:
197             DBE:
198               get_param: vdbe_device_name
199             VM_NAME:
200               get_param: vdbe_name_1
201           template: VM_NAMEDBE001p1n004
202       virtual_machine_interface_allowed_address_pairs:
203         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:
204           -
205             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
206               get_param: aap_address_mode
207             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
208               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
209                 get_param: vdbe_aap_untrusted_ip_prefix
210               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
211                 get_param: vdbe_aap_untrusted_ip_prefix_len
212             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
213               get_param: vdbe_untrusted_vmac_address
214           -
215             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
216               get_param: aap_address_mode
217             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
218               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
219                 get_param: vdbe_aap_sec_untrusted_ip_prefix
220               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
221                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len
222             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
223               get_param: vdbe_hw_untr_mac_1
224           -
225             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:
226               get_param: aap_address_mode
227             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
228               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:
229                 get_param: vdbe_aap_untrusted_v6_ip_prefix
230               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:
231                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len
232             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:
233               get_param: vdbe_untrusted_vmac_address
234       virtual_machine_interface_mac_addresses:
235         virtual_machine_interface_mac_addresses_mac_address:
236           -
237             get_param: vdbe_hw_untr_mac_1
238       virtual_network_refs:
239         -
240           get_resource: control_int_net
241
242   vdbe_untr_1_subports:
243     type: OS::Heat::ResourceGroup
244     properties:
245       count: 2
246       resource_def:
247         type: nested.yml
248         properties:
249           aap_address_mode:
250             get_param: aap_address_mode
251           aap_sec_untrusted_ip_prefix:
252             get_param: vdbe_aap_sec_untrusted_ip_prefix
253           aap_sec_untrusted_ip_prefix_len:
254             get_param: vdbe_aap_sec_untrusted_ip_prefix_len
255           aap_untrusted_ip_prefix:
256             get_param: vdbe_aap_untrusted_ip_prefix
257           aap_untrusted_ip_prefix_len:
258             get_param: vdbe_aap_untrusted_ip_prefix_len
259           aap_untrusted_v6_ip_prefix:
260             get_param: vdbe_aap_untrusted_v6_ip_prefix
261           aap_untrusted_v6_ip_prefix_len:
262             get_param: vdbe_aap_untrusted_v6_ip_prefix_len
263           counter: "%index%"
264           ip_address:
265             get_param: vdbe_untrusted_ip_1
266           ip_v6_address:
267             get_param: vdbe_untrusted_v6_ip_1
268           mac_address:
269             get_param: vdbe_hw_untr_mac_1
270           parent_interface:
271             get_resource: vdbe_untr_1_port_1
272           subinterfaces_name_prefix:
273             str_replace:
274               params:
275                 DBE:
276                   get_param: vdbe_device_name
277                 VM_NAME:
278                   get_param: vdbe_name_1
279               template: VM_NAMEDBE001p1n004
280           vlan_tag_list:
281             get_param: untrusted_vlan_tags
282           vmac_address:
283             get_param: vdbe_untrusted_vmac_address
284           vn_network_list:
285              get_param: untrusted_vn_networks
286   vdbe_untr_2_subports:
287     type: OS::Heat::ResourceGroup
288     properties:
289       count: 5
290       resource_def:
291         type: nested.yml
292         properties:
293           aap_address_mode:
294             get_param: aap_address_mode
295           aap_sec_untrusted_ip_prefix:
296             get_param: vdbe_aap_sec_untrusted_ip_prefix
297           aap_sec_untrusted_ip_prefix_len:
298             get_param: vdbe_aap_sec_untrusted_ip_prefix_len
299           aap_untrusted_ip_prefix:
300             get_param: vdbe_aap_untrusted_ip_prefix
301           aap_untrusted_ip_prefix_len:
302             get_param: vdbe_aap_untrusted_ip_prefix_len
303           aap_untrusted_v6_ip_prefix:
304             get_param: vdbe_aap_untrusted_v6_ip_prefix
305           aap_untrusted_v6_ip_prefix_len:
306             get_param: vdbe_aap_untrusted_v6_ip_prefix_len
307           counter:
308             get_param: counter
309           ip_address:
310             get_param: vdbe_untrusted_ip_1
311           ip_v6_address:
312             get_param: vdbe_untrusted_v6_ip_1
313           mac_address:
314             get_param: vdbe_hw_untr_mac_1
315           parent_interface:
316             get_resource: vdbe_untr_1_port_2
317           subinterfaces_name_prefix:
318             str_replace:
319               params:
320                 DBE:
321                   get_param: vdbe_device_name
322                 VM_NAME:
323                   get_param: vdbe_name_1
324               template: VM_NAMEDBE001p1n004
325           vlan_tag_list:
326             get_param: untrusted_vlan_tags
327           vmac_address:
328             get_param: vdbe_untrusted_vmac_address
329           vn_network_list:
330              get_param: untrusted_vn_networks
331   control_int_net:
332     type: OS::ContrailV2::VirtualNetwork
333     properties:
334       flood_unknown_unicast:
335         get_param: control_int_net_flood_unknown_unicast
336       is_shared:
337         get_param: control_int_net_shared
338       name:
339         str_replace:
340           params:
341             VNF_NAME:
342               get_param: vnf_name
343           template: VNF_NAME_control_net
344       virtual_network_properties:
345         virtual_network_properties_forwarding_mode:
346           get_param: control_int_net_forwarding_mode
347         virtual_network_properties_rpf:
348           get_param: control_int_net_rpf