switch drools pdp image to new one
[integration.git] / deployment / heat / onap-oom / onap-oom.yaml
1 #
2 # Generated by scripts/gen-onap-oom-yaml.sh; MANUAL CHANGES WILL BE LOST
3 #
4 heat_template_version: 2015-10-15
5 description: ONAP on Kubernetes using OOM
6
7 parameters:
8   docker_proxy:
9     type: string
10
11   apt_proxy:
12     type: string
13
14   public_net_id:
15     type: string
16     description: The ID of the Public network for floating IP address allocation
17
18   oam_network_cidr:
19     type: string
20     description: CIDR of the OAM ONAP network
21
22   ubuntu_1604_image:
23     type: string
24     description: Name of the Ubuntu 16.04 image
25
26   rancher_vm_flavor:
27     type: string
28     description: VM flavor for Rancher
29
30   k8s_vm_flavor:
31     type: string
32     description: VM flavor for k8s hosts
33
34   etcd_vm_flavor:
35     type: string
36     description: VM flavor for etcd hosts
37
38   orch_vm_flavor:
39     type: string
40     description: VM flavor for orch hosts
41
42   integration_override_yaml:
43     type: string
44     description: Content for integration_override.yaml
45
46   integration_gerrit_branch:
47     type: string
48     default: "master"
49
50   integration_gerrit_refspec:
51     type: string
52     default: ""
53
54   oom_gerrit_branch:
55     type: string
56     default: "master"
57
58   oom_gerrit_refspec:
59     type: string
60     default: ""
61
62   docker_manifest:
63     type: string
64     default: ""
65
66   key_name:
67     type: string
68     default: "onap_key"
69
70   docker_version:
71     type: string
72     default: "17.03.2"
73
74   rancher_version:
75     type: string
76     default: "1.6.25"
77
78   rancher_agent_version:
79     type: string
80     default: "1.2.11"
81
82   kubectl_version:
83     type: string
84     default: "1.11.5"
85
86   helm_version:
87     type: string
88     default: "2.9.1"
89
90   helm_deploy_delay:
91     type: string
92     default: "2m"
93
94   use_ramdisk:
95     type: string
96     description: Set to "true" if you want to use a RAM disk for /dockerdata-nfs/.
97     default: "false"
98
99   mtu:
100     type: number
101     default: 1500
102
103   portal_hostname:
104     type: string
105     description: The FQDN of the k8s host that will be used for the Portal UI component URLs; this needs to be resolveable at the client
106     default: "portal.api.simpledemo.onap.org"
107
108 resources:
109   random-str:
110     type: OS::Heat::RandomString
111     properties:
112       length: 4
113
114   # ONAP security group
115   onap_sg:
116     type: OS::Neutron::SecurityGroup
117     properties:
118       name:
119         str_replace:
120           template: base_rand
121           params:
122             base: onap_sg
123             rand: { get_resource: random-str }
124       description: security group used by ONAP
125       rules:
126         # All egress traffic
127         - direction: egress
128           ethertype: IPv4
129         - direction: egress
130           ethertype: IPv6
131         # ingress traffic
132         # ICMP
133         - protocol: icmp
134         - protocol: udp
135           port_range_min: 1
136           port_range_max: 65535
137         - protocol: tcp
138           port_range_min: 1
139           port_range_max: 65535
140         # Protocols used for vLB/vDNS use case
141         - protocol: 47
142         - protocol: 53
143         - protocol: 132
144
145
146   # ONAP management private network
147   oam_network:
148     type: OS::Neutron::Net
149     properties:
150       name:
151         str_replace:
152           template: oam_network_rand
153           params:
154             rand: { get_resource: random-str }
155
156   oam_subnet:
157     type: OS::Neutron::Subnet
158     properties:
159       name:
160         str_replace:
161           template: oam_network_rand
162           params:
163             rand: { get_resource: random-str }
164       network_id: { get_resource: oam_network }
165       cidr: { get_param: oam_network_cidr }
166       dns_nameservers: [ "8.8.8.8" ]
167
168   router:
169     type: OS::Neutron::Router
170     properties:
171       name:
172         list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']]
173       external_gateway_info:
174         network: { get_param: public_net_id }
175
176   router_interface:
177     type: OS::Neutron::RouterInterface
178     properties:
179       router_id: { get_resource: router }
180       subnet_id: { get_resource: oam_subnet }
181
182   rancher_private_port:
183     type: OS::Neutron::Port
184     properties:
185       network: { get_resource: oam_network }
186       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
187       security_groups:
188       - { get_resource: onap_sg }
189
190   rancher_floating_ip:
191     type: OS::Neutron::FloatingIP
192     properties:
193       floating_network_id: { get_param: public_net_id }
194       port_id: { get_resource: rancher_private_port }
195
196   rancher_vm:
197     type: OS::Nova::Server
198     properties:
199       name:
200         list_join: ['-', [{ get_param: 'OS::stack_name' }, 'rancher']]
201       image: { get_param: ubuntu_1604_image }
202       flavor: { get_param: rancher_vm_flavor }
203       key_name: { get_param: key_name }
204       networks:
205       - port: { get_resource: rancher_private_port }
206       user_data_format: RAW
207       user_data:
208         str_replace:
209           template:
210             get_file: rancher_vm_entrypoint.sh
211           params:
212             __docker_proxy__: { get_param: docker_proxy }
213             __apt_proxy__: { get_param: apt_proxy }
214             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
215             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
216             __integration_override_yaml__: { get_param: integration_override_yaml }
217             __integration_gerrit_branch__: { get_param: integration_gerrit_branch }
218             __integration_gerrit_refspec__: { get_param: integration_gerrit_refspec }
219             __oom_gerrit_branch__: { get_param: oom_gerrit_branch }
220             __oom_gerrit_refspec__: { get_param: oom_gerrit_refspec }
221             __docker_manifest__: { get_param: docker_manifest }
222             __docker_version__: { get_param: docker_version }
223             __rancher_version__: { get_param: rancher_version }
224             __rancher_agent_version__: { get_param: rancher_agent_version }
225             __kubectl_version__: { get_param: kubectl_version }
226             __helm_version__: { get_param: helm_version }
227             __helm_deploy_delay__: { get_param: helm_deploy_delay }
228             __use_ramdisk__: { get_param: use_ramdisk }
229             __mtu__: { get_param: mtu }
230             __portal_hostname__: { get_param: portal_hostname }
231             __public_net_id__: { get_param: public_net_id }
232             __oam_network_cidr__: { get_param: oam_network_cidr }
233             __oam_network_id__: { get_resource: oam_network }
234             __oam_subnet_id__: { get_resource: oam_subnet }
235             __sec_group__: { get_resource: onap_sg }
236             __k8s_01_vm_ip__: { get_attr: [k8s_01_floating_ip, floating_ip_address] }
237             __k8s_vm_ips__: [
238               get_attr: [k8s_01_floating_ip, floating_ip_address],
239               get_attr: [k8s_02_floating_ip, floating_ip_address],
240               get_attr: [k8s_03_floating_ip, floating_ip_address],
241               get_attr: [k8s_04_floating_ip, floating_ip_address],
242               get_attr: [k8s_05_floating_ip, floating_ip_address],
243               get_attr: [k8s_06_floating_ip, floating_ip_address],
244               get_attr: [k8s_07_floating_ip, floating_ip_address],
245               get_attr: [k8s_08_floating_ip, floating_ip_address],
246               get_attr: [k8s_09_floating_ip, floating_ip_address],
247               get_attr: [k8s_10_floating_ip, floating_ip_address],
248               get_attr: [k8s_11_floating_ip, floating_ip_address],
249               get_attr: [k8s_12_floating_ip, floating_ip_address],
250             ]
251             __k8s_private_ips__: [
252               get_attr: [k8s_01_floating_ip, fixed_ip_address],
253               get_attr: [k8s_02_floating_ip, fixed_ip_address],
254               get_attr: [k8s_03_floating_ip, fixed_ip_address],
255               get_attr: [k8s_04_floating_ip, fixed_ip_address],
256               get_attr: [k8s_05_floating_ip, fixed_ip_address],
257               get_attr: [k8s_06_floating_ip, fixed_ip_address],
258               get_attr: [k8s_07_floating_ip, fixed_ip_address],
259               get_attr: [k8s_08_floating_ip, fixed_ip_address],
260               get_attr: [k8s_09_floating_ip, fixed_ip_address],
261               get_attr: [k8s_10_floating_ip, fixed_ip_address],
262               get_attr: [k8s_11_floating_ip, fixed_ip_address],
263               get_attr: [k8s_12_floating_ip, fixed_ip_address],
264             ]
265   k8s_01_private_port:
266     type: OS::Neutron::Port
267     properties:
268       network: { get_resource: oam_network }
269       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
270       security_groups:
271       - { get_resource: onap_sg }
272
273   k8s_01_floating_ip:
274     type: OS::Neutron::FloatingIP
275     properties:
276       floating_network_id: { get_param: public_net_id }
277       port_id: { get_resource: k8s_01_private_port }
278
279   k8s_01_vm_scripts:
280     type: OS::Heat::CloudConfig
281     properties:
282       cloud_config:
283         power_state:
284           mode: reboot
285         runcmd:
286         - [ /opt/k8s_vm_install.sh ]
287         write_files:
288         - path: /opt/k8s_vm_install.sh
289           permissions: '0755'
290           content:
291             str_replace:
292               params:
293                 __docker_proxy__: { get_param: docker_proxy }
294                 __apt_proxy__: { get_param: apt_proxy }
295                 __docker_version__: { get_param: docker_version }
296                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
297                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
298                 __host_private_ip_addr__: { get_attr: [k8s_01_floating_ip, fixed_ip_address] }
299                 __mtu__: { get_param: mtu }
300               template:
301                 get_file: k8s_vm_install.sh
302         - path: /opt/k8s_vm_init.sh
303           permissions: '0755'
304           content:
305             str_replace:
306               params:
307                 __host_private_ip_addr__: { get_attr: [k8s_01_floating_ip, fixed_ip_address] }
308                 __host_label__: 'compute'
309               template:
310                 get_file: k8s_vm_init.sh
311         - path: /etc/init.d/k8s_vm_init_serv
312           permissions: '0755'
313           content:
314             get_file: k8s_vm_init_serv.sh
315
316   k8s_01_vm_config:
317     type: OS::Heat::MultipartMime
318     properties:
319       parts:
320       - config: { get_resource: k8s_01_vm_scripts }
321
322   k8s_01_vm:
323     type: OS::Nova::Server
324     properties:
325       name:
326         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '01' ] ]
327       image: { get_param: ubuntu_1604_image }
328       flavor: { get_param: k8s_vm_flavor }
329       key_name: { get_param: key_name }
330       networks:
331       - port: { get_resource: k8s_01_private_port }
332       user_data_format: SOFTWARE_CONFIG
333       user_data: { get_resource: k8s_01_vm_config }
334
335   k8s_02_private_port:
336     type: OS::Neutron::Port
337     properties:
338       network: { get_resource: oam_network }
339       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
340       security_groups:
341       - { get_resource: onap_sg }
342
343   k8s_02_floating_ip:
344     type: OS::Neutron::FloatingIP
345     properties:
346       floating_network_id: { get_param: public_net_id }
347       port_id: { get_resource: k8s_02_private_port }
348
349   k8s_02_vm_scripts:
350     type: OS::Heat::CloudConfig
351     properties:
352       cloud_config:
353         power_state:
354           mode: reboot
355         runcmd:
356         - [ /opt/k8s_vm_install.sh ]
357         write_files:
358         - path: /opt/k8s_vm_install.sh
359           permissions: '0755'
360           content:
361             str_replace:
362               params:
363                 __docker_proxy__: { get_param: docker_proxy }
364                 __apt_proxy__: { get_param: apt_proxy }
365                 __docker_version__: { get_param: docker_version }
366                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
367                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
368                 __host_private_ip_addr__: { get_attr: [k8s_02_floating_ip, fixed_ip_address] }
369                 __mtu__: { get_param: mtu }
370               template:
371                 get_file: k8s_vm_install.sh
372         - path: /opt/k8s_vm_init.sh
373           permissions: '0755'
374           content:
375             str_replace:
376               params:
377                 __host_private_ip_addr__: { get_attr: [k8s_02_floating_ip, fixed_ip_address] }
378                 __host_label__: 'compute'
379               template:
380                 get_file: k8s_vm_init.sh
381         - path: /etc/init.d/k8s_vm_init_serv
382           permissions: '0755'
383           content:
384             get_file: k8s_vm_init_serv.sh
385
386   k8s_02_vm_config:
387     type: OS::Heat::MultipartMime
388     properties:
389       parts:
390       - config: { get_resource: k8s_02_vm_scripts }
391
392   k8s_02_vm:
393     type: OS::Nova::Server
394     properties:
395       name:
396         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '02' ] ]
397       image: { get_param: ubuntu_1604_image }
398       flavor: { get_param: k8s_vm_flavor }
399       key_name: { get_param: key_name }
400       networks:
401       - port: { get_resource: k8s_02_private_port }
402       user_data_format: SOFTWARE_CONFIG
403       user_data: { get_resource: k8s_02_vm_config }
404
405   k8s_03_private_port:
406     type: OS::Neutron::Port
407     properties:
408       network: { get_resource: oam_network }
409       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
410       security_groups:
411       - { get_resource: onap_sg }
412
413   k8s_03_floating_ip:
414     type: OS::Neutron::FloatingIP
415     properties:
416       floating_network_id: { get_param: public_net_id }
417       port_id: { get_resource: k8s_03_private_port }
418
419   k8s_03_vm_scripts:
420     type: OS::Heat::CloudConfig
421     properties:
422       cloud_config:
423         power_state:
424           mode: reboot
425         runcmd:
426         - [ /opt/k8s_vm_install.sh ]
427         write_files:
428         - path: /opt/k8s_vm_install.sh
429           permissions: '0755'
430           content:
431             str_replace:
432               params:
433                 __docker_proxy__: { get_param: docker_proxy }
434                 __apt_proxy__: { get_param: apt_proxy }
435                 __docker_version__: { get_param: docker_version }
436                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
437                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
438                 __host_private_ip_addr__: { get_attr: [k8s_03_floating_ip, fixed_ip_address] }
439                 __mtu__: { get_param: mtu }
440               template:
441                 get_file: k8s_vm_install.sh
442         - path: /opt/k8s_vm_init.sh
443           permissions: '0755'
444           content:
445             str_replace:
446               params:
447                 __host_private_ip_addr__: { get_attr: [k8s_03_floating_ip, fixed_ip_address] }
448                 __host_label__: 'compute'
449               template:
450                 get_file: k8s_vm_init.sh
451         - path: /etc/init.d/k8s_vm_init_serv
452           permissions: '0755'
453           content:
454             get_file: k8s_vm_init_serv.sh
455
456   k8s_03_vm_config:
457     type: OS::Heat::MultipartMime
458     properties:
459       parts:
460       - config: { get_resource: k8s_03_vm_scripts }
461
462   k8s_03_vm:
463     type: OS::Nova::Server
464     properties:
465       name:
466         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '03' ] ]
467       image: { get_param: ubuntu_1604_image }
468       flavor: { get_param: k8s_vm_flavor }
469       key_name: { get_param: key_name }
470       networks:
471       - port: { get_resource: k8s_03_private_port }
472       user_data_format: SOFTWARE_CONFIG
473       user_data: { get_resource: k8s_03_vm_config }
474
475   k8s_04_private_port:
476     type: OS::Neutron::Port
477     properties:
478       network: { get_resource: oam_network }
479       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
480       security_groups:
481       - { get_resource: onap_sg }
482
483   k8s_04_floating_ip:
484     type: OS::Neutron::FloatingIP
485     properties:
486       floating_network_id: { get_param: public_net_id }
487       port_id: { get_resource: k8s_04_private_port }
488
489   k8s_04_vm_scripts:
490     type: OS::Heat::CloudConfig
491     properties:
492       cloud_config:
493         power_state:
494           mode: reboot
495         runcmd:
496         - [ /opt/k8s_vm_install.sh ]
497         write_files:
498         - path: /opt/k8s_vm_install.sh
499           permissions: '0755'
500           content:
501             str_replace:
502               params:
503                 __docker_proxy__: { get_param: docker_proxy }
504                 __apt_proxy__: { get_param: apt_proxy }
505                 __docker_version__: { get_param: docker_version }
506                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
507                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
508                 __host_private_ip_addr__: { get_attr: [k8s_04_floating_ip, fixed_ip_address] }
509                 __mtu__: { get_param: mtu }
510               template:
511                 get_file: k8s_vm_install.sh
512         - path: /opt/k8s_vm_init.sh
513           permissions: '0755'
514           content:
515             str_replace:
516               params:
517                 __host_private_ip_addr__: { get_attr: [k8s_04_floating_ip, fixed_ip_address] }
518                 __host_label__: 'compute'
519               template:
520                 get_file: k8s_vm_init.sh
521         - path: /etc/init.d/k8s_vm_init_serv
522           permissions: '0755'
523           content:
524             get_file: k8s_vm_init_serv.sh
525
526   k8s_04_vm_config:
527     type: OS::Heat::MultipartMime
528     properties:
529       parts:
530       - config: { get_resource: k8s_04_vm_scripts }
531
532   k8s_04_vm:
533     type: OS::Nova::Server
534     properties:
535       name:
536         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '04' ] ]
537       image: { get_param: ubuntu_1604_image }
538       flavor: { get_param: k8s_vm_flavor }
539       key_name: { get_param: key_name }
540       networks:
541       - port: { get_resource: k8s_04_private_port }
542       user_data_format: SOFTWARE_CONFIG
543       user_data: { get_resource: k8s_04_vm_config }
544
545   k8s_05_private_port:
546     type: OS::Neutron::Port
547     properties:
548       network: { get_resource: oam_network }
549       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
550       security_groups:
551       - { get_resource: onap_sg }
552
553   k8s_05_floating_ip:
554     type: OS::Neutron::FloatingIP
555     properties:
556       floating_network_id: { get_param: public_net_id }
557       port_id: { get_resource: k8s_05_private_port }
558
559   k8s_05_vm_scripts:
560     type: OS::Heat::CloudConfig
561     properties:
562       cloud_config:
563         power_state:
564           mode: reboot
565         runcmd:
566         - [ /opt/k8s_vm_install.sh ]
567         write_files:
568         - path: /opt/k8s_vm_install.sh
569           permissions: '0755'
570           content:
571             str_replace:
572               params:
573                 __docker_proxy__: { get_param: docker_proxy }
574                 __apt_proxy__: { get_param: apt_proxy }
575                 __docker_version__: { get_param: docker_version }
576                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
577                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
578                 __host_private_ip_addr__: { get_attr: [k8s_05_floating_ip, fixed_ip_address] }
579                 __mtu__: { get_param: mtu }
580               template:
581                 get_file: k8s_vm_install.sh
582         - path: /opt/k8s_vm_init.sh
583           permissions: '0755'
584           content:
585             str_replace:
586               params:
587                 __host_private_ip_addr__: { get_attr: [k8s_05_floating_ip, fixed_ip_address] }
588                 __host_label__: 'compute'
589               template:
590                 get_file: k8s_vm_init.sh
591         - path: /etc/init.d/k8s_vm_init_serv
592           permissions: '0755'
593           content:
594             get_file: k8s_vm_init_serv.sh
595
596   k8s_05_vm_config:
597     type: OS::Heat::MultipartMime
598     properties:
599       parts:
600       - config: { get_resource: k8s_05_vm_scripts }
601
602   k8s_05_vm:
603     type: OS::Nova::Server
604     properties:
605       name:
606         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '05' ] ]
607       image: { get_param: ubuntu_1604_image }
608       flavor: { get_param: k8s_vm_flavor }
609       key_name: { get_param: key_name }
610       networks:
611       - port: { get_resource: k8s_05_private_port }
612       user_data_format: SOFTWARE_CONFIG
613       user_data: { get_resource: k8s_05_vm_config }
614
615   k8s_06_private_port:
616     type: OS::Neutron::Port
617     properties:
618       network: { get_resource: oam_network }
619       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
620       security_groups:
621       - { get_resource: onap_sg }
622
623   k8s_06_floating_ip:
624     type: OS::Neutron::FloatingIP
625     properties:
626       floating_network_id: { get_param: public_net_id }
627       port_id: { get_resource: k8s_06_private_port }
628
629   k8s_06_vm_scripts:
630     type: OS::Heat::CloudConfig
631     properties:
632       cloud_config:
633         power_state:
634           mode: reboot
635         runcmd:
636         - [ /opt/k8s_vm_install.sh ]
637         write_files:
638         - path: /opt/k8s_vm_install.sh
639           permissions: '0755'
640           content:
641             str_replace:
642               params:
643                 __docker_proxy__: { get_param: docker_proxy }
644                 __apt_proxy__: { get_param: apt_proxy }
645                 __docker_version__: { get_param: docker_version }
646                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
647                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
648                 __host_private_ip_addr__: { get_attr: [k8s_06_floating_ip, fixed_ip_address] }
649                 __mtu__: { get_param: mtu }
650               template:
651                 get_file: k8s_vm_install.sh
652         - path: /opt/k8s_vm_init.sh
653           permissions: '0755'
654           content:
655             str_replace:
656               params:
657                 __host_private_ip_addr__: { get_attr: [k8s_06_floating_ip, fixed_ip_address] }
658                 __host_label__: 'compute'
659               template:
660                 get_file: k8s_vm_init.sh
661         - path: /etc/init.d/k8s_vm_init_serv
662           permissions: '0755'
663           content:
664             get_file: k8s_vm_init_serv.sh
665
666   k8s_06_vm_config:
667     type: OS::Heat::MultipartMime
668     properties:
669       parts:
670       - config: { get_resource: k8s_06_vm_scripts }
671
672   k8s_06_vm:
673     type: OS::Nova::Server
674     properties:
675       name:
676         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '06' ] ]
677       image: { get_param: ubuntu_1604_image }
678       flavor: { get_param: k8s_vm_flavor }
679       key_name: { get_param: key_name }
680       networks:
681       - port: { get_resource: k8s_06_private_port }
682       user_data_format: SOFTWARE_CONFIG
683       user_data: { get_resource: k8s_06_vm_config }
684
685   k8s_07_private_port:
686     type: OS::Neutron::Port
687     properties:
688       network: { get_resource: oam_network }
689       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
690       security_groups:
691       - { get_resource: onap_sg }
692
693   k8s_07_floating_ip:
694     type: OS::Neutron::FloatingIP
695     properties:
696       floating_network_id: { get_param: public_net_id }
697       port_id: { get_resource: k8s_07_private_port }
698
699   k8s_07_vm_scripts:
700     type: OS::Heat::CloudConfig
701     properties:
702       cloud_config:
703         power_state:
704           mode: reboot
705         runcmd:
706         - [ /opt/k8s_vm_install.sh ]
707         write_files:
708         - path: /opt/k8s_vm_install.sh
709           permissions: '0755'
710           content:
711             str_replace:
712               params:
713                 __docker_proxy__: { get_param: docker_proxy }
714                 __apt_proxy__: { get_param: apt_proxy }
715                 __docker_version__: { get_param: docker_version }
716                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
717                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
718                 __host_private_ip_addr__: { get_attr: [k8s_07_floating_ip, fixed_ip_address] }
719                 __mtu__: { get_param: mtu }
720               template:
721                 get_file: k8s_vm_install.sh
722         - path: /opt/k8s_vm_init.sh
723           permissions: '0755'
724           content:
725             str_replace:
726               params:
727                 __host_private_ip_addr__: { get_attr: [k8s_07_floating_ip, fixed_ip_address] }
728                 __host_label__: 'compute'
729               template:
730                 get_file: k8s_vm_init.sh
731         - path: /etc/init.d/k8s_vm_init_serv
732           permissions: '0755'
733           content:
734             get_file: k8s_vm_init_serv.sh
735
736   k8s_07_vm_config:
737     type: OS::Heat::MultipartMime
738     properties:
739       parts:
740       - config: { get_resource: k8s_07_vm_scripts }
741
742   k8s_07_vm:
743     type: OS::Nova::Server
744     properties:
745       name:
746         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '07' ] ]
747       image: { get_param: ubuntu_1604_image }
748       flavor: { get_param: k8s_vm_flavor }
749       key_name: { get_param: key_name }
750       networks:
751       - port: { get_resource: k8s_07_private_port }
752       user_data_format: SOFTWARE_CONFIG
753       user_data: { get_resource: k8s_07_vm_config }
754
755   k8s_08_private_port:
756     type: OS::Neutron::Port
757     properties:
758       network: { get_resource: oam_network }
759       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
760       security_groups:
761       - { get_resource: onap_sg }
762
763   k8s_08_floating_ip:
764     type: OS::Neutron::FloatingIP
765     properties:
766       floating_network_id: { get_param: public_net_id }
767       port_id: { get_resource: k8s_08_private_port }
768
769   k8s_08_vm_scripts:
770     type: OS::Heat::CloudConfig
771     properties:
772       cloud_config:
773         power_state:
774           mode: reboot
775         runcmd:
776         - [ /opt/k8s_vm_install.sh ]
777         write_files:
778         - path: /opt/k8s_vm_install.sh
779           permissions: '0755'
780           content:
781             str_replace:
782               params:
783                 __docker_proxy__: { get_param: docker_proxy }
784                 __apt_proxy__: { get_param: apt_proxy }
785                 __docker_version__: { get_param: docker_version }
786                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
787                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
788                 __host_private_ip_addr__: { get_attr: [k8s_08_floating_ip, fixed_ip_address] }
789                 __mtu__: { get_param: mtu }
790               template:
791                 get_file: k8s_vm_install.sh
792         - path: /opt/k8s_vm_init.sh
793           permissions: '0755'
794           content:
795             str_replace:
796               params:
797                 __host_private_ip_addr__: { get_attr: [k8s_08_floating_ip, fixed_ip_address] }
798                 __host_label__: 'compute'
799               template:
800                 get_file: k8s_vm_init.sh
801         - path: /etc/init.d/k8s_vm_init_serv
802           permissions: '0755'
803           content:
804             get_file: k8s_vm_init_serv.sh
805
806   k8s_08_vm_config:
807     type: OS::Heat::MultipartMime
808     properties:
809       parts:
810       - config: { get_resource: k8s_08_vm_scripts }
811
812   k8s_08_vm:
813     type: OS::Nova::Server
814     properties:
815       name:
816         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '08' ] ]
817       image: { get_param: ubuntu_1604_image }
818       flavor: { get_param: k8s_vm_flavor }
819       key_name: { get_param: key_name }
820       networks:
821       - port: { get_resource: k8s_08_private_port }
822       user_data_format: SOFTWARE_CONFIG
823       user_data: { get_resource: k8s_08_vm_config }
824
825   k8s_09_private_port:
826     type: OS::Neutron::Port
827     properties:
828       network: { get_resource: oam_network }
829       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
830       security_groups:
831       - { get_resource: onap_sg }
832
833   k8s_09_floating_ip:
834     type: OS::Neutron::FloatingIP
835     properties:
836       floating_network_id: { get_param: public_net_id }
837       port_id: { get_resource: k8s_09_private_port }
838
839   k8s_09_vm_scripts:
840     type: OS::Heat::CloudConfig
841     properties:
842       cloud_config:
843         power_state:
844           mode: reboot
845         runcmd:
846         - [ /opt/k8s_vm_install.sh ]
847         write_files:
848         - path: /opt/k8s_vm_install.sh
849           permissions: '0755'
850           content:
851             str_replace:
852               params:
853                 __docker_proxy__: { get_param: docker_proxy }
854                 __apt_proxy__: { get_param: apt_proxy }
855                 __docker_version__: { get_param: docker_version }
856                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
857                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
858                 __host_private_ip_addr__: { get_attr: [k8s_09_floating_ip, fixed_ip_address] }
859                 __mtu__: { get_param: mtu }
860               template:
861                 get_file: k8s_vm_install.sh
862         - path: /opt/k8s_vm_init.sh
863           permissions: '0755'
864           content:
865             str_replace:
866               params:
867                 __host_private_ip_addr__: { get_attr: [k8s_09_floating_ip, fixed_ip_address] }
868                 __host_label__: 'compute'
869               template:
870                 get_file: k8s_vm_init.sh
871         - path: /etc/init.d/k8s_vm_init_serv
872           permissions: '0755'
873           content:
874             get_file: k8s_vm_init_serv.sh
875
876   k8s_09_vm_config:
877     type: OS::Heat::MultipartMime
878     properties:
879       parts:
880       - config: { get_resource: k8s_09_vm_scripts }
881
882   k8s_09_vm:
883     type: OS::Nova::Server
884     properties:
885       name:
886         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '09' ] ]
887       image: { get_param: ubuntu_1604_image }
888       flavor: { get_param: k8s_vm_flavor }
889       key_name: { get_param: key_name }
890       networks:
891       - port: { get_resource: k8s_09_private_port }
892       user_data_format: SOFTWARE_CONFIG
893       user_data: { get_resource: k8s_09_vm_config }
894
895   k8s_10_private_port:
896     type: OS::Neutron::Port
897     properties:
898       network: { get_resource: oam_network }
899       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
900       security_groups:
901       - { get_resource: onap_sg }
902
903   k8s_10_floating_ip:
904     type: OS::Neutron::FloatingIP
905     properties:
906       floating_network_id: { get_param: public_net_id }
907       port_id: { get_resource: k8s_10_private_port }
908
909   k8s_10_vm_scripts:
910     type: OS::Heat::CloudConfig
911     properties:
912       cloud_config:
913         power_state:
914           mode: reboot
915         runcmd:
916         - [ /opt/k8s_vm_install.sh ]
917         write_files:
918         - path: /opt/k8s_vm_install.sh
919           permissions: '0755'
920           content:
921             str_replace:
922               params:
923                 __docker_proxy__: { get_param: docker_proxy }
924                 __apt_proxy__: { get_param: apt_proxy }
925                 __docker_version__: { get_param: docker_version }
926                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
927                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
928                 __host_private_ip_addr__: { get_attr: [k8s_10_floating_ip, fixed_ip_address] }
929                 __mtu__: { get_param: mtu }
930               template:
931                 get_file: k8s_vm_install.sh
932         - path: /opt/k8s_vm_init.sh
933           permissions: '0755'
934           content:
935             str_replace:
936               params:
937                 __host_private_ip_addr__: { get_attr: [k8s_10_floating_ip, fixed_ip_address] }
938                 __host_label__: 'compute'
939               template:
940                 get_file: k8s_vm_init.sh
941         - path: /etc/init.d/k8s_vm_init_serv
942           permissions: '0755'
943           content:
944             get_file: k8s_vm_init_serv.sh
945
946   k8s_10_vm_config:
947     type: OS::Heat::MultipartMime
948     properties:
949       parts:
950       - config: { get_resource: k8s_10_vm_scripts }
951
952   k8s_10_vm:
953     type: OS::Nova::Server
954     properties:
955       name:
956         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '10' ] ]
957       image: { get_param: ubuntu_1604_image }
958       flavor: { get_param: k8s_vm_flavor }
959       key_name: { get_param: key_name }
960       networks:
961       - port: { get_resource: k8s_10_private_port }
962       user_data_format: SOFTWARE_CONFIG
963       user_data: { get_resource: k8s_10_vm_config }
964
965   k8s_11_private_port:
966     type: OS::Neutron::Port
967     properties:
968       network: { get_resource: oam_network }
969       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
970       security_groups:
971       - { get_resource: onap_sg }
972
973   k8s_11_floating_ip:
974     type: OS::Neutron::FloatingIP
975     properties:
976       floating_network_id: { get_param: public_net_id }
977       port_id: { get_resource: k8s_11_private_port }
978
979   k8s_11_vm_scripts:
980     type: OS::Heat::CloudConfig
981     properties:
982       cloud_config:
983         power_state:
984           mode: reboot
985         runcmd:
986         - [ /opt/k8s_vm_install.sh ]
987         write_files:
988         - path: /opt/k8s_vm_install.sh
989           permissions: '0755'
990           content:
991             str_replace:
992               params:
993                 __docker_proxy__: { get_param: docker_proxy }
994                 __apt_proxy__: { get_param: apt_proxy }
995                 __docker_version__: { get_param: docker_version }
996                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
997                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
998                 __host_private_ip_addr__: { get_attr: [k8s_11_floating_ip, fixed_ip_address] }
999                 __mtu__: { get_param: mtu }
1000               template:
1001                 get_file: k8s_vm_install.sh
1002         - path: /opt/k8s_vm_init.sh
1003           permissions: '0755'
1004           content:
1005             str_replace:
1006               params:
1007                 __host_private_ip_addr__: { get_attr: [k8s_11_floating_ip, fixed_ip_address] }
1008                 __host_label__: 'compute'
1009               template:
1010                 get_file: k8s_vm_init.sh
1011         - path: /etc/init.d/k8s_vm_init_serv
1012           permissions: '0755'
1013           content:
1014             get_file: k8s_vm_init_serv.sh
1015
1016   k8s_11_vm_config:
1017     type: OS::Heat::MultipartMime
1018     properties:
1019       parts:
1020       - config: { get_resource: k8s_11_vm_scripts }
1021
1022   k8s_11_vm:
1023     type: OS::Nova::Server
1024     properties:
1025       name:
1026         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '11' ] ]
1027       image: { get_param: ubuntu_1604_image }
1028       flavor: { get_param: k8s_vm_flavor }
1029       key_name: { get_param: key_name }
1030       networks:
1031       - port: { get_resource: k8s_11_private_port }
1032       user_data_format: SOFTWARE_CONFIG
1033       user_data: { get_resource: k8s_11_vm_config }
1034
1035   k8s_12_private_port:
1036     type: OS::Neutron::Port
1037     properties:
1038       network: { get_resource: oam_network }
1039       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
1040       security_groups:
1041       - { get_resource: onap_sg }
1042
1043   k8s_12_floating_ip:
1044     type: OS::Neutron::FloatingIP
1045     properties:
1046       floating_network_id: { get_param: public_net_id }
1047       port_id: { get_resource: k8s_12_private_port }
1048
1049   k8s_12_vm_scripts:
1050     type: OS::Heat::CloudConfig
1051     properties:
1052       cloud_config:
1053         power_state:
1054           mode: reboot
1055         runcmd:
1056         - [ /opt/k8s_vm_install.sh ]
1057         write_files:
1058         - path: /opt/k8s_vm_install.sh
1059           permissions: '0755'
1060           content:
1061             str_replace:
1062               params:
1063                 __docker_proxy__: { get_param: docker_proxy }
1064                 __apt_proxy__: { get_param: apt_proxy }
1065                 __docker_version__: { get_param: docker_version }
1066                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
1067                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
1068                 __host_private_ip_addr__: { get_attr: [k8s_12_floating_ip, fixed_ip_address] }
1069                 __mtu__: { get_param: mtu }
1070               template:
1071                 get_file: k8s_vm_install.sh
1072         - path: /opt/k8s_vm_init.sh
1073           permissions: '0755'
1074           content:
1075             str_replace:
1076               params:
1077                 __host_private_ip_addr__: { get_attr: [k8s_12_floating_ip, fixed_ip_address] }
1078                 __host_label__: 'compute'
1079               template:
1080                 get_file: k8s_vm_init.sh
1081         - path: /etc/init.d/k8s_vm_init_serv
1082           permissions: '0755'
1083           content:
1084             get_file: k8s_vm_init_serv.sh
1085
1086   k8s_12_vm_config:
1087     type: OS::Heat::MultipartMime
1088     properties:
1089       parts:
1090       - config: { get_resource: k8s_12_vm_scripts }
1091
1092   k8s_12_vm:
1093     type: OS::Nova::Server
1094     properties:
1095       name:
1096         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '12' ] ]
1097       image: { get_param: ubuntu_1604_image }
1098       flavor: { get_param: k8s_vm_flavor }
1099       key_name: { get_param: key_name }
1100       networks:
1101       - port: { get_resource: k8s_12_private_port }
1102       user_data_format: SOFTWARE_CONFIG
1103       user_data: { get_resource: k8s_12_vm_config }
1104
1105   etcd_1_private_port:
1106     type: OS::Neutron::Port
1107     properties:
1108       network: { get_resource: oam_network }
1109       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
1110       security_groups:
1111       - { get_resource: onap_sg }
1112
1113   etcd_1_floating_ip:
1114     type: OS::Neutron::FloatingIP
1115     properties:
1116       floating_network_id: { get_param: public_net_id }
1117       port_id: { get_resource: etcd_1_private_port }
1118
1119   etcd_1_vm_scripts:
1120     type: OS::Heat::CloudConfig
1121     properties:
1122       cloud_config:
1123         power_state:
1124           mode: reboot
1125         runcmd:
1126         - [ /opt/k8s_vm_install.sh ]
1127         write_files:
1128         - path: /opt/k8s_vm_install.sh
1129           permissions: '0755'
1130           content:
1131             str_replace:
1132               params:
1133                 __docker_proxy__: { get_param: docker_proxy }
1134                 __apt_proxy__: { get_param: apt_proxy }
1135                 __docker_version__: { get_param: docker_version }
1136                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
1137                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
1138                 __host_private_ip_addr__: { get_attr: [etcd_1_floating_ip, fixed_ip_address] }
1139                 __mtu__: { get_param: mtu }
1140               template:
1141                 get_file: k8s_vm_install.sh
1142         - path: /opt/k8s_vm_init.sh
1143           permissions: '0755'
1144           content:
1145             str_replace:
1146               params:
1147                 __host_private_ip_addr__: { get_attr: [etcd_1_floating_ip, fixed_ip_address] }
1148                 __host_label__: 'etcd'
1149               template:
1150                 get_file: k8s_vm_init.sh
1151         - path: /etc/init.d/k8s_vm_init_serv
1152           permissions: '0755'
1153           content:
1154             get_file: k8s_vm_init_serv.sh
1155
1156   etcd_1_vm_config:
1157     type: OS::Heat::MultipartMime
1158     properties:
1159       parts:
1160       - config: { get_resource: etcd_1_vm_scripts }
1161
1162   etcd_1_vm:
1163     type: OS::Nova::Server
1164     properties:
1165       name:
1166         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'etcd', '1' ] ]
1167       image: { get_param: ubuntu_1604_image }
1168       flavor: { get_param: etcd_vm_flavor }
1169       key_name: { get_param: key_name }
1170       networks:
1171       - port: { get_resource: etcd_1_private_port }
1172       user_data_format: SOFTWARE_CONFIG
1173       user_data: { get_resource: etcd_1_vm_config }
1174
1175   etcd_2_private_port:
1176     type: OS::Neutron::Port
1177     properties:
1178       network: { get_resource: oam_network }
1179       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
1180       security_groups:
1181       - { get_resource: onap_sg }
1182
1183   etcd_2_floating_ip:
1184     type: OS::Neutron::FloatingIP
1185     properties:
1186       floating_network_id: { get_param: public_net_id }
1187       port_id: { get_resource: etcd_2_private_port }
1188
1189   etcd_2_vm_scripts:
1190     type: OS::Heat::CloudConfig
1191     properties:
1192       cloud_config:
1193         power_state:
1194           mode: reboot
1195         runcmd:
1196         - [ /opt/k8s_vm_install.sh ]
1197         write_files:
1198         - path: /opt/k8s_vm_install.sh
1199           permissions: '0755'
1200           content:
1201             str_replace:
1202               params:
1203                 __docker_proxy__: { get_param: docker_proxy }
1204                 __apt_proxy__: { get_param: apt_proxy }
1205                 __docker_version__: { get_param: docker_version }
1206                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
1207                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
1208                 __host_private_ip_addr__: { get_attr: [etcd_2_floating_ip, fixed_ip_address] }
1209                 __mtu__: { get_param: mtu }
1210               template:
1211                 get_file: k8s_vm_install.sh
1212         - path: /opt/k8s_vm_init.sh
1213           permissions: '0755'
1214           content:
1215             str_replace:
1216               params:
1217                 __host_private_ip_addr__: { get_attr: [etcd_2_floating_ip, fixed_ip_address] }
1218                 __host_label__: 'etcd'
1219               template:
1220                 get_file: k8s_vm_init.sh
1221         - path: /etc/init.d/k8s_vm_init_serv
1222           permissions: '0755'
1223           content:
1224             get_file: k8s_vm_init_serv.sh
1225
1226   etcd_2_vm_config:
1227     type: OS::Heat::MultipartMime
1228     properties:
1229       parts:
1230       - config: { get_resource: etcd_2_vm_scripts }
1231
1232   etcd_2_vm:
1233     type: OS::Nova::Server
1234     properties:
1235       name:
1236         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'etcd', '2' ] ]
1237       image: { get_param: ubuntu_1604_image }
1238       flavor: { get_param: etcd_vm_flavor }
1239       key_name: { get_param: key_name }
1240       networks:
1241       - port: { get_resource: etcd_2_private_port }
1242       user_data_format: SOFTWARE_CONFIG
1243       user_data: { get_resource: etcd_2_vm_config }
1244
1245   etcd_3_private_port:
1246     type: OS::Neutron::Port
1247     properties:
1248       network: { get_resource: oam_network }
1249       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
1250       security_groups:
1251       - { get_resource: onap_sg }
1252
1253   etcd_3_floating_ip:
1254     type: OS::Neutron::FloatingIP
1255     properties:
1256       floating_network_id: { get_param: public_net_id }
1257       port_id: { get_resource: etcd_3_private_port }
1258
1259   etcd_3_vm_scripts:
1260     type: OS::Heat::CloudConfig
1261     properties:
1262       cloud_config:
1263         power_state:
1264           mode: reboot
1265         runcmd:
1266         - [ /opt/k8s_vm_install.sh ]
1267         write_files:
1268         - path: /opt/k8s_vm_install.sh
1269           permissions: '0755'
1270           content:
1271             str_replace:
1272               params:
1273                 __docker_proxy__: { get_param: docker_proxy }
1274                 __apt_proxy__: { get_param: apt_proxy }
1275                 __docker_version__: { get_param: docker_version }
1276                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
1277                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
1278                 __host_private_ip_addr__: { get_attr: [etcd_3_floating_ip, fixed_ip_address] }
1279                 __mtu__: { get_param: mtu }
1280               template:
1281                 get_file: k8s_vm_install.sh
1282         - path: /opt/k8s_vm_init.sh
1283           permissions: '0755'
1284           content:
1285             str_replace:
1286               params:
1287                 __host_private_ip_addr__: { get_attr: [etcd_3_floating_ip, fixed_ip_address] }
1288                 __host_label__: 'etcd'
1289               template:
1290                 get_file: k8s_vm_init.sh
1291         - path: /etc/init.d/k8s_vm_init_serv
1292           permissions: '0755'
1293           content:
1294             get_file: k8s_vm_init_serv.sh
1295
1296   etcd_3_vm_config:
1297     type: OS::Heat::MultipartMime
1298     properties:
1299       parts:
1300       - config: { get_resource: etcd_3_vm_scripts }
1301
1302   etcd_3_vm:
1303     type: OS::Nova::Server
1304     properties:
1305       name:
1306         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'etcd', '3' ] ]
1307       image: { get_param: ubuntu_1604_image }
1308       flavor: { get_param: etcd_vm_flavor }
1309       key_name: { get_param: key_name }
1310       networks:
1311       - port: { get_resource: etcd_3_private_port }
1312       user_data_format: SOFTWARE_CONFIG
1313       user_data: { get_resource: etcd_3_vm_config }
1314
1315   orch_1_private_port:
1316     type: OS::Neutron::Port
1317     properties:
1318       network: { get_resource: oam_network }
1319       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
1320       security_groups:
1321       - { get_resource: onap_sg }
1322
1323   orch_1_floating_ip:
1324     type: OS::Neutron::FloatingIP
1325     properties:
1326       floating_network_id: { get_param: public_net_id }
1327       port_id: { get_resource: orch_1_private_port }
1328
1329   orch_1_vm_scripts:
1330     type: OS::Heat::CloudConfig
1331     properties:
1332       cloud_config:
1333         power_state:
1334           mode: reboot
1335         runcmd:
1336         - [ /opt/k8s_vm_install.sh ]
1337         write_files:
1338         - path: /opt/k8s_vm_install.sh
1339           permissions: '0755'
1340           content:
1341             str_replace:
1342               params:
1343                 __docker_proxy__: { get_param: docker_proxy }
1344                 __apt_proxy__: { get_param: apt_proxy }
1345                 __docker_version__: { get_param: docker_version }
1346                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
1347                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
1348                 __host_private_ip_addr__: { get_attr: [orch_1_floating_ip, fixed_ip_address] }
1349                 __mtu__: { get_param: mtu }
1350               template:
1351                 get_file: k8s_vm_install.sh
1352         - path: /opt/k8s_vm_init.sh
1353           permissions: '0755'
1354           content:
1355             str_replace:
1356               params:
1357                 __host_private_ip_addr__: { get_attr: [orch_1_floating_ip, fixed_ip_address] }
1358                 __host_label__: 'orchestration'
1359               template:
1360                 get_file: k8s_vm_init.sh
1361         - path: /etc/init.d/k8s_vm_init_serv
1362           permissions: '0755'
1363           content:
1364             get_file: k8s_vm_init_serv.sh
1365
1366   orch_1_vm_config:
1367     type: OS::Heat::MultipartMime
1368     properties:
1369       parts:
1370       - config: { get_resource: orch_1_vm_scripts }
1371
1372   orch_1_vm:
1373     type: OS::Nova::Server
1374     properties:
1375       name:
1376         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'orch', '1' ] ]
1377       image: { get_param: ubuntu_1604_image }
1378       flavor: { get_param: orch_vm_flavor }
1379       key_name: { get_param: key_name }
1380       networks:
1381       - port: { get_resource: orch_1_private_port }
1382       user_data_format: SOFTWARE_CONFIG
1383       user_data: { get_resource: orch_1_vm_config }
1384
1385   orch_2_private_port:
1386     type: OS::Neutron::Port
1387     properties:
1388       network: { get_resource: oam_network }
1389       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
1390       security_groups:
1391       - { get_resource: onap_sg }
1392
1393   orch_2_floating_ip:
1394     type: OS::Neutron::FloatingIP
1395     properties:
1396       floating_network_id: { get_param: public_net_id }
1397       port_id: { get_resource: orch_2_private_port }
1398
1399   orch_2_vm_scripts:
1400     type: OS::Heat::CloudConfig
1401     properties:
1402       cloud_config:
1403         power_state:
1404           mode: reboot
1405         runcmd:
1406         - [ /opt/k8s_vm_install.sh ]
1407         write_files:
1408         - path: /opt/k8s_vm_install.sh
1409           permissions: '0755'
1410           content:
1411             str_replace:
1412               params:
1413                 __docker_proxy__: { get_param: docker_proxy }
1414                 __apt_proxy__: { get_param: apt_proxy }
1415                 __docker_version__: { get_param: docker_version }
1416                 __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
1417                 __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
1418                 __host_private_ip_addr__: { get_attr: [orch_2_floating_ip, fixed_ip_address] }
1419                 __mtu__: { get_param: mtu }
1420               template:
1421                 get_file: k8s_vm_install.sh
1422         - path: /opt/k8s_vm_init.sh
1423           permissions: '0755'
1424           content:
1425             str_replace:
1426               params:
1427                 __host_private_ip_addr__: { get_attr: [orch_2_floating_ip, fixed_ip_address] }
1428                 __host_label__: 'orchestration'
1429               template:
1430                 get_file: k8s_vm_init.sh
1431         - path: /etc/init.d/k8s_vm_init_serv
1432           permissions: '0755'
1433           content:
1434             get_file: k8s_vm_init_serv.sh
1435
1436   orch_2_vm_config:
1437     type: OS::Heat::MultipartMime
1438     properties:
1439       parts:
1440       - config: { get_resource: orch_2_vm_scripts }
1441
1442   orch_2_vm:
1443     type: OS::Nova::Server
1444     properties:
1445       name:
1446         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'orch', '2' ] ]
1447       image: { get_param: ubuntu_1604_image }
1448       flavor: { get_param: orch_vm_flavor }
1449       key_name: { get_param: key_name }
1450       networks:
1451       - port: { get_resource: orch_2_private_port }
1452       user_data_format: SOFTWARE_CONFIG
1453       user_data: { get_resource: orch_2_vm_config }
1454
1455 outputs:
1456   rancher_vm_ip:
1457     description: The IP address of the rancher instance
1458     value: { get_attr: [rancher_floating_ip, floating_ip_address] }
1459
1460   k8s_01_vm_ip:
1461     description: The IP address of the k8s_01 instance
1462     value: { get_attr: [k8s_01_floating_ip, floating_ip_address] }
1463
1464   k8s_02_vm_ip:
1465     description: The IP address of the k8s_02 instance
1466     value: { get_attr: [k8s_02_floating_ip, floating_ip_address] }
1467
1468   k8s_03_vm_ip:
1469     description: The IP address of the k8s_03 instance
1470     value: { get_attr: [k8s_03_floating_ip, floating_ip_address] }
1471
1472   k8s_04_vm_ip:
1473     description: The IP address of the k8s_04 instance
1474     value: { get_attr: [k8s_04_floating_ip, floating_ip_address] }
1475
1476   k8s_05_vm_ip:
1477     description: The IP address of the k8s_05 instance
1478     value: { get_attr: [k8s_05_floating_ip, floating_ip_address] }
1479
1480   k8s_06_vm_ip:
1481     description: The IP address of the k8s_06 instance
1482     value: { get_attr: [k8s_06_floating_ip, floating_ip_address] }
1483
1484   k8s_07_vm_ip:
1485     description: The IP address of the k8s_07 instance
1486     value: { get_attr: [k8s_07_floating_ip, floating_ip_address] }
1487
1488   k8s_08_vm_ip:
1489     description: The IP address of the k8s_08 instance
1490     value: { get_attr: [k8s_08_floating_ip, floating_ip_address] }
1491
1492   k8s_09_vm_ip:
1493     description: The IP address of the k8s_09 instance
1494     value: { get_attr: [k8s_09_floating_ip, floating_ip_address] }
1495
1496   k8s_10_vm_ip:
1497     description: The IP address of the k8s_10 instance
1498     value: { get_attr: [k8s_10_floating_ip, floating_ip_address] }
1499
1500   k8s_11_vm_ip:
1501     description: The IP address of the k8s_11 instance
1502     value: { get_attr: [k8s_11_floating_ip, floating_ip_address] }
1503
1504   k8s_12_vm_ip:
1505     description: The IP address of the k8s_12 instance
1506     value: { get_attr: [k8s_12_floating_ip, floating_ip_address] }
1507