628bf3df22e3f0e00368b56643dfca730ec95d00
[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     internal_net_id:
24       hidden: false
25       immutable: false
26       type: string
27       description: the UUID of the operator-created Internal network
28       constraints:
29       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
30     sbg_AVPN_vlan_tag_list:
31       hidden: false
32       immutable: false
33       type: list
34       description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
35       entry_schema:
36         type: string
37     sbg_AVPN_count:
38       hidden: false
39       immutable: false
40       type: float
41       description: The number of AVPN networks
42       constraints:
43       - in_range:
44         - 1
45         - 999
46     sbg_sc_flavor_name:
47       hidden: false
48       immutable: false
49       type: string
50       description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
51     sbg_comte_floating_ip:
52       hidden: false
53       immutable: false
54       type: string
55       description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
56       constraints:
57       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
58     sbg_internal_ips:
59       hidden: false
60       immutable: false
61       type: list
62       description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
63       entry_schema:
64         type: string
65     sbg_avpn_ips:
66       hidden: false
67       immutable: false
68       type: list
69       description: |
70         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.
71       entry_schema:
72         type: string
73     sbg_sc_names:
74       hidden: false
75       immutable: false
76       type: list
77       description: comma delimited list of VM names assigned to System Controller VMs
78       entry_schema:
79         type: string
80     sbg_nfs_floating_ip:
81       hidden: false
82       immutable: false
83       type: string
84       description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
85       constraints:
86       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
87     sbg_boot_floating_ip:
88       hidden: false
89       immutable: false
90       type: string
91       description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
92       constraints:
93       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
94     sbg_sc_volume_id_0:
95       hidden: false
96       immutable: false
97       type: string
98       description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
99       constraints:
100       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
101     vnf_id:
102       hidden: false
103       immutable: false
104       type: string
105       description: Unique ID for this VF instance
106     avpn_net_id:
107       hidden: false
108       immutable: false
109       type: list
110       description: comma delimited list of the UUIDs of the operator-created AVPN networks
111       entry_schema:
112         type: string
113     sbg_sc_volume_id_1:
114       hidden: false
115       immutable: false
116       type: string
117       description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
118       constraints:
119       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
120     availability_zone_0:
121       hidden: false
122       immutable: false
123       type: string
124       description: First availability zone ID or Name.
125     sbg_internal_mac_addresses:
126       hidden: false
127       immutable: false
128       type: list
129       description: comma delimited list of MAC addresses for the VMs on the Internal network
130       entry_schema:
131         type: string
132   node_templates:
133     sbg_pl_trunk_subport_avpn_group_0:
134       type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
135       directives:
136       - substitutable
137       properties:
138         nested_avpn_net_id:
139           get_input: avpn_net_id
140         service_template_filter:
141           substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
142           count:
143             get_input: sbg_AVPN_count
144           mandatory: false
145         nested_sbg_AVPN_vlan_tag_list:
146           get_input: sbg_AVPN_vlan_tag_list
147         nested_sbg_avpn_ip_0:
148           get_input:
149           - sbg_avpn_ips
150           - 0
151         nested_avpn_subnet_id:
152           get_input: avpn_subnet_id
153         nested_sbg_AVPN_counter:
154           get_property:
155           - SELF
156           - service_template_filter
157           - index_value
158     abstract_sbg_sc:
159       type: org.openecomp.resource.abstract.nodes.sbg_sc
160       directives:
161       - substitutable
162       properties:
163         port_sbg_sc_internal_0_port_mac_requirements:
164           mac_count_required:
165             is_required: true
166         compute_sbg_sc_name:
167         - get_input:
168           - sbg_sc_names
169           - 0
170         compute_sbg_sc_config_drive:
171         - true
172         port_sbg_sc_internal_0_port_allowed_address_pairs:
173         - ip_address:
174             get_input: sbg_nfs_floating_ip
175         - ip_address:
176             get_input: sbg_comte_floating_ip
177         - ip_address:
178             get_input: sbg_boot_floating_ip
179         port_sbg_sc_internal_0_port_ip_requirements:
180         - ip_version: 4
181           ip_count_required:
182             is_required: true
183           floating_ip_count_required:
184             is_required: true
185         compute_sbg_sc_metadata:
186         - vf_module_id:
187             get_input: vf_module_id
188           vnf_id:
189             get_input: vnf_id
190         port_sbg_sc_internal_0_port_fixed_ips:
191         - ip_address:
192             get_input:
193             - sbg_internal_ips
194             - 0
195         port_sbg_sc_internal_0_port_network_role_tag: internal
196         vm_flavor_name:
197           get_input: sbg_sc_flavor_name
198         port_sbg_sc_internal_0_port_replacement_policy:
199         - AUTO
200         port_sbg_sc_internal_0_port_network:
201         - get_input: internal_net_id
202         port_sbg_sc_internal_0_port_mac_address:
203           get_input:
204           - sbg_internal_mac_addresses
205           - 0
206         compute_sbg_sc_availability_zone:
207         - get_input: availability_zone_0
208         compute_sbg_sc_user_data_format:
209         - RAW
210         service_template_filter:
211           substitute_service_template: Nested_sbg_scServiceTemplate.yaml
212           count: 1
213         index_value:
214           get_property:
215           - SELF
216           - service_template_filter
217           - index_value
218   groups:
219     DPA3_New_VNF_TSBGv_base_group:
220       type: org.openecomp.groups.heat.HeatStack
221       properties:
222         heat_file: ../Artifacts/DPA3_New_VNF_TSBGv_base.yaml
223         description: |
224           SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
225       members:
226       - sbg_pl_trunk_subport_avpn_group_0
227       - abstract_sbg_sc