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