c72c01974270725e20a9a7c52f6fd5d817a3821c
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: Main
4 imports:
5 - openecomp_heat_index:
6     file: openecomp-heat/_index.yml
7 - GlobalSubstitutionTypes:
8     file: GlobalSubstitutionTypesServiceTemplate.yaml
9 topology_template:
10   inputs:
11     vf_module_id:
12       hidden: false
13       immutable: false
14       type: string
15       description: Unique ID for this VNF Module instance
16     avpn_subnet_id:
17       hidden: false
18       immutable: false
19       type: list
20       description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
21       entry_schema:
22         type: string
23     sbg_internal_allocation_pool_start_ip:
24       hidden: false
25       immutable: false
26       type: string
27       description: The start IP of the Internal network's allocation pool. Don't deviate from default!
28       constraints:
29       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
30     internal_net_id:
31       hidden: false
32       immutable: false
33       type: string
34       description: the UUID of the operator-created Internal network
35       constraints:
36       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
37     sbg_sc_flavor_name:
38       hidden: false
39       immutable: false
40       type: string
41       description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
42     sbg_management_cidr:
43       hidden: false
44       immutable: false
45       type: string
46       description: Network address (CIDR notation) for SBG Management Network, IPv4
47       constraints:
48       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
49     sbg_comte_floating_ip:
50       hidden: false
51       immutable: false
52       type: string
53       description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
54       constraints:
55       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
56     sbg_avpn_ips:
57       hidden: false
58       immutable: false
59       type: list
60       description: |
61         comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
62       entry_schema:
63         type: string
64     management_net_id:
65       hidden: false
66       immutable: false
67       type: string
68       description: the UUID of the operator-created Management network
69       constraints:
70       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
71     sbg_sc_names:
72       hidden: false
73       immutable: false
74       type: list
75       description: comma delimited list of VM names assigned to System Controller VMs
76       entry_schema:
77         type: string
78     sbg_management_ips:
79       hidden: false
80       immutable: false
81       type: list
82       description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
83       entry_schema:
84         type: string
85     sbg_nfs_floating_ip:
86       hidden: false
87       immutable: false
88       type: string
89       description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
90       constraints:
91       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
92     vnf_id:
93       hidden: false
94       immutable: false
95       type: string
96       description: Unique ID for this VF instance
97     avpn_net_id:
98       hidden: false
99       immutable: false
100       type: list
101       description: comma delimited list of the UUIDs of the operator-created AVPN networks
102       entry_schema:
103         type: string
104     availability_zone_0:
105       hidden: false
106       immutable: false
107       type: string
108       description: First availability zone ID or Name.
109     sbg_internal_mac_addresses:
110       hidden: false
111       immutable: false
112       type: list
113       description: comma delimited list of MAC addresses for the VMs on the Internal network
114       entry_schema:
115         type: string
116     sbg_management_floating_ip:
117       hidden: false
118       immutable: false
119       type: string
120       description: Moveable Management IP (VIP), IPv4
121       constraints:
122       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
123     management_subnet_id:
124       hidden: false
125       immutable: false
126       type: string
127       description: the UUID of the operator-created Management subnet, IPv4
128       constraints:
129       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
130     sbg_AVPN_vlan_tag_list:
131       hidden: false
132       immutable: false
133       type: list
134       description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
135       entry_schema:
136         type: string
137     sbg_pl_names:
138       hidden: false
139       immutable: false
140       type: list
141       description: comma delimited list of VM names assigned to Payload VMs
142       entry_schema:
143         type: string
144     sbg_management_gateway_ip_0:
145       hidden: false
146       immutable: false
147       type: string
148       description: IPv4 IP address of the default gateway on Management network
149       constraints:
150       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
151     sbg_AVPN_count:
152       hidden: false
153       immutable: false
154       type: float
155       description: The number of AVPN networks
156       constraints:
157       - in_range:
158         - 1
159         - 999
160     ntp_servers:
161       hidden: false
162       immutable: false
163       type: list
164       description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
165       entry_schema:
166         type: string
167     sbg_management_mac_addresses:
168       hidden: false
169       immutable: false
170       type: list
171       description: comma delimited list of MAC addresses for the VMs on the Management network
172       entry_schema:
173         type: string
174     core_subnet_id:
175       hidden: false
176       immutable: false
177       type: string
178       description: the UUID of the operator-created Core subnet, IPv4
179       constraints:
180       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
181     sbg_internal_ips:
182       hidden: false
183       immutable: false
184       type: list
185       description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
186       entry_schema:
187         type: string
188     sbg_boot_floating_ip:
189       hidden: false
190       immutable: false
191       type: string
192       description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
193       constraints:
194       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
195     sbg_sc_volume_id_0:
196       hidden: false
197       immutable: false
198       type: string
199       description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
200       constraints:
201       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
202     sbg_pl_flavor_name:
203       hidden: false
204       immutable: false
205       type: string
206       description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
207     sbg_internal_allocation_pool_end_ip:
208       hidden: false
209       immutable: false
210       type: string
211       description: The end IP of the Internal network's allocation pool. Don't deviate from default!
212       constraints:
213       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
214     sbg_sc_volume_id_1:
215       hidden: false
216       immutable: false
217       type: string
218       description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
219       constraints:
220       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
221     sbg_internal_cidr:
222       hidden: false
223       immutable: false
224       type: string
225       description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
226       constraints:
227       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
228     dummy_subnet_id:
229       hidden: false
230       immutable: false
231       type: string
232       description: the UUID of the operator-created dummy subnet, IPv4
233       constraints:
234       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
235     trunk_net_id:
236       hidden: false
237       immutable: false
238       type: string
239       description: the UUID of the operator-created Traffic network
240       constraints:
241       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
242   node_templates:
243     sbg_pl_trunk_subport_avpn_group_0:
244       type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
245       directives:
246       - substitutable
247       properties:
248         nested_avpn_net_id:
249           get_input: avpn_net_id
250         service_template_filter:
251           substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
252           count:
253             get_input: sbg_AVPN_count
254           mandatory: false
255         nested_sbg_AVPN_vlan_tag_list:
256           get_input: sbg_AVPN_vlan_tag_list
257         nested_sbg_avpn_ip_0:
258           get_input:
259           - sbg_avpn_ips
260           - 0
261         nested_avpn_subnet_id:
262           get_input: avpn_subnet_id
263         nested_sbg_AVPN_counter:
264           get_property:
265           - SELF
266           - service_template_filter
267           - index_value
268     abstract_sbg_sc:
269       type: org.openecomp.resource.abstract.nodes.sbg_sc
270       directives:
271       - substitutable
272       properties:
273         port_sbg_sc_internal_0_port_mac_requirements:
274           mac_count_required:
275             is_required: true
276         compute_sbg_sc_config_drive:
277         - true
278         port_sbg_sc_management_1_port_allowed_address_pairs:
279         - ip_address:
280             get_input: sbg_management_floating_ip
281         port_sbg_sc_internal_0_port_fixed_ips:
282         - ip_address:
283             get_input:
284             - sbg_internal_ips
285             - 0
286         vm_flavor_name:
287           get_input: sbg_sc_flavor_name
288         port_sbg_sc_internal_0_port_replacement_policy:
289         - AUTO
290         port_sbg_sc_management_1_port_replacement_policy:
291         - AUTO
292         port_sbg_sc_management_1_port_ip_requirements:
293         - ip_version: 4
294           ip_count_required:
295             is_required: true
296           floating_ip_count_required:
297             is_required: true
298         port_sbg_sc_management_1_port_mac_address:
299           get_input:
300           - sbg_management_mac_addresses
301           - 0
302         compute_sbg_sc_user_data_format:
303         - RAW
304         port_sbg_sc_management_1_port_fixed_ips:
305         - ip_address:
306             get_input:
307             - sbg_management_ips
308             - 0
309         compute_sbg_sc_name:
310         - get_input:
311           - sbg_sc_names
312           - 0
313         port_sbg_sc_internal_0_port_allowed_address_pairs:
314         - ip_address:
315             get_input: sbg_nfs_floating_ip
316         - ip_address:
317             get_input: sbg_comte_floating_ip
318         - ip_address:
319             get_input: sbg_boot_floating_ip
320         port_sbg_sc_internal_0_port_ip_requirements:
321         - ip_version: 4
322           ip_count_required:
323             is_required: true
324           floating_ip_count_required:
325             is_required: true
326         compute_sbg_sc_metadata:
327         - vf_module_id:
328             get_input: vf_module_id
329           vnf_id:
330             get_input: vnf_id
331         port_sbg_sc_internal_0_port_network_role_tag: internal
332         port_sbg_sc_internal_0_port_network:
333         - get_input: internal_net_id
334         port_sbg_sc_management_1_port_network:
335         - get_input: management_net_id
336         port_sbg_sc_management_1_port_mac_requirements:
337           mac_count_required:
338             is_required: true
339         port_sbg_sc_management_1_port_network_role_tag: management
340         port_sbg_sc_internal_0_port_mac_address:
341           get_input:
342           - sbg_internal_mac_addresses
343           - 0
344         compute_sbg_sc_availability_zone:
345         - get_input: availability_zone_0
346         service_template_filter:
347           substitute_service_template: Nested_sbg_scServiceTemplate.yaml
348           count: 1
349         index_value:
350           get_property:
351           - SELF
352           - service_template_filter
353           - index_value
354     nested_sbg:
355       type: org.openecomp.resource.abstract.nodes.heat.sbg_sc
356       directives:
357       - substitutable
358       properties:
359         port_sbg_sc_management_1_port_0_mac_requirements:
360           mac_count_required:
361             is_required: true
362         nested_avpn_net_id:
363           get_input: avpn_net_id
364         service_template_filter:
365           substitute_service_template: nested_DPA3_New_VNF_TSBGvServiceTemplate.yaml
366         port_sbg_sc_internal_0_port_0_mac_requirements:
367           mac_count_required:
368             is_required: true
369         port_sbg_sc_internal_0_port_0_network_role_tag: internal
370         nested_sbg_AVPN_vlan_tag_list:
371           get_input: sbg_AVPN_vlan_tag_list
372         port_sbg_sc_internal_0_port_0_ip_requirements:
373         - ip_version: 4
374           ip_count_required:
375             is_required: true
376           floating_ip_count_required:
377             is_required: true
378         port_sbg_sc_management_1_port_0_network_role_tag: management
379         port_sbg_sc_management_1_port_0_ip_requirements:
380         - ip_version: 4
381           ip_count_required:
382             is_required: true
383           floating_ip_count_required:
384             is_required: true
385         nested_sbg_avpn_ip_0:
386           get_input:
387           - sbg_avpn_ips
388           - 0
389         nested_avpn_subnet_id:
390           get_input: avpn_subnet_id
391         nested_sbg_AVPN_counter: '%index%'
392   groups:
393     DPA3_New_VNF_TSBGv_base_group:
394       type: org.openecomp.groups.heat.HeatStack
395       properties:
396         heat_file: ../Artifacts/DPA3_New_VNF_TSBGv_base.yaml
397         description: |
398           SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
399       members:
400       - sbg_pl_trunk_subport_avpn_group_0
401       - nested_sbg
402       - abstract_sbg_sc