1 heat_template_version: 2015-04-30
4 Example HOT file illustrating elasticity groups.
11 <cURL path>/<backup file>
12 This is only used for restore (aka "disaster recovery").
13 The value only needs to go to the OAM pair.
14 Note that there is a 255 character limit on this value.
18 description: Separator for cloud resource naming.
22 description: JSON formatted string of install config values.
26 description: Keypair used for lifecycle management access.
28 - custom_constraint: nova.keypair
33 Default action for all VMs. This may be overridden for
34 specific VM groups, pairs or VMs via the ENV file.
46 description: Optional VLAN associated with the (0th) internal network.
48 - allowed_pattern: "[0-9]*"
49 description: VLAN Ids are expressed in base 10 digits.
54 Optional SSH public key value for lifecycle management
55 administrative access.
60 (optional) IPV4 DNS server list.
61 It is passed as a string instead of a CDL because
62 of how it is handled internally.
67 (optional) IPV6 DNS server list.
68 It is passed as a string instead of a CDL because
69 of how it is handled internally.
74 (optional) IPV4 ENUM server list.
75 It is passed as a string instead of a CDL because
76 of how it is handled internally.
81 (optional) IPV6 ENUM server list.
82 It is passed as a string instead of a CDL because
83 of how it is handled internally.
88 (optional) IPV4 NTP server list.
89 It is passed as a string instead of a CDL because
90 of how it is handled internally.
95 (optional) IPV6 NTP server list.
96 It is passed as a string instead of a CDL because
97 of how it is handled internally.
101 description: Unique ID for this VNF instance.
106 description: Unique name for this VNF instance.
111 description: Unique ID for this VNF Module instance.
116 description: Unique name for this VNF module instance.
120 type: comma_delimited_list
121 description: CDL of subnet tags.
123 oam_management_v4_source:
125 description: Name of the OAM IP parameter to use.
127 oam_management_v4_index:
129 description: Index to the V4 management IP address.
131 oam_management_v6_source:
133 description: Name of the OAM IP parameter to use.
135 oam_management_v6_index:
137 description: Index to the V6 management IP address.
141 description: ID of the network associated with tag "oam".
143 - custom_constraint: neutron.network
147 description: ID of the subnet associated with tag "oam".
151 description: CIDR associated with tag "oam".
153 - custom_constraint: net_cidr
157 description: Default gateway IP address associated with tag "oam".
161 description: ID of the network associated with tag "access".
163 - custom_constraint: neutron.network
167 description: ID of the subnet associated with tag "access".
171 description: CIDR associated with tag "access".
173 - custom_constraint: net_cidr
175 access_default_gateway:
177 description: Default gateway IP address associated with tag "access".
182 Maps VM type tags to the number of pairs of that type.
186 description: Provides keys into type-specific parameters and vnic info.
191 description: Availability zone name.
195 description: Availability zone name.
198 description: CDL of OAM VM names.
199 type: comma_delimited_list
202 description: CDL of IMS VM names.
203 type: comma_delimited_list
206 description: Image for this VMtype.
210 description: Image for this VMtype.
214 description: CDL of OAM flavor values.
217 - custom_constraint: nova.flavor
220 description: CDL of IMS flavor values.
223 - custom_constraint: nova.flavor
226 type: comma_delimited_list
227 description: List of IP addresses for this VMtype_NETtype combination.
230 type: comma_delimited_list
231 description: List of IP addresses for this VMtype_NETtype combination.
236 type: LCP-OPENECOMP.template.yaml
238 backup_file: {get_param: backup_file}
239 cloud_name_delimiter: {get_param: cloud_name_delimiter}
240 default_action: {get_param: default_action}
241 install_config: {get_param: install_config}
242 lcm_keypair: {get_param: lcm_keypair}
243 ssh_access_key: {get_param: ssh_access_key}
244 v4_dns_server: {get_param: v4_dns_server}
245 v6_dns_server: {get_param: v6_dns_server}
246 v4_enum_server: {get_param: v4_enum_server}
247 v6_enum_server: {get_param: v6_enum_server}
248 v4_ntp_server: {get_param: v4_ntp_server}
249 v6_ntp_server: {get_param: v6_ntp_server}
250 vnf_id: {get_param: vnf_id}
251 vnf_name: {get_param: vnf_name}
252 vnf_module_id: {get_param: vnf_module_id}
253 vnf_module_name: {get_param: vnf_module_name}
254 net_types: {get_param: net_types}
256 "oam": {get_param: oam_net_id},
257 "access": {get_param: access_net_id},
261 "oam": {get_param: oam_subnet_id},
262 "access": {get_param: access_subnet_id},
266 "oam": {get_param: oam_cidr},
267 "access": {get_param: access_cidr},
271 "oam": {get_param: oam_default_gateway},
272 "access": {get_param: access_default_gateway},
275 # This list must be ordered by group ID.
276 vmtype_list: ["oam", "ims"]
278 vm_counts: {get_param: vm_counts}
279 vm_info: {get_param: vm_info}
281 - {get_param: availability_zone_0}
282 - {get_param: availability_zone_1}
284 "oam": {get_param: oam_image_name},
285 "ims": {get_param: ims_image_name},
289 "oam": {get_param: oam_flavor_name},
290 "ims": {get_param: ims_flavor_name},
294 "oam_oam_ips": {get_param: oam_oam_ips},
295 "ims_access_ips": {get_param: ims_access_ips},
299 "oam": {get_param: oam_names},
300 "ims": {get_param: ims_names},
307 type: LCP-Base.template.yaml
312 {"": "$stk$delimiter"}
314 $stk: {get_param: "OS::stack_name"}
315 $delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]}
317 ext_net_list: ["oam", "access"]
318 ext_net_info: {get_attr: [FORMATXLATE, ext_net_info]}
319 total_vm_pairs: {get_attr: [FORMATXLATE, total_vm_pairs]}
324 type: LCP-PairGroup.template.yaml
326 default_action: {get_attr: [FORMATXLATE, default_action]}
330 {"": "oam$delimiter0$delimiter"}
332 $delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]}
336 current_group_count: {get_attr: [FORMATXLATE, vm_counts, "oam"]}
338 lcm_keypair: {get_attr: [FORMATXLATE, lcm_keypair]}
339 total_pair_count: {get_attr: [NOKIA-LCP-Base, TotalPairCount]}
340 backup_file: {get_attr: [FORMATXLATE, backup_file]}
341 name_delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]}
343 install_config: {get_attr: [FORMATXLATE, install_config]}
344 net_info_str: {get_attr: [NOKIA-LCP-Base, NetInfoStr]}
345 sec_group: {get_attr: [NOKIA-LCP-Base, OpenSec]}
346 ssh_access_key: {get_attr: [FORMATXLATE, ssh_access_key]}
347 ssh_public_key: {get_attr: [NOKIA-LCP-Base, PublicKey]}
348 ssh_private_key: {get_attr: [NOKIA-LCP-Base, PrivateKey]}
349 stack: {get_param: "OS::stack_name"}
351 int_net_info: {get_attr: [NOKIA-LCP-Base, IntNetInfo]}
352 ext_net_info: {get_attr: [FORMATXLATE, ext_net_info]}
353 usage_info: {get_attr: [FORMATXLATE, usage_info]}
355 poolinfo: '["mi-0", "cnfg-0", "sns-0"]',
356 v4_static_routes: '{}',
357 v6_static_routes: '{}',
358 v4_default_gateway: "oam",
359 v6_default_gateway: "",
361 "0": { # VM member index.
364 {"count": "0", "binding_type": "direct", "subnet_count": "1", "allowed_subnets": ["INTERNALnet0"]},
365 {"label": "connectivity_ip;subnet=INTERNALnet0", "subnet": "INTERNALnet0"},
368 {"count": "0", "binding_type": "direct", "subnet_count": "1", "allowed_subnets": ["INTERNALnet1"]},
369 {"label": "connectivity_ip;subnet=INTERNALnet1", "subnet": "INTERNALnet1"},
372 {"count": "3", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["oam"]},
373 {"label": "servicetype=cnfg-0;float;nitype=default;subnet=oam", "subnet": "oam"},
374 {"label": "servicetype=mi-0;float;nitype=default;subnet=oam", "subnet": "oam"},
375 {"label": "servicetype=mi-0;fixed;nitype=default;subnet=oam", "subnet": "oam"},
382 {"count": "0", "binding_type": "direct", "subnet_count": "1", "allowed_subnets": ["INTERNALnet0"]},
383 {"label": "connectivity_ip;subnet=INTERNALnet0", "subnet": "INTERNALnet0"},
386 {"count": "0", "binding_type": "direct", "subnet_count": "1", "allowed_subnets": ["INTERNALnet1"]},
387 {"label": "connectivity_ip;subnet=INTERNALnet1", "subnet": "INTERNALnet1"},
390 {"count": "1", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["oam"]},
391 {"label": "servicetype=mi-0;fixed;nitype=default;subnet=oam", "subnet": "oam"},
398 type: OS::Heat::ResourceGroup
402 count: {get_attr: [FORMATXLATE, vm_counts, "ims"]}
404 type: LCP-PairGroup.template.yaml
406 default_action: {get_attr: [FORMATXLATE, default_action]}
410 {"": "ims$delimiter%index%$delimiter"}
412 $delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]}
414 lcm_keypair: {get_attr: [FORMATXLATE, lcm_keypair]}
416 group_index: '%index%'
417 current_group_count: {get_attr: [FORMATXLATE, vm_counts, "ims"]}
418 total_pair_count: {get_attr: [NOKIA-LCP-Base, TotalPairCount]}
419 name_delimiter: {get_attr: [FORMATXLATE, usage_info, cloud_name_delimiter]}
420 net_info_str: {get_attr: [NOKIA-LCP-Base, NetInfoStr]}
421 sec_group: {get_attr: [NOKIA-LCP-Base, OpenSec]}
422 ssh_access_key: {get_attr: [FORMATXLATE, ssh_access_key]}
423 ssh_public_key: {get_attr: [NOKIA-LCP-Base, PublicKey]}
424 ssh_private_key: {get_attr: [NOKIA-LCP-Base, PrivateKey]}
425 stack: {get_param: "OS::stack_name"}
427 install_config: {get_attr: [FORMATXLATE, install_config]}
429 int_net_info: {get_attr: [NOKIA-LCP-Base, IntNetInfo]}
430 ext_net_info: {get_attr: [FORMATXLATE, ext_net_info]}
431 usage_info: {get_attr: [FORMATXLATE, usage_info]}
433 poolinfo: '["ims-0", "ims-1", "gos-0"]',
435 "ims-0": {"subnet": "access", "dest_subnet": "2.2.2.0", "mask": "255.255.255.0"},
436 "ims-1": {"subnet": "access", "dest_subnet": "2.2.2.0", "mask": "255.255.255.0"}
438 v6_static_routes: '{}',
439 v4_default_gateway: "access",
440 v6_default_gateway: "",
442 "0": { # VM member index.
445 {"count": "0", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["INTERNALnet0"]},
446 {"label": "connectivity_ip;subnet=INTERNALnet0", "subnet": "INTERNALnet0"},
449 {"count": "0", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["INTERNALnet1"]},
450 {"label": "connectivity_ip;subnet=INTERNALnet1", "subnet": "INTERNALnet1"},
453 {"count": "1", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["access"]},
454 {"label": "servicetype=ims-0;float;nitype=published;subnet=access", "subnet": "access"},
461 {"count": "0", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["INTERNALnet0"]},
462 {"label": "connectivity_ip;subnet=INTERNALnet0", "subnet": "INTERNALnet0"},
465 {"count": "0", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["INTERNALnet1"]},
466 {"label": "connectivity_ip;subnet=INTERNALnet1", "subnet": "INTERNALnet1"},
469 {"count": "1", "binding_type": "normal", "subnet_count": "1", "allowed_subnets": ["access"]},
470 {"label": "servicetype=ims-1;float;nitype=published;subnet=access", "subnet": "access"},
478 oam_management_v4_address:
479 description: IPV4 of the active MI service.
480 value: {get_param: [{get_param: oam_management_v4_source}, {get_param: oam_management_v4_index}]}
482 oam_management_v6_address:
483 description: IPV6 of the active MI service.
484 value: {get_param: [{get_param: oam_management_v6_source}, {get_param: oam_management_v6_index}]}
488 Internal network IDs, CIDR etc. for use by modular additions to
490 value: {get_attr: [NOKIA-LCP-Base, IntNetInfo]}