6025cd83447be418c9bbdaa0e21822012819fea3
[sdc.git] /
1 heat_template_version: '2014-10-16'
2 description: ''
3
4 ## Note: Nokia VM HOT file for vCCF
5 ## Copyright: Nokia 2016
6 ## Name: "base_vIECCF.yml"
7 ## Date: 20 Dec 2016
8 ## Juno Version
9 ## Version History
10 ##     12/20/2016 
11 ##         - Initial version for IECCF R30.3.3
12 ##     01/06/2017
13 ##         - Updated vCCF package to address removal of shared volume for IO VMs
14 ##     01/19/2017
15 ##         - Updated vCCF package to address ICE feedback reviewed on 1/13/2017
16 ##         - Updated to remove Nokia related values and match AT&T environment
17 ##         - Updated vm_role to match vm_type used in the resource naming convention
18 ##     02/17/2017
19 ##         - Updated vCCF package from Nokia
20 ##     06/23/2017
21 ##         - Updated vCCF package from Nokia to add output parameter for OAM IP address
22 ##     08/21/2017
23 ##         - Updated to replace ':' in port resource names with '_'
24 ##     09/20/2017
25 ##         - Updated to revert port resource names back to original with embedded ':'
26 ##         - Updated to replace ':' in port name property with '_'
27 ##     09/27/2017
28 ##         - Updated for mini instance in DPA2a - VM reduction
29
30 parameters:
31     vnf_id:
32         type: string
33         description: Unique ID for this VF instance
34     vf_module_id:
35         type: string
36         description: Unique ID for this VF Module instance
37     vnf_name:
38         type: string
39         description: Unique name for this VF instance
40     vf_module_name:
41         type: string
42         description: Unique name for this VF Module instance
43
44     plt_names:
45         type: comma_delimited_list
46         description: VM names for plt VMs
47     iox_names:
48         type: comma_delimited_list
49         description: VM names for iox VMs
50     app_names:
51         type: comma_delimited_list
52         description: VM names for app VMs
53
54     openstack_cacert: # Is this needed, and why?
55         type: string
56         label: 'OpenStack CA Certificate'
57         description: 'CA Certificate to use for OpenStack client calls.'
58     config_server_cacert:
59         type: string
60         label: 'configure server CA Certificate'
61         description: 'CA Certificate for download from siteinfo url and config url.'
62         
63 #    _template_version_:
64 #        type: string
65 #        hidden: 'True'
66     ignore_siteinfo_audit:
67         type: string
68         label: 'Siteinfo Audit Ignore Flag'
69         description: 'Set to true if siteinfo audit failure should not prevent system installation'
70
71     availability_zone_0:
72         type: string
73         description: First availability zone ID or Name
74     availability_zone_1:
75         type: string
76         description: Second availability zone ID or Name
77
78     plt_image_name:
79         type: string
80         description: Pilot image
81         
82     plt_flavor_name:
83         type: string
84         description: Pilot flavor
85         
86     plt_security_groups:
87         type: comma_delimited_list
88         description: Pilot security group
89         
90         
91     iox_image_name:
92         type: string
93         description: IO image
94         
95     iox_flavor_name:
96         type: string
97         description: IO flavor
98         
99     iox_security_groups:
100         type: comma_delimited_list
101         description: IO security group
102         
103     app_image_name:
104         type: string
105         description: App image
106         
107     app_flavor_name:
108         type: string
109         description: App flavor
110         
111     app_security_groups:
112         type: comma_delimited_list
113         description: App security group
114         
115     oam_security_groups:
116         type: comma_delimited_list
117         description: OAM security group
118         
119     data_security_groups:
120         type: comma_delimited_list
121         description: DATA security group
122
123     oam_net_id:
124         type: string
125         description: 'OAM network'
126         
127     data_net_id:
128         type: string
129         description: 'DATA network'
130 #    io_net_id:
131 #        type: string
132 #        label: 'IO network'
133
134     siteinfo_url:
135         type: string
136         description: 'siteinfo url'
137     ieccf_config_url:
138         type: string
139         description: 'IECCF configuration package URL'
140     ieccf_debug:
141         type: string
142         description: 'IECCF debug flag'
143 #    growth_mini_siteinfo_url_01:
144 #        type: string
145 #        label: 'IECCF app node growth mini siteinfo URL'
146
147     name_server_1:
148         type: string
149         description: 'IP address of name server 1'
150     name_server_2:
151         type: string
152         description: 'IP address of name server 2'
153     domain:
154         type: string
155         description: What is this domain? 
156
157     plt_oam_ips:
158         type: comma_delimited_list
159         description: Fixed IPv4 assignments for plt VMs on the OAM network
160     iox_oam_ips:
161         type: comma_delimited_list
162         description: Fixed IPv4 assignments for iox VMs on the OAM network
163     app_oam_ips:
164         type: comma_delimited_list
165         description: Fixed IPv4 assignments for app VMs on the OAM network
166
167     plt_data_v6_ips:
168         type: comma_delimited_list
169         description: Fixed IPv6 assignments for plt VMs on the DATA network
170     iox_data_v6_ips:
171         type: comma_delimited_list
172         description: Fixed IPv6 assignments for iox VMs on the DATA network
173     app_data_v6_ips:
174         type: comma_delimited_list
175         description: Fixed IPv6 assignments for app VMs on the DATA network
176
177     plt_oam_floating_ip:
178         type: string
179         description: Floating IPv4 for plt VMs on the OAM network
180     iox_oam_floating_ip:
181         type: string
182         description: Floating IPv4 for iox VMs on the OAM network
183
184     plt_data_floating_v6_ip:
185         type: string
186         description: Floating IPv6 for plt VMs on the DATA network
187     iox_data_floating_v6_ip:
188         type: string
189         description: Floating IPv6 for iox VMs on the DATA network
190
191     internal_subnet_cidr:
192         type: string
193         description: IP subnet for internal network
194
195     plt_pair_uuid:
196         type: string
197         description: UUID for plt VM pair
198     iox_pair_uuid:
199         type: string
200         description: UUID for iox VM pair
201
202     plt_volume_shared_id_0:
203         type: string
204         description: ServiceData2 volume for plt VMs
205
206     plt_volume_id_0:
207         type: string
208         description: ServiceData1 volume for first plt VM
209
210     plt_volume_id_1:
211         type: string
212         description: ServiceData1 volume for second plt VM
213
214     app_volume_id_0:
215         type: string
216         description: ServiceData1 volume for first app VM
217
218     app_volume_id_1:
219         type: string
220         description: ServiceData1 volume for second app VM
221
222     app_volume_id_2:
223         type: string
224         description: ServiceData1 volume for third app VM
225                      
226 resources:
227
228     internal_net_0:
229         type: OS::Neutron::Net
230         properties:
231             name:
232                 str_replace:
233                     template: $prefix-internal_net_0
234                     params:
235                         $prefix: { get_param: vnf_name }
236             
237     internal_0_subnet_0:
238         type: OS::Neutron::Subnet
239         properties:
240             name:
241                 str_replace:
242                     template: $vnf_name-internal_0_subnet_0
243                     params:
244                         $vnf_name:
245                             get_param: vnf_name
246             cidr: {get_param: internal_subnet_cidr}
247             network: {get_resource: internal_net_0 }
248             enable_dhcp: 'True'
249             gateway_ip: ''
250
251     app_server_group:
252         type: OS::Nova::ServerGroup
253         properties:
254             name:
255                 str_replace:
256                   params:
257                       $vnf_name: {get_param: vnf_name}
258                   template: $vnf_name-app_server_group
259             policies:
260                 - anti-affinity
261
262     'node:m001:server':
263         type: OS::Nova::Server
264         properties:
265             name: { get_param: [plt_names, 0]}
266             availability_zone:
267                 get_param: availability_zone_0
268             image:
269                 get_param: plt_image_name
270             flavor:
271                 get_param: plt_flavor_name
272             image_update_policy: REBUILD
273             config_drive: 'True'
274             block_device_mapping:
275                 -
276                     delete_on_termination: 'false'
277                     device_name: vdb
278                     volume_id:
279                         get_param: plt_volume_id_0
280             networks:
281                 -
282                     port:
283                         get_resource: plt_internal_0_port_0
284                 -
285                     port:
286                         get_resource: plt_oam_0_port_0
287                 -
288                     port:
289                         get_resource: plt_data_0_port_0
290             user_data_format: RAW
291             user_data:
292                 str_replace:
293                     template:
294                         get_file: node_userdata_script.sh
295 #                        get_param: _node_userdata_script_
296                     params:
297                         __heat_stack_name__:
298                             get_param: 'OS::stack_name'
299                         __node_siteinfo_url__: { get_param: siteinfo_url }
300                         __ieccf_config_url__: { get_param: ieccf_config_url }
301                         __ieccf_debug__: { get_param: ieccf_debug }
302                         __activepilot_ip__:
303                             get_attr:
304                                 - 'network:system:vip:m001:m002'
305 #                                - 'network_system_vip_m001_m002'
306                                 - fixed_ips
307                                 - 0
308                                 - ip_address
309                         __host_key__:
310                             get_attr:
311                                 - 'sysinfo:host_key'
312                                 - value
313                         __pilot__: A
314                         __script_url__: ''
315                         __script_args__: ''
316                         __os_cacert__:
317                             get_param: openstack_cacert
318 #                            get_file: openstack_cacert.crt
319                         __cs_cacert__:
320                             get_param: config_server_cacert
321 #                            get_file: config_server_cacert.crt
322                         __post_exec__: ''
323                         __ignore_siteinfo_audit__:
324                             get_param: ignore_siteinfo_audit
325                         __nameserver1__: {get_param: name_server_1}
326                         __nameserver2__: {get_param: name_server_2}
327                         __domain__: { get_param: domain }
328                         __shared_volid1__:
329 #                            get_resource: 'node:m001:m002:shared_vol1'
330                             get_param: plt_volume_shared_id_0
331
332             metadata:
333                 vnf_id: {get_param: vnf_id}
334                 vnf_name: {get_param: vnf_name}
335                 vf_module_id: {get_param: vf_module_id}
336                 vf_module_name: {get_param: vf_module_name}
337                 vm_role: plt
338         metadata:
339             mcas_id: m001
340             networks:
341                 -
342                     get_attr:
343                         - plt_internal_0_port_0
344                         - network_id
345                 -
346                     get_attr:
347                         - plt_oam_0_port_0
348                         - network_id
349                 -
350                     get_attr:
351                         - plt_data_0_port_0
352                         - network_id
353             mcas_mate_id: m002
354             pair_uuid: {get_param: plt_pair_uuid}
355             shared_vol1: {get_param: plt_volume_shared_id_0}
356     plt_internal_0_port_0:
357         type: OS::Neutron::Port
358         properties:
359             name:
360                 str_replace:
361                     template: $vnf_name-plt_internal_0_port_0
362                     params:
363                         $vnf_name:
364                             get_param: vnf_name
365             network: {get_resource: internal_net_0 }
366             replacement_policy: AUTO
367             allowed_address_pairs:
368                 -
369                     ip_address: {get_param: internal_subnet_cidr}
370             security_groups:
371                 get_param: plt_security_groups
372         metadata:
373             os_net: {get_resource: internal_net_0 }
374
375     plt_internal_0_port_1:
376         type: OS::Neutron::Port
377         properties:
378             name:
379                 str_replace:
380                     template: $vnf_name-plt_internal_0_port_0
381                     params:
382                         $vnf_name:
383                             get_param: vnf_name
384             network: {get_resource: internal_net_0 }
385             replacement_policy: AUTO
386             allowed_address_pairs:
387                 -
388                     ip_address: {get_param: internal_subnet_cidr}
389             security_groups:
390                 get_param: plt_security_groups
391         metadata:
392             os_net: {get_resource: internal_net_0 }
393             
394     plt_oam_0_port_0:
395         type: OS::Neutron::Port
396         properties:
397             name:
398                 str_replace:
399                     template: $vnf_name-plt_oam_0_port_0
400                     params:
401                         $vnf_name:
402                             get_param: vnf_name
403             network: { get_param: oam_net_id }
404             replacement_policy: AUTO
405             allowed_address_pairs:
406                 -
407                     ip_address:
408                         get_attr:
409                             - 'network:oam:vip:m001:m002'
410 #                            - 'network_oam_vip_m001_m002'
411                             - fixed_ips
412                             - 0
413                             - ip_address
414             fixed_ips:
415                 -
416                     ip_address: {get_param: [plt_oam_ips, 0]}
417             security_groups:
418 #                get_param: plt_security_groups
419                 get_param: oam_security_groups
420         metadata:
421             os_net: { get_param: oam_net_id }
422             ext_net: oam
423
424     plt_oam_0_port_1:
425         type: OS::Neutron::Port
426         properties:
427             name:
428                 str_replace:
429                     template: $vnf_name-plt_oam_0_port_0
430                     params:
431                         $vnf_name:
432                             get_param: vnf_name
433             network: { get_param: oam_net_id }
434             replacement_policy: AUTO
435             allowed_address_pairs:
436                 -
437                     ip_address:
438                         get_attr:
439                             - 'network:oam:vip:m001:m002'
440 #                            - 'network_oam_vip_m001_m002'
441                             - fixed_ips
442                             - 0
443                             - ip_address
444             security_groups:
445 #                get_param: plt_security_groups
446                 get_param: oam_security_groups
447         metadata:
448             os_net: { get_param: oam_net_id }
449             ext_net: oam
450
451     plt_data_0_port_0:
452         type: OS::Neutron::Port
453         properties:
454             name:
455                 str_replace:
456                     template: $vnf_name-plt_data_0_port_0
457                     params:
458                         $vnf_name:
459                             get_param: vnf_name
460             network: { get_param: data_net_id }
461             replacement_policy: AUTO
462             allowed_address_pairs:
463                 -
464                     ip_address:
465                         get_attr:
466                             - 'network:data:vip:m001:m002'
467 #                            - 'network_data_vip_m001_m002'
468                             - fixed_ips
469                             - 0
470                             - ip_address
471             fixed_ips:
472                 -
473                     ip_address: {get_param: [plt_data_v6_ips, 0]}
474             security_groups:
475 #                get_param: plt_security_groups
476                 get_param: data_security_groups
477         metadata:
478             os_net: { get_param: data_net_id }
479             ext_net: data
480
481     plt_data_0_port_1:
482         type: OS::Neutron::Port
483         properties:
484             name:
485                 str_replace:
486                     template: $vnf_name-plt_data_0_port_0
487                     params:
488                         $vnf_name:
489                             get_param: vnf_name
490             network: { get_param: data_net_id }
491             replacement_policy: AUTO
492             allowed_address_pairs:
493                 -
494                     ip_address:
495                         get_attr:
496                             - 'network:data:vip:m001:m002'
497 #                            - 'network_data_vip_m001_m002'
498                             - fixed_ips
499                             - 0
500                             - ip_address
501             fixed_ips:
502                 -
503                     ip_address: {get_param: [plt_data_v6_ips, 1]}
504             security_groups:
505 #                get_param: plt_security_groups
506                 get_param: data_security_groups
507         metadata:
508             os_net: { get_param: data_net_id }
509             ext_net: data
510
511     'node:m002:server':
512         type: OS::Nova::Server
513         properties:
514             name: { get_param: [plt_names, 1]}
515             availability_zone:
516                 get_param: availability_zone_1
517             image:
518                 get_param: plt_image_name
519             flavor:
520                 get_param: plt_flavor_name
521             image_update_policy: REBUILD
522             config_drive: 'True'
523             block_device_mapping:
524                 -
525                     delete_on_termination: 'false'
526                     device_name: vdb
527                     volume_id:
528                         get_param: plt_volume_id_1
529             networks:
530                 -
531                     port:
532                         get_resource: plt_internal_0_port_1
533                 -
534                     port:
535                         get_resource: plt_oam_0_port_1
536                 -
537                     port:
538                         get_resource: plt_data_0_port_1
539             user_data_format: RAW
540             user_data:
541                 str_replace:
542                     template:
543                         get_file: node_userdata_script.sh
544 #                        get_param: _node_userdata_script_
545                     params:
546                         __heat_stack_name__:
547                             get_param: 'OS::stack_name'
548                         __node_siteinfo_url__: { get_param: siteinfo_url }
549                         __ieccf_config_url__: { get_param: ieccf_config_url }
550                         __ieccf_debug__: { get_param: ieccf_debug }
551                         __activepilot_ip__:
552                             get_attr:
553                                 - 'network:system:vip:m001:m002'
554 #                                - 'network_system_vip_m001_m002'
555                                 - fixed_ips
556                                 - 0
557                                 - ip_address
558                         __host_key__:
559                             get_attr:
560                                 - 'sysinfo:host_key'
561                                 - value
562                         __pilot__: B
563                         __script_url__: ''
564                         __script_args__: ''
565                         __os_cacert__:
566                             get_param: openstack_cacert
567 #                            get_file: openstack_cacert.crt
568                         __cs_cacert__:
569                             get_param: config_server_cacert
570 #                            get_file: config_server_cacert.crt
571                         __post_exec__: ''
572                         __ignore_siteinfo_audit__:
573                             get_param: ignore_siteinfo_audit
574                         __nameserver1__: {get_param: name_server_1}
575                         __nameserver2__: {get_param: name_server_2}
576                         __domain__: {get_param: domain}
577                         __shared_volid1__:
578 #                            get_resource: 'node:m001:m002:shared_vol1'
579                             get_param: plt_volume_shared_id_0
580
581             metadata:
582                 vnf_id: {get_param: vnf_id}
583                 vnf_name: {get_param: vnf_name}
584                 vf_module_id: {get_param: vf_module_id}
585                 vf_module_name: {get_param: vf_module_name}
586                 vm_role: plt
587         metadata:
588             mcas_id: m002
589             networks:
590                 -
591                     get_attr:
592                         - plt_internal_1_port_0
593                         - network_id
594                 -
595                     get_attr:
596                         - plt_oam_1_port_0
597                         - network_id
598                 -
599                     get_attr:
600                         - plt_data_1_port_0
601                         - network_id
602             mcas_mate_id: m001
603             pair_uuid: {get_param: plt_pair_uuid}
604             shared_vol1: {get_param: plt_volume_shared_id_0}
605
606     'network:system:vip:m001:m002':
607 #    'network_system_vip_m001_m002':
608         type: OS::Neutron::Port
609         properties:
610             name:
611                 str_replace:
612 #                    template: '$vnf_name-network:system:vip:m001:m002'
613                     template: '$vnf_name-network_system_vip_m001_m002'
614                     params:
615                         $vnf_name:
616                             get_param: vnf_name
617             network: {get_resource: internal_net_0 }
618
619             replacement_policy: AUTO
620             allowed_address_pairs:
621                 -
622                     ip_address: {get_param: internal_subnet_cidr }
623             security_groups:
624                 get_param: plt_security_groups
625         metadata:
626             os_net: {get_resource: internal_net_0 }
627
628             pair_uuid: {get_param: plt_pair_uuid}
629     'network:oam:vip:m001:m002':
630 #    'network_oam_vip_m001_m002':
631         type: OS::Neutron::Port
632         properties:
633             name:
634                 str_replace:
635 #                    template: '$vnf_name-network:oam:vip:m001:m002'
636                     template: '$vnf_name-network_oam_vip_m001_m002'
637                     params:
638                         $vnf_name:
639                             get_param: vnf_name
640             network: { get_param: oam_net_id }
641             replacement_policy: AUTO
642             fixed_ips:
643                 -
644                     ip_address: {get_param: plt_oam_floating_ip}
645             security_groups:
646 #                get_param: plt_security_groups
647                 get_param: oam_security_groups
648         metadata:
649             os_net: { get_param: oam_net_id }
650             ext_net: oam
651             pair_uuid: {get_param: plt_pair_uuid}
652     'network:data:vip:m001:m002':
653 #    'network_data_vip_m001_m002':
654         type: OS::Neutron::Port
655         properties:
656             name:
657                 str_replace:
658 #                    template: '$vnf_name-network:data:vip:m001:m002'
659                     template: '$vnf_name-network_data_vip_m001_m002'
660                     params:
661                         $vnf_name:
662                             get_param: vnf_name
663             network: { get_param: data_net_id }
664             replacement_policy: AUTO
665             fixed_ips:
666                 -
667                     ip_address: {get_param: plt_data_floating_v6_ip}
668             security_groups:
669 #                get_param: plt_security_groups
670                 get_param: data_security_groups
671         metadata:
672             os_net: { get_param: data_net_id }
673             ext_net: data
674             pair_uuid: {get_param: plt_pair_uuid}
675
676     'node:m003:server':
677         type: OS::Nova::Server
678         properties:
679             name: { get_param: [iox_names, 0]}
680             availability_zone:
681                 get_param: availability_zone_0
682             image:
683                 get_param: iox_image_name
684             flavor:
685                 get_param: iox_flavor_name
686             image_update_policy: REBUILD
687             config_drive: 'True'
688             networks:
689                 -
690                     port:
691                         get_resource: iox_internal_0_port_0
692                 -
693                     port:
694                         get_resource: iox_oam_0_port_0
695                 -
696                     port:
697                         get_resource: iox_data_0_port_0
698             user_data_format: RAW
699             user_data:
700                 str_replace:
701                     template:
702                         get_file: node_userdata_script.sh
703 #                        get_param: _node_userdata_script_
704                     params:
705                         __heat_stack_name__:
706                             get_param: 'OS::stack_name'
707                         __node_siteinfo_url__: { get_param: siteinfo_url }
708                         __ieccf_config_url__: { get_param: ieccf_config_url }
709                         __ieccf_debug__: { get_param: ieccf_debug }
710                         __activepilot_ip__:
711                             get_attr:
712                                 - 'network:system:vip:m001:m002'
713 #                                - 'network_system_vip_m001_m002'
714                                 - fixed_ips
715                                 - 0
716                                 - ip_address
717                         __host_key__:
718                             get_attr:
719                                 - 'sysinfo:host_key'
720                                 - value
721                         __pilot__: ''
722                         __script_url__: ''
723                         __script_args__: ''
724                         __os_cacert__: ''
725                         __cs_cacert__: ''
726                         __post_exec__: ''
727                         __ignore_siteinfo_audit__:
728                             get_param: ignore_siteinfo_audit
729                         __nameserver1__: {get_param: name_server_1}
730                         __nameserver2__: {get_param: name_server_2}
731                         __domain__: {get_param: domain}
732 #                        __shared_volid1__:
733 #                            get_resource: 'node:m003:m004:shared_vol1'
734 #                            get_param: iox_volume_shared_0
735
736             metadata:
737                 vnf_id: {get_param: vnf_id}
738                 vnf_name: {get_param: vnf_name}
739                 vf_module_id: {get_param: vf_module_id}
740                 vf_module_name: {get_param: vf_module_name}
741                 vm_role: iox
742         metadata:
743             mcas_id: m003
744             networks:
745                 -
746                     get_attr:
747                         - iox_internal_0_port_0
748                         - network_id
749                 -
750                     get_attr:
751                         - iox_oam_0_port_0
752                         - network_id
753                 -
754                     get_attr:
755                         - iox_data_0_port_0
756                         - network_id
757             mcas_mate_id: m004
758             pair_uuid: {get_param: iox_pair_uuid}
759 #            shared_vol1: {get_param: iox_volume_shared_0}
760     iox_internal_0_port_0:
761         type: OS::Neutron::Port
762         properties:
763             name:
764                 str_replace:
765                     template: $vnf_name-iox_internal_0_port_0
766                     params:
767                         $vnf_name:
768                             get_param: vnf_name
769             network: {get_resource: internal_net_0 }
770             replacement_policy: AUTO
771             allowed_address_pairs:
772                 -
773                     ip_address: {get_param: internal_subnet_cidr}
774             security_groups:
775                 get_param: iox_security_groups
776         metadata:
777             os_net: {get_resource: internal_net_0 }
778
779     iox_oam_0_port_0:
780         type: OS::Neutron::Port
781         properties:
782             name:
783                 str_replace:
784                     template: $vnf_name-iox_oam_0_port_0
785                     params:
786                         $vnf_name:
787                             get_param: vnf_name
788             network: { get_param: oam_net_id }
789             replacement_policy: AUTO
790             allowed_address_pairs:
791                 -
792                     ip_address:
793                         get_attr:
794                             - 'network:io:vip:m004:m003'
795                             - fixed_ips
796                             - 0
797                             - ip_address
798             security_groups:
799                 get_param: oam_security_groups
800         metadata:
801             os_net: { get_param: oam_net_id }
802             ext_net: io
803     iox_data_0_port_0:
804         type: OS::Neutron::Port
805         properties:
806             name:
807                 str_replace:
808                     template: $vnf_name-iox_data_0_port_0
809                     params:
810                         $vnf_name:
811                             get_param: vnf_name
812             network: { get_param: data_net_id }
813             replacement_policy: AUTO
814             allowed_address_pairs:
815                 -
816                     ip_address:
817                         get_attr:
818                             - 'network:data:vip:m004:m003'
819 #                            - 'network_data_vip_m001_m002'
820                             - fixed_ips
821                             - 0
822                             - ip_address
823             fixed_ips:
824                 -
825                     ip_address: {get_param: [iox_data_v6_ips, 0]}
826             security_groups:
827 #                get_param: iox_security_groups
828                 get_param: data_security_groups
829         metadata:
830             os_net: { get_param: data_net_id }
831             ext_net: data
832     'node:m004:server':
833         type: OS::Nova::Server
834         properties:
835             name: { get_param: [iox_names, 1]}
836             availability_zone:
837                 get_param: availability_zone_1
838             image:
839                 get_param: iox_image_name
840             flavor:
841                 get_param: iox_flavor_name
842             image_update_policy: REBUILD
843             config_drive: 'True'
844             networks:
845                 -
846                     port:
847                         get_resource: iox_internal_0_port_1
848                 -
849                     port:
850                         get_resource: iox_oam_0_port_1
851                 -
852                     port:
853                         get_resource: iox_data_0_port_1
854             user_data_format: RAW
855             user_data:
856                 str_replace:
857                     template:
858                         get_file: node_userdata_script.sh
859 #                        get_param: _node_userdata_script_
860                     params:
861                         __heat_stack_name__:
862                             get_param: 'OS::stack_name'
863                         __node_siteinfo_url__: { get_param: siteinfo_url }
864                         __ieccf_config_url__: { get_param: ieccf_config_url }
865                         __ieccf_debug__: { get_param: ieccf_debug }
866                         __activepilot_ip__:
867                             get_attr:
868                                 - 'network:system:vip:m001:m002'
869 #                                - 'network_system_vip_m001_m002'
870                                 - fixed_ips
871                                 - 0
872                                 - ip_address
873                         __host_key__:
874                             get_attr:
875                                 - 'sysinfo:host_key'
876                                 - value
877                         __pilot__: ''
878                         __script_url__: ''
879                         __script_args__: ''
880                         __os_cacert__: ''
881                         __cs_cacert__: ''
882                         __post_exec__: ''
883                         __ignore_siteinfo_audit__:
884                             get_param: ignore_siteinfo_audit
885                         __nameserver1__: {get_param: name_server_1}
886                         __nameserver2__: {get_param: name_server_2}
887                         __domain__: {get_param: domain}
888 #                        __shared_volid1__:
889 #                            get_resource: 'node:m003:m004:shared_vol1'
890 #                            get_param: iox_volume_shared_0
891
892             metadata:
893                 vnf_id: {get_param: vnf_id}
894                 vnf_name: {get_param: vnf_name}
895                 vf_module_id: {get_param: vf_module_id}
896                 vf_module_name: {get_param: vf_module_name}
897                 vm_role: iox
898         metadata:
899             mcas_id: m004
900             networks:
901                 -
902                     get_attr:
903                         - iox_internal_1_port_0
904                         - network_id
905                 -
906                     get_attr:
907                         - iox_oam_1_port_0
908                         - network_id
909                 -
910                     get_attr:
911                         - iox_data_1_port_0
912                         - network_id
913             mcas_mate_id: m003
914             pair_uuid: {get_param: iox_pair_uuid}
915 #            shared_vol1: {get_param: iox_volume_shared_0}
916     iox_internal_0_port_1:
917         type: OS::Neutron::Port
918         properties:
919             name:
920                 str_replace:
921                     template: $vnf_name-iox_internal_1_port_0
922                     params:
923                         $vnf_name:
924                             get_param: vnf_name
925             network: {get_resource: internal_net_0 }
926
927             replacement_policy: AUTO
928             allowed_address_pairs:
929                 -
930                     ip_address: {get_param: internal_subnet_cidr}
931             security_groups:
932                 get_param: iox_security_groups
933         metadata:
934             os_net: {get_resource: internal_net_0 }
935  
936     iox_oam_0_port_1:
937         type: OS::Neutron::Port
938         properties:
939             name:
940                 str_replace:
941                     template: $vnf_name-iox_oam_1_port_0
942                     params:
943                         $vnf_name:
944                             get_param: vnf_name
945             network: { get_param: oam_net_id }
946             replacement_policy: AUTO
947             allowed_address_pairs:
948                 -
949                     ip_address:
950                         get_attr:
951                             - 'network:io:vip:m004:m003'
952 #                            - 'network_io_vip_m004_m003'
953                             - fixed_ips
954                             - 0
955                             - ip_address
956             fixed_ips:
957                 -
958                     ip_address: {get_param: [iox_oam_ips, 1]}
959             security_groups:
960 #                get_param: iox_security_groups
961                 get_param: oam_security_groups
962         metadata:
963             os_net: { get_param: oam_net_id }
964             ext_net: io
965     iox_data_0_port_1:
966         type: OS::Neutron::Port
967         properties:
968             name:
969                 str_replace:
970                     template: $vnf_name-iox_data_1_port_0
971                     params:
972                         $vnf_name:
973                             get_param: vnf_name
974             network: { get_param: data_net_id }
975             replacement_policy: AUTO
976             allowed_address_pairs:
977                 -
978                     ip_address:
979                         get_attr:
980                             - 'network:data:vip:m004:m003'
981 #                            - 'network_data_vip_m001_m002'
982                             - fixed_ips
983                             - 0
984                             - ip_address
985             fixed_ips:
986                 -
987                     ip_address: {get_param: [iox_data_v6_ips, 1]}
988             security_groups:
989 #                get_param: iox_security_groups
990                 get_param: data_security_groups
991         metadata:
992             os_net: { get_param: data_net_id }
993             ext_net: data
994     'network:io:vip:m004:m003':
995 #    'network_io_vip_m004_m003':
996         type: OS::Neutron::Port
997         properties:
998             name:
999                 str_replace:
1000 #                    template: '$vnf_name-network:io:vip:m004:m003'
1001                     template: '$vnf_name-network_io_vip_m004_m003'
1002                     params:
1003                         $vnf_name:
1004                             get_param: vnf_name
1005             network: { get_param: oam_net_id }
1006             replacement_policy: AUTO
1007             fixed_ips:
1008                 -
1009                     ip_address: {get_param: iox_oam_floating_ip}
1010             security_groups:
1011 #                get_param: iox_security_groups
1012                 get_param: oam_security_groups
1013         metadata:
1014             os_net: { get_param: oam_net_id }
1015             ext_net: io
1016             pair_uuid: {get_param: iox_pair_uuid}
1017     'network:data:vip:m004:m003':
1018 #    'network_data_vip_m004_m003':
1019         type: OS::Neutron::Port
1020         properties:
1021             name:
1022                 str_replace:
1023 #                    template: '$vnf_name-network:data:vip:m004:m003'
1024                     template: '$vnf_name-network_data_vip_m004_m003'
1025                     params:
1026                         $vnf_name:
1027                             get_param: vnf_name
1028             network: { get_param: data_net_id }
1029             replacement_policy: AUTO
1030             fixed_ips:
1031                 -
1032                     ip_address: {get_param: iox_data_floating_v6_ip}
1033             security_groups:
1034 #                get_param: iox_security_groups
1035                 get_param: data_security_groups
1036         metadata:
1037             os_net: { get_param: data_net_id }
1038             ext_net: data
1039             pair_uuid: {get_param: iox_pair_uuid}
1040
1041     'node:m005:server':
1042         type: OS::Nova::Server
1043         properties:
1044             name: { get_param: [app_names, 0]}
1045             availability_zone:
1046                 get_param: availability_zone_0
1047             image:
1048                 get_param: app_image_name
1049             flavor:
1050                 get_param: app_flavor_name
1051             image_update_policy: REBUILD
1052             config_drive: 'True'
1053             block_device_mapping:
1054                 -
1055                     delete_on_termination: 'false'
1056                     device_name: vdb
1057                     volume_id:
1058                         get_param: app_volume_id_0
1059             networks:
1060                 -
1061                     port:
1062                         get_resource: app_internal_0_port_0
1063                 -
1064                     port:
1065                         get_resource: app_oam_0_port_0
1066                 -
1067                     port:
1068                         get_resource: app_data_0_port_0
1069             user_data_format: RAW
1070             user_data:
1071                 str_replace:
1072                     template:
1073                         get_file: node_userdata_script.sh
1074 #                        get_param: _node_userdata_script_
1075                     params:
1076                         __heat_stack_name__:
1077                             get_param: 'OS::stack_name'
1078                         __node_siteinfo_url__: { get_param: siteinfo_url }
1079                         __ieccf_config_url__: { get_param: ieccf_config_url }
1080                         __ieccf_debug__: { get_param: ieccf_debug }
1081                         __activepilot_ip__:
1082                             get_attr:
1083                                 - 'network:system:vip:m001:m002'
1084 #                                - 'network_system_vip_m001_m002'
1085                                 - fixed_ips
1086                                 - 0
1087                                 - ip_address
1088                         __host_key__:
1089                             get_attr:
1090                                 - 'sysinfo:host_key'
1091                                 - value
1092                         __pilot__: ''
1093                         __script_url__: ''
1094                         __script_args__: ''
1095                         __os_cacert__: ''
1096                         __cs_cacert__: ''
1097                         __post_exec__: ''
1098                         __ignore_siteinfo_audit__:
1099                             get_param: ignore_siteinfo_audit
1100                         __nameserver1__: {get_param: name_server_1}
1101                         __nameserver2__: {get_param: name_server_2}
1102                         __domain__: {get_param: domain}
1103             scheduler_hints: 
1104                 group: {get_resource: app_server_group}
1105
1106             metadata:
1107                 vnf_id: {get_param: vnf_id}
1108                 vnf_name: {get_param: vnf_name}
1109                 vf_module_id: {get_param: vf_module_id}
1110                 vf_module_name: {get_param: vf_module_name}
1111                 vm_role: app
1112         metadata:
1113             mcas_id: m005
1114             networks:
1115                 -
1116                     get_attr:
1117                         - app_internal_0_port_0
1118                         - network_id
1119                 -
1120                     get_attr:
1121                         - app_oam_0_port_0
1122                         - network_id
1123                 -
1124                     get_attr:
1125                         - app_data_0_port_0
1126                         - network_id
1127     app_internal_0_port_0:
1128         type: OS::Neutron::Port
1129         properties:
1130             name:
1131                 str_replace:
1132                     template: $vnf_name-app_internal_0_port_0
1133                     params:
1134                         $vnf_name:
1135                             get_param: vnf_name
1136             network: {get_resource: internal_net_0 }
1137             replacement_policy: AUTO
1138             allowed_address_pairs:
1139                 -
1140                     ip_address: {get_param: internal_subnet_cidr}
1141             security_groups:
1142                 get_param: app_security_groups
1143         metadata:
1144             os_net: {get_resource: internal_net_0 }
1145
1146     app_oam_0_port_0:
1147         type: OS::Neutron::Port
1148         properties:
1149             name:
1150                 str_replace:
1151                     template: $vnf_name-app_oam_0_port_0
1152                     params:
1153                         $vnf_name:
1154                             get_param: vnf_name
1155             network: { get_param: oam_net_id }
1156             replacement_policy: AUTO
1157                     
1158             security_groups:
1159 #                get_param: app_security_groups
1160                 get_param: oam_security_groups
1161         metadata:
1162             os_net: { get_param: oam_net_id }
1163             ext_net: oam    
1164     
1165     app_data_0_port_0:
1166         type: OS::Neutron::Port
1167         properties:
1168             name:
1169                 str_replace:
1170                     template: $vnf_name-app_data_0_port_0
1171                     params:
1172                         $vnf_name:
1173                             get_param: vnf_name
1174             network: { get_param: data_net_id }
1175             replacement_policy: AUTO
1176             fixed_ips:
1177                 -
1178                     ip_address: {get_param: [app_data_v6_ips, 0]}
1179             security_groups:
1180 #                get_param: app_security_groups
1181                 get_param: data_security_groups
1182         metadata:
1183             os_net: { get_param: data_net_id }
1184             ext_net: data
1185
1186     'node:m006:server':
1187         type: OS::Nova::Server
1188         properties:
1189             name: { get_param: [app_names, 1]}
1190             availability_zone:
1191                 get_param: availability_zone_1
1192             image:
1193                 get_param: app_image_name
1194             flavor:
1195                 get_param: app_flavor_name
1196             image_update_policy: REBUILD
1197             config_drive: 'True'
1198             block_device_mapping:
1199                 -
1200                     delete_on_termination: 'false'
1201                     device_name: vdb
1202                     volume_id:
1203                         get_param: app_volume_id_1
1204             networks:
1205                 -
1206                     port:
1207                         get_resource: app_internal_0_port_1
1208                 -
1209                     port:
1210                         get_resource: app_oam_0_port_1
1211                 -
1212                     port:
1213                         get_resource: app_data_0_port_1
1214             user_data_format: RAW
1215             user_data:
1216                 str_replace:
1217                     template:
1218                         get_file: node_userdata_script.sh
1219 #                        get_param: _node_userdata_script_
1220                     params:
1221                         __heat_stack_name__:
1222                             get_param: 'OS::stack_name'
1223                         __node_siteinfo_url__: { get_param: siteinfo_url }
1224                         __ieccf_config_url__: { get_param: ieccf_config_url }
1225                         __ieccf_debug__: { get_param: ieccf_debug }
1226                         __activepilot_ip__:
1227                             get_attr:
1228                                 - 'network:system:vip:m001:m002'
1229 #                                - 'network_system_vip_m001_m002'
1230                                 - fixed_ips
1231                                 - 0
1232                                 - ip_address
1233                         __host_key__:
1234                             get_attr:
1235                                 - 'sysinfo:host_key'
1236                                 - value
1237                         __pilot__: ''
1238                         __script_url__: ''
1239                         __script_args__: ''
1240                         __os_cacert__: ''
1241                         __cs_cacert__: ''
1242                         __post_exec__: ''
1243                         __ignore_siteinfo_audit__:
1244                             get_param: ignore_siteinfo_audit
1245                         __nameserver1__: {get_param: name_server_1}
1246                         __nameserver2__: {get_param: name_server_2}
1247                         __domain__: {get_param: domain}
1248             scheduler_hints: 
1249                 group: {get_resource: app_server_group}
1250
1251
1252             metadata:
1253                 vnf_id: {get_param: vnf_id}
1254                 vnf_name: {get_param: vnf_name}
1255                 vf_module_id: {get_param: vf_module_id}
1256                 vf_module_name: {get_param: vf_module_name}
1257                 vm_role: app
1258         metadata:
1259             mcas_id: m006
1260             networks:
1261                 -
1262                     get_attr:
1263                         - app_internal_1_port_0
1264                         - network_id
1265                 -
1266                     get_attr:
1267                         - app_oam_1_port_0
1268                         - network_id
1269                 -
1270                     get_attr:
1271                         - app_data_1_port_0
1272                         - network_id
1273     app_internal_0_port_1:
1274         type: OS::Neutron::Port
1275         properties:
1276             name:
1277                 str_replace:
1278                     template: $vnf_name-app_internal_1_port_0
1279                     params:
1280                         $vnf_name:
1281                             get_param: vnf_name
1282             network: {get_resource: internal_net_0 }
1283             replacement_policy: AUTO
1284             allowed_address_pairs:
1285                 -
1286                     ip_address: {get_param: internal_subnet_cidr}
1287             security_groups:
1288                 get_param: app_security_groups
1289         metadata:
1290             os_net: {get_resource: internal_net_0 }
1291
1292     app_oam_0_port_1:
1293         type: OS::Neutron::Port
1294         properties:
1295             name:
1296                 str_replace:
1297                     template: $vnf_name-app_oam_1_port_0
1298                     params:
1299                         $vnf_name:
1300                             get_param: vnf_name
1301             network: { get_param: oam_net_id }
1302             replacement_policy: AUTO
1303             fixed_ips:
1304                 -
1305                     ip_address: {get_param: [app_oam_ips, 1]}
1306                     
1307             security_groups:
1308 #                get_param: app_security_groups
1309                 get_param: oam_security_groups
1310         metadata:
1311             os_net: { get_param: oam_net_id }
1312             ext_net: oam    
1313
1314     app_data_0_port_1:
1315         type: OS::Neutron::Port
1316         properties:
1317             name:
1318                 str_replace:
1319                     template: $vnf_name-app_data_1_port_0
1320                     params:
1321                         $vnf_name:
1322                             get_param: vnf_name
1323             network: { get_param: data_net_id }
1324             replacement_policy: AUTO
1325             fixed_ips:
1326                 -
1327                     ip_address: {get_param: [app_data_v6_ips, 1]}
1328             security_groups:
1329 #                get_param: app_security_groups
1330                 get_param: data_security_groups
1331         metadata:
1332             os_net: { get_param: data_net_id }
1333             ext_net: data
1334
1335     'node:m007:server':
1336         type: OS::Nova::Server
1337         properties:
1338             name: { get_param: [app_names, 2]}
1339             availability_zone:
1340                 get_param: availability_zone_0
1341             image:
1342                 get_param: app_image_name
1343             flavor:
1344                 get_param: app_flavor_name
1345             image_update_policy: REBUILD
1346             config_drive: 'True'
1347             block_device_mapping:
1348                 -
1349                     delete_on_termination: 'false'
1350                     device_name: vdb
1351                     volume_id:
1352                         get_param: app_volume_id_2
1353             networks:
1354                 -
1355                     port:
1356                         get_resource: app_internal_0_port_2
1357                 -
1358                     port:
1359                         get_resource: app_oam_0_port_2
1360                 -
1361                     port:
1362                         get_resource: app_data_0_port_2
1363             user_data_format: RAW
1364             user_data:
1365                 str_replace:
1366                     template:
1367                         get_file: node_userdata_script.sh
1368 #                        get_param: _node_userdata_script_
1369                     params:
1370                         __heat_stack_name__:
1371                             get_param: 'OS::stack_name'
1372                         __node_siteinfo_url__: { get_param: siteinfo_url }
1373                         __ieccf_config_url__: { get_param: ieccf_config_url }
1374                         __ieccf_debug__: { get_param: ieccf_debug }
1375                         __activepilot_ip__:
1376                             get_attr:
1377                                 - 'network:system:vip:m001:m002'
1378 #                                - 'network_system_vip_m001_m002'
1379                                 - fixed_ips
1380                                 - 0
1381                                 - ip_address
1382                         __host_key__:
1383                             get_attr:
1384                                 - 'sysinfo:host_key'
1385                                 - value
1386                         __pilot__: ''
1387                         __script_url__: ''
1388                         __script_args__: ''
1389                         __os_cacert__: ''
1390                         __cs_cacert__: ''
1391                         __post_exec__: ''
1392                         __ignore_siteinfo_audit__:
1393                             get_param: ignore_siteinfo_audit
1394                         __nameserver1__: {get_param: name_server_1}
1395                         __nameserver2__: {get_param: name_server_2}
1396                         __domain__: {get_param: domain}
1397             scheduler_hints: 
1398                 group: {get_resource: app_server_group}
1399
1400             metadata:
1401                 vnf_id: {get_param: vnf_id}
1402                 vnf_name: {get_param: vnf_name}
1403                 vf_module_id: {get_param: vf_module_id}
1404                 vf_module_name: {get_param: vf_module_name}
1405                 vm_role: app
1406         metadata:
1407             mcas_id: m007
1408             networks:
1409                 -
1410                     get_attr:
1411                         - app_internal_2_port_0
1412                         - network_id
1413                 -
1414                     get_attr:
1415                         - app_oam_2_port_0
1416                         - network_id
1417                 -
1418                     get_attr:
1419                         - app_data_2_port_0
1420                         - network_id
1421     app_internal_0_port_2:
1422         type: OS::Neutron::Port
1423         properties:
1424             name:
1425                 str_replace:
1426                     template: $vnf_name-app_internal_2_port_0
1427                     params:
1428                         $vnf_name:
1429                             get_param: vnf_name
1430             network: {get_resource: internal_net_0 }
1431             replacement_policy: AUTO
1432             allowed_address_pairs:
1433                 -
1434                     ip_address: {get_param: internal_subnet_cidr}
1435             security_groups:
1436                 get_param: app_security_groups
1437         metadata:
1438             os_net: {get_resource: internal_net_0 }
1439
1440     app_oam_0_port_2:
1441         type: OS::Neutron::Port
1442         properties:
1443             name:
1444                 str_replace:
1445                     template: $vnf_name-app_oam_2_port_0
1446                     params:
1447                         $vnf_name:
1448                             get_param: vnf_name
1449             network: { get_param: oam_net_id }
1450             replacement_policy: AUTO
1451             fixed_ips:
1452                 -
1453                     ip_address: {get_param: [app_oam_ips, 2]}
1454                     
1455             security_groups:
1456 #                get_param: app_security_groups
1457                 get_param: oam_security_groups
1458         metadata:
1459             os_net: { get_param: oam_net_id }
1460             ext_net: oam    
1461
1462     app_data_0_port_2:
1463         type: OS::Neutron::Port
1464         properties:
1465             name:
1466                 str_replace:
1467                     template: $vnf_name-app_data_2_port_0
1468                     params:
1469                         $vnf_name:
1470                             get_param: vnf_name
1471             network: { get_param: data_net_id }
1472             replacement_policy: AUTO
1473             security_groups:
1474 #                get_param: app_security_groups
1475                 get_param: data_security_groups
1476         metadata:
1477             os_net: { get_param: data_net_id }
1478             ext_net: data
1479
1480
1481     'sysinfo:input_store':  # What is the purpose of this?
1482         type: 'OS::Heat::RandomString'
1483         metadata:
1484             parameters:
1485                 vnf_name:
1486                     get_param: vnf_name
1487                 __os_cacert__:
1488                     get_param: openstack_cacert
1489 #                    get_file: openstack_cacert.crt
1490                 __cs_cacert__:
1491                     get_param: config_server_cacert
1492 #                    get_file: config_server_cacert.crt
1493                 ignore_siteinfo_audit:
1494                     get_param: ignore_siteinfo_audit
1495                 m001_avail_zone:
1496                     get_param: availability_zone_0
1497                 m001_image:
1498                     get_param: plt_image_name
1499                 m001_flavor:
1500                     get_param: plt_flavor_name
1501                 m001_security_groups:
1502                     get_param: plt_security_groups
1503                 m002_avail_zone:
1504                     get_param: availability_zone_1
1505                 m002_image:
1506                     get_param: plt_image_name
1507                 m002_flavor:
1508                     get_param: plt_flavor_name
1509                 m002_security_groups:
1510                     get_param: plt_security_groups
1511                 m003_avail_zone:
1512                     get_param: availability_zone_0
1513                 m003_image:
1514                     get_param: iox_image_name
1515                 m003_flavor:
1516                     get_param: iox_flavor_name
1517                 m003_security_groups:
1518                     get_param: iox_security_groups
1519                 m004_avail_zone:
1520                     get_param: availability_zone_1
1521                 m004_image:
1522                     get_param: iox_image_name
1523                 m004_flavor:
1524                     get_param: iox_flavor_name
1525                 m004_security_groups:
1526                     get_param: iox_security_groups
1527                 m005_avail_zone:
1528                     get_param: availability_zone_0
1529                 m005_image:
1530                     get_param: app_image_name
1531                 m005_flavor:
1532                     get_param: app_flavor_name
1533                 m005_security_groups:
1534                     get_param: app_security_groups
1535                 m006_avail_zone:
1536                     get_param: availability_zone_1
1537                 m006_image:
1538                     get_param: app_image_name
1539                 m006_flavor:
1540                     get_param: app_flavor_name
1541                 m006_security_groups:
1542                     get_param: app_security_groups
1543                 m007_avail_zone:
1544                     get_param: availability_zone_0
1545                 m007_image:
1546                     get_param: app_image_name
1547                 m007_flavor:
1548                     get_param: app_flavor_name
1549                 m007_security_groups:
1550                     get_param: app_security_groups
1551                 m008_avail_zone:
1552                     get_param: availability_zone_1
1553                 m008_image:
1554                     get_param: app_image_name
1555                 m008_flavor:
1556                     get_param: app_flavor_name
1557                 m008_security_groups:
1558                     get_param: app_security_groups
1559                 m009_avail_zone:
1560                     get_param: availability_zone_0
1561                 m009_image:
1562                     get_param: app_image_name
1563                 m009_flavor:
1564                     get_param: app_flavor_name
1565                 m009_security_groups:
1566                     get_param: app_security_groups
1567                 m010_avail_zone:
1568                     get_param: availability_zone_1
1569                 m010_image:
1570                     get_param: app_image_name
1571                 m010_flavor:
1572                     get_param: app_flavor_name
1573                 m010_security_groups:
1574                     get_param: app_security_groups
1575                 m011_avail_zone:
1576                     get_param: availability_zone_0
1577                 m011_image:
1578                     get_param: app_image_name
1579                 m011_flavor:
1580                     get_param: app_flavor_name
1581                 m011_security_groups:
1582                     get_param: app_security_groups
1583     'sysinfo:host_key':
1584         type: 'OS::Heat::RandomString'
1585         properties:
1586             length: 255
1587
1588 outputs:
1589     oam_management_v4_address:
1590         value: {get_param: plt_oam_floating_ip}