f0d017909c99959fdbaff4a4474c5592a12a8175
[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 node_types:
10   org.openecomp.resource.vfc.nodes.heat.FSB:
11     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
12 topology_template:
13   inputs:
14     fsb1-name:
15       label: FSB1_name
16       hidden: false
17       immutable: false
18       type: string
19       description: FSB1_name
20     fsb2-name:
21       label: FSB2_name
22       hidden: false
23       immutable: false
24       type: string
25       description: FSB2_name
26     cmaui_cinder_volume_size:
27       label: volume size
28       hidden: false
29       immutable: false
30       type: float
31       description: my volume size 320GB
32     fsb-flavor:
33       label: FSB1_flavor
34       hidden: false
35       immutable: false
36       type: string
37       description: FSB1_flavor
38     fsb-image:
39       label: FSB1_image
40       hidden: false
41       immutable: false
42       type: string
43       description: FSB1_image
44     fsb1-Internal1-mac:
45       label: FSB1_internal_mac
46       hidden: false
47       immutable: false
48       type: string
49       description: FSB1_internal_mac
50     fsb1-Internal2-mac:
51       label: FSB1_internal_mac
52       hidden: false
53       immutable: false
54       type: string
55       description: FSB1_internal_mac
56     fsb1-zone:
57       label: FSB1_zone
58       hidden: false
59       immutable: false
60       type: string
61       description: FSB1_zone
62     fsb2_zone:
63       label: FSB2_zone
64       hidden: false
65       immutable: false
66       type: string
67       description: FSB2_zone
68     network_name:
69       hidden: false
70       immutable: false
71       type: string
72       description: prop
73     fsb2-Internal1-mac:
74       label: FSB1_internal_mac
75       hidden: false
76       immutable: false
77       type: string
78       description: FSB1_internal_mac
79     fsb2-Internal2-mac:
80       label: FSB1_internal_mac
81       hidden: false
82       immutable: false
83       type: string
84       description: FSB1_internal_mac
85     fsb1-oam-ip:
86       hidden: false
87       immutable: false
88       type: string
89       description: prop
90     jsa_net_name:
91       hidden: false
92       immutable: false
93       type: string
94       description: prop
95     packet_mirror_network_name:
96       hidden: false
97       immutable: false
98       type: string
99       description: prop
100   node_templates:
101     FSB2_Internal_2:
102       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
103       properties:
104         mac_address:
105           get_input: fsb2-Internal2-mac
106         network: Internal2-net-fsb2-Internal2
107         subinterface_indicator: false
108       requirements:
109       - binding:
110           capability: tosca.capabilities.network.Bindable
111           node: FSB2_template
112           relationship: tosca.relationships.network.BindsTo
113       - link:
114           capability: tosca.capabilities.network.Linkable
115           node: jsa_net
116           relationship: tosca.relationships.network.LinksTo
117     FSB2_Internal_1:
118       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
119       properties:
120         mac_address:
121           get_input: fsb2-Internal1-mac
122         network: Internal2-net-fsb2-Internal1
123         subinterface_indicator: false
124       requirements:
125       - binding:
126           capability: tosca.capabilities.network.Bindable
127           node: FSB1_template
128           relationship: tosca.relationships.network.BindsTo
129       - link:
130           capability: tosca.capabilities.network.Linkable
131           node: jsa_net
132           relationship: tosca.relationships.network.LinksTo
133     FSB1_Internal_2:
134       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
135       properties:
136         mac_address:
137           get_input: fsb1-Internal2-mac
138         network: Internal1-net-fsb1-Internal2
139         subinterface_indicator: false
140       requirements:
141       - binding:
142           capability: tosca.capabilities.network.Bindable
143           node: FSB2_template
144           relationship: tosca.relationships.network.BindsTo
145       - link:
146           capability: tosca.capabilities.network.Linkable
147           node: jsa_net1
148           relationship: tosca.relationships.network.LinksTo
149     FSB1_Internal_1:
150       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
151       properties:
152         mac_address:
153           get_input: fsb1-Internal1-mac
154         network: Internal1-net-fsb1-Internal1
155         subinterface_indicator: false
156       requirements:
157       - binding:
158           capability: tosca.capabilities.network.Bindable
159           node: FSB1_template
160           relationship: tosca.relationships.network.BindsTo
161       - link:
162           capability: tosca.capabilities.network.Linkable
163           node: jsa_net1
164           relationship: tosca.relationships.network.LinksTo
165     jsa_net:
166       type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
167       properties:
168         shared: true
169         network_name:
170           get_input: jsa_net_name
171     jsa_net1:
172       type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
173       properties:
174         shared: true
175         network_name:
176           get_attribute:
177           - abstract_FSB
178           - FSB_FSB1_Internal_network_id
179         dhcp_agent_ids:
180           get_attribute:
181           - abstract_FSB
182           - FSB_addresses
183         tenant_id:
184           get_attribute:
185           - abstract_FSB
186           - FSB_FSB2_Internal_network_id
187         qos_policy:
188           get_attribute:
189           - abstract_FSB
190           - FSB_FSB2_Internal_network_id
191     FSB1_template:
192       type: org.openecomp.resource.vfc.nodes.heat.FSB
193       properties:
194         flavor:
195           get_input: fsb-flavor
196         image:
197           get_input: fsb-image
198         admin_pass: STATIC-DATA-FSB1
199         user_data: OPTIONAL-DATA-FSB1
200         availability_zone:
201           get_input: fsb1_zone
202         metadata:
203           write_files:
204           - path: /path1/etc/sysconfig/network-scripts/ifcfg-eth0
205           - path: /path2/etc/sysconfig/network-scripts/ifcfg-eth1
206         name:
207           get_input: fsb1-name
208     FSB2_template:
209       type: org.openecomp.resource.vfc.nodes.heat.FSB
210       properties:
211         flavor:
212           get_input: fsb-flavor
213         image:
214           get_input: fsb-image
215         admin_pass: STATIC-DATA-FSB2
216         availability_zone:
217           get_input: fsb2_zone
218         metadata:
219           write_files:
220           - path: /path3/etc/sysconfig/network-scripts/ifcfg-eth0
221           - path: /path4/etc/sysconfig/network-scripts/ifcfg-eth1
222         name:
223           get_input: fsb2-name
224     packet_mirror_network:
225       type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
226       properties:
227         network_name:
228           get_input: packet_mirror_network_name
229       requirements:
230       - dependency:
231           capability: tosca.capabilities.Node
232           node: QRouter
233           relationship: tosca.relationships.DependsOn
234     jsa_security_group:
235       type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules
236       properties:
237         name:
238           get_input: security_group_name
239         description: ems security group
240         rules:
241         - protocol: tcp
242           ethertype: IPv4
243           port_range_max: 65535
244           remote_ip_prefix: 0.0.0.0/0
245           direction: egress
246           port_range_min: 1
247       requirements:
248       - port:
249           capability: attachment_FSB_FSB1_Internal
250           node: abstract_FSB
251           relationship: org.openecomp.relationships.AttachesTo
252     abstract_FSB:
253       type: org.openecomp.resource.abstract.nodes.FSB
254       directives:
255       - substitutable
256       properties:
257         port_FSB1_Internal_mac_address:
258           get_input: fsb1-Internal1-mac
259         compute_FSB_user_data:
260         - OPTIONAL-DATA-FSB1
261         - null
262         vm_flavor_name:
263           get_input: fsb-flavor
264         vm_image_name:
265           get_input: fsb-image
266         compute_FSB_admin_pass:
267         - STATIC-DATA-FSB1
268         - STATIC-DATA-FSB2
269         port_FSB1_Internal_subinterface_indicator:
270         - false
271         - false
272         port_FSB1_Internal_network:
273         - Internal1-net-fsb1-Internal1
274         - Internal1-net-fsb1-Internal2
275         port_FSB2_Internal_mac_address:
276           get_input: fsb2-Internal1-mac
277         port_FSB2_Internal_network:
278         - Internal2-net-fsb2-Internal1
279         - Internal2-net-fsb2-Internal2
280         compute_FSB_metadata:
281         - write_files:
282           - path: /path1/etc/sysconfig/network-scripts/ifcfg-eth0
283           - path: /path2/etc/sysconfig/network-scripts/ifcfg-eth1
284         - write_files:
285           - path: /path3/etc/sysconfig/network-scripts/ifcfg-eth0
286           - path: /path4/etc/sysconfig/network-scripts/ifcfg-eth1
287         port_FSB2_Internal_subinterface_indicator:
288         - false
289         - false
290         compute_FSB_availability_zone:
291         - get_input: fsb1_zone
292         - get_input: fsb2_zone
293         compute_FSB_name:
294         - get_input: fsb1-name
295         - get_input: fsb2-name
296         service_template_filter:
297           substitute_service_template: Nested_FSBServiceTemplate.yaml
298           count: 2
299         index_value:
300           get_property:
301           - SELF
302           - service_template_filter
303           - index_value
304       requirements:
305       - link_FSB_FSB1_Internal:
306           capability: tosca.capabilities.network.Linkable
307           node: jsa_net1
308           relationship: tosca.relationships.network.LinksTo
309       - link_FSB_FSB2_Internal:
310           capability: tosca.capabilities.network.Linkable
311           node: jsa_net
312           relationship: tosca.relationships.network.LinksTo
313   groups:
314     ep-jsa_net_group:
315       type: org.openecomp.groups.heat.HeatStack
316       properties:
317         heat_file: ../Artifacts/ep-jsa_net.yaml
318         description: |
319           Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
320       members:
321       - FSB1_Internal_1
322       - FSB1_Internal_2
323       - FSB2_Internal_1
324       - FSB2_Internal_2
325       - FSB1_template
326       - FSB2_template
327       - jsa_net
328       - jsa_net1
329       - packet_mirror_network
330       - jsa_security_group