Updated Docker Image Version
[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 resources:
91   random-str:
92     type: OS::Heat::RandomString
93     properties:
94       length: 4
95
96   # ONAP security group
97   onap_sg:
98     type: OS::Neutron::SecurityGroup
99     properties:
100       name:
101         str_replace:
102           template: base_rand
103           params:
104             base: onap_sg
105             rand: { get_resource: random-str }
106       description: security group used by ONAP
107       rules:
108         # All egress traffic
109         - direction: egress
110           ethertype: IPv4
111         - direction: egress
112           ethertype: IPv6
113         # ingress traffic
114         # ICMP
115         - protocol: icmp
116         - protocol: udp
117           port_range_min: 1
118           port_range_max: 65535
119         - protocol: tcp
120           port_range_min: 1
121           port_range_max: 65535
122
123
124   # ONAP management private network
125   oam_network:
126     type: OS::Neutron::Net
127     properties:
128       name:
129         str_replace:
130           template: oam_network_rand
131           params:
132             rand: { get_resource: random-str }
133
134   oam_subnet:
135     type: OS::Neutron::Subnet
136     properties:
137       name:
138         str_replace:
139           template: oam_network_rand
140           params:
141             rand: { get_resource: random-str }
142       network_id: { get_resource: oam_network }
143       cidr: { get_param: oam_network_cidr }
144       dns_nameservers: [ "8.8.8.8" ]
145
146   router:
147     type: OS::Neutron::Router
148     properties:
149       name:
150         list_join: ['-', [{ get_param: 'OS::stack_name' }, 'router']]
151       external_gateway_info:
152         network: { get_param: public_net_id }
153
154   router_interface:
155     type: OS::Neutron::RouterInterface
156     properties:
157       router_id: { get_resource: router }
158       subnet_id: { get_resource: oam_subnet }
159
160   rancher_private_port:
161     type: OS::Neutron::Port
162     properties:
163       network: { get_resource: oam_network }
164       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
165       security_groups:
166       - { get_resource: onap_sg }
167
168   rancher_floating_ip:
169     type: OS::Neutron::FloatingIP
170     properties:
171       floating_network_id: { get_param: public_net_id }
172       port_id: { get_resource: rancher_private_port }
173
174   rancher_vm:
175     type: OS::Nova::Server
176     properties:
177       name:
178         list_join: ['-', [{ get_param: 'OS::stack_name' }, 'rancher']]
179       image: { get_param: ubuntu_1604_image }
180       flavor: { get_param: rancher_vm_flavor }
181       key_name: { get_param: key_name }
182       networks:
183       - port: { get_resource: rancher_private_port }
184       user_data_format: RAW
185       user_data:
186         str_replace:
187           template:
188             get_file: rancher_vm_entrypoint.sh
189           params:
190             __docker_proxy__: { get_param: docker_proxy }
191             __apt_proxy__: { get_param: apt_proxy }
192             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
193             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
194             __integration_override_yaml__: { get_param: integration_override_yaml }
195             __integration_gerrit_branch__: { get_param: integration_gerrit_branch }
196             __integration_gerrit_refspec__: { get_param: integration_gerrit_refspec }
197             __oom_gerrit_branch__: { get_param: oom_gerrit_branch }
198             __oom_gerrit_refspec__: { get_param: oom_gerrit_refspec }
199             __docker_manifest__: { get_param: docker_manifest }
200             __docker_version__: { get_param: docker_version }
201             __rancher_version__: { get_param: rancher_version }
202             __rancher_agent_version__: { get_param: rancher_agent_version }
203             __kubectl_version__: { get_param: kubectl_version }
204             __helm_version__: { get_param: helm_version }
205             __public_net_id__: { get_param: public_net_id }
206             __oam_network_cidr__: { get_param: oam_network_cidr }
207             __oam_network_id__: { get_resource: oam_network }
208             __oam_subnet_id__: { get_resource: oam_subnet }
209             __sec_group__: { get_resource: onap_sg }
210             __k8s_1_vm_ip__: { get_attr: [k8s_1_floating_ip, floating_ip_address] }
211             __k8s_vm_ips__: [
212               get_attr: [k8s_1_floating_ip, floating_ip_address],
213               get_attr: [k8s_2_floating_ip, floating_ip_address],
214               get_attr: [k8s_3_floating_ip, floating_ip_address],
215               get_attr: [k8s_4_floating_ip, floating_ip_address],
216               get_attr: [k8s_5_floating_ip, floating_ip_address],
217               get_attr: [k8s_6_floating_ip, floating_ip_address],
218               get_attr: [k8s_7_floating_ip, floating_ip_address],
219               get_attr: [k8s_8_floating_ip, floating_ip_address],
220               get_attr: [k8s_9_floating_ip, floating_ip_address],
221               get_attr: [k8s_10_floating_ip, floating_ip_address],
222               get_attr: [k8s_11_floating_ip, floating_ip_address],
223             ]
224             __k8s_private_ips__: [
225               get_attr: [k8s_1_floating_ip, fixed_ip_address],
226               get_attr: [k8s_2_floating_ip, fixed_ip_address],
227               get_attr: [k8s_3_floating_ip, fixed_ip_address],
228               get_attr: [k8s_4_floating_ip, fixed_ip_address],
229               get_attr: [k8s_5_floating_ip, fixed_ip_address],
230               get_attr: [k8s_6_floating_ip, fixed_ip_address],
231               get_attr: [k8s_7_floating_ip, fixed_ip_address],
232               get_attr: [k8s_8_floating_ip, fixed_ip_address],
233               get_attr: [k8s_9_floating_ip, fixed_ip_address],
234               get_attr: [k8s_10_floating_ip, fixed_ip_address],
235               get_attr: [k8s_11_floating_ip, fixed_ip_address],
236             ]
237   k8s_1_private_port:
238     type: OS::Neutron::Port
239     properties:
240       network: { get_resource: oam_network }
241       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
242       security_groups:
243       - { get_resource: onap_sg }
244
245   k8s_1_floating_ip:
246     type: OS::Neutron::FloatingIP
247     properties:
248       floating_network_id: { get_param: public_net_id }
249       port_id: { get_resource: k8s_1_private_port }
250
251   k8s_1_vm:
252     type: OS::Nova::Server
253     properties:
254       name:
255         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '1' ] ]
256       image: { get_param: ubuntu_1604_image }
257       flavor: { get_param: k8s_vm_flavor }
258       key_name: { get_param: key_name }
259       networks:
260       - port: { get_resource: k8s_1_private_port }
261       user_data_format: RAW
262       user_data:
263         str_replace:
264           params:
265             __docker_proxy__: { get_param: docker_proxy }
266             __apt_proxy__: { get_param: apt_proxy }
267             __docker_version__: { get_param: docker_version }
268             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
269             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
270             __host_label__: 'compute'
271           template:
272             get_file: k8s_vm_entrypoint.sh
273
274   k8s_2_private_port:
275     type: OS::Neutron::Port
276     properties:
277       network: { get_resource: oam_network }
278       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
279       security_groups:
280       - { get_resource: onap_sg }
281
282   k8s_2_floating_ip:
283     type: OS::Neutron::FloatingIP
284     properties:
285       floating_network_id: { get_param: public_net_id }
286       port_id: { get_resource: k8s_2_private_port }
287
288   k8s_2_vm:
289     type: OS::Nova::Server
290     properties:
291       name:
292         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '2' ] ]
293       image: { get_param: ubuntu_1604_image }
294       flavor: { get_param: k8s_vm_flavor }
295       key_name: { get_param: key_name }
296       networks:
297       - port: { get_resource: k8s_2_private_port }
298       user_data_format: RAW
299       user_data:
300         str_replace:
301           params:
302             __docker_proxy__: { get_param: docker_proxy }
303             __apt_proxy__: { get_param: apt_proxy }
304             __docker_version__: { get_param: docker_version }
305             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
306             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
307             __host_label__: 'compute'
308           template:
309             get_file: k8s_vm_entrypoint.sh
310
311   k8s_3_private_port:
312     type: OS::Neutron::Port
313     properties:
314       network: { get_resource: oam_network }
315       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
316       security_groups:
317       - { get_resource: onap_sg }
318
319   k8s_3_floating_ip:
320     type: OS::Neutron::FloatingIP
321     properties:
322       floating_network_id: { get_param: public_net_id }
323       port_id: { get_resource: k8s_3_private_port }
324
325   k8s_3_vm:
326     type: OS::Nova::Server
327     properties:
328       name:
329         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '3' ] ]
330       image: { get_param: ubuntu_1604_image }
331       flavor: { get_param: k8s_vm_flavor }
332       key_name: { get_param: key_name }
333       networks:
334       - port: { get_resource: k8s_3_private_port }
335       user_data_format: RAW
336       user_data:
337         str_replace:
338           params:
339             __docker_proxy__: { get_param: docker_proxy }
340             __apt_proxy__: { get_param: apt_proxy }
341             __docker_version__: { get_param: docker_version }
342             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
343             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
344             __host_label__: 'compute'
345           template:
346             get_file: k8s_vm_entrypoint.sh
347
348   k8s_4_private_port:
349     type: OS::Neutron::Port
350     properties:
351       network: { get_resource: oam_network }
352       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
353       security_groups:
354       - { get_resource: onap_sg }
355
356   k8s_4_floating_ip:
357     type: OS::Neutron::FloatingIP
358     properties:
359       floating_network_id: { get_param: public_net_id }
360       port_id: { get_resource: k8s_4_private_port }
361
362   k8s_4_vm:
363     type: OS::Nova::Server
364     properties:
365       name:
366         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '4' ] ]
367       image: { get_param: ubuntu_1604_image }
368       flavor: { get_param: k8s_vm_flavor }
369       key_name: { get_param: key_name }
370       networks:
371       - port: { get_resource: k8s_4_private_port }
372       user_data_format: RAW
373       user_data:
374         str_replace:
375           params:
376             __docker_proxy__: { get_param: docker_proxy }
377             __apt_proxy__: { get_param: apt_proxy }
378             __docker_version__: { get_param: docker_version }
379             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
380             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
381             __host_label__: 'compute'
382           template:
383             get_file: k8s_vm_entrypoint.sh
384
385   k8s_5_private_port:
386     type: OS::Neutron::Port
387     properties:
388       network: { get_resource: oam_network }
389       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
390       security_groups:
391       - { get_resource: onap_sg }
392
393   k8s_5_floating_ip:
394     type: OS::Neutron::FloatingIP
395     properties:
396       floating_network_id: { get_param: public_net_id }
397       port_id: { get_resource: k8s_5_private_port }
398
399   k8s_5_vm:
400     type: OS::Nova::Server
401     properties:
402       name:
403         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '5' ] ]
404       image: { get_param: ubuntu_1604_image }
405       flavor: { get_param: k8s_vm_flavor }
406       key_name: { get_param: key_name }
407       networks:
408       - port: { get_resource: k8s_5_private_port }
409       user_data_format: RAW
410       user_data:
411         str_replace:
412           params:
413             __docker_proxy__: { get_param: docker_proxy }
414             __apt_proxy__: { get_param: apt_proxy }
415             __docker_version__: { get_param: docker_version }
416             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
417             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
418             __host_label__: 'compute'
419           template:
420             get_file: k8s_vm_entrypoint.sh
421
422   k8s_6_private_port:
423     type: OS::Neutron::Port
424     properties:
425       network: { get_resource: oam_network }
426       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
427       security_groups:
428       - { get_resource: onap_sg }
429
430   k8s_6_floating_ip:
431     type: OS::Neutron::FloatingIP
432     properties:
433       floating_network_id: { get_param: public_net_id }
434       port_id: { get_resource: k8s_6_private_port }
435
436   k8s_6_vm:
437     type: OS::Nova::Server
438     properties:
439       name:
440         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '6' ] ]
441       image: { get_param: ubuntu_1604_image }
442       flavor: { get_param: k8s_vm_flavor }
443       key_name: { get_param: key_name }
444       networks:
445       - port: { get_resource: k8s_6_private_port }
446       user_data_format: RAW
447       user_data:
448         str_replace:
449           params:
450             __docker_proxy__: { get_param: docker_proxy }
451             __apt_proxy__: { get_param: apt_proxy }
452             __docker_version__: { get_param: docker_version }
453             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
454             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
455             __host_label__: 'compute'
456           template:
457             get_file: k8s_vm_entrypoint.sh
458
459   k8s_7_private_port:
460     type: OS::Neutron::Port
461     properties:
462       network: { get_resource: oam_network }
463       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
464       security_groups:
465       - { get_resource: onap_sg }
466
467   k8s_7_floating_ip:
468     type: OS::Neutron::FloatingIP
469     properties:
470       floating_network_id: { get_param: public_net_id }
471       port_id: { get_resource: k8s_7_private_port }
472
473   k8s_7_vm:
474     type: OS::Nova::Server
475     properties:
476       name:
477         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '7' ] ]
478       image: { get_param: ubuntu_1604_image }
479       flavor: { get_param: k8s_vm_flavor }
480       key_name: { get_param: key_name }
481       networks:
482       - port: { get_resource: k8s_7_private_port }
483       user_data_format: RAW
484       user_data:
485         str_replace:
486           params:
487             __docker_proxy__: { get_param: docker_proxy }
488             __apt_proxy__: { get_param: apt_proxy }
489             __docker_version__: { get_param: docker_version }
490             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
491             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
492             __host_label__: 'compute'
493           template:
494             get_file: k8s_vm_entrypoint.sh
495
496   k8s_8_private_port:
497     type: OS::Neutron::Port
498     properties:
499       network: { get_resource: oam_network }
500       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
501       security_groups:
502       - { get_resource: onap_sg }
503
504   k8s_8_floating_ip:
505     type: OS::Neutron::FloatingIP
506     properties:
507       floating_network_id: { get_param: public_net_id }
508       port_id: { get_resource: k8s_8_private_port }
509
510   k8s_8_vm:
511     type: OS::Nova::Server
512     properties:
513       name:
514         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '8' ] ]
515       image: { get_param: ubuntu_1604_image }
516       flavor: { get_param: k8s_vm_flavor }
517       key_name: { get_param: key_name }
518       networks:
519       - port: { get_resource: k8s_8_private_port }
520       user_data_format: RAW
521       user_data:
522         str_replace:
523           params:
524             __docker_proxy__: { get_param: docker_proxy }
525             __apt_proxy__: { get_param: apt_proxy }
526             __docker_version__: { get_param: docker_version }
527             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
528             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
529             __host_label__: 'compute'
530           template:
531             get_file: k8s_vm_entrypoint.sh
532
533   k8s_9_private_port:
534     type: OS::Neutron::Port
535     properties:
536       network: { get_resource: oam_network }
537       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
538       security_groups:
539       - { get_resource: onap_sg }
540
541   k8s_9_floating_ip:
542     type: OS::Neutron::FloatingIP
543     properties:
544       floating_network_id: { get_param: public_net_id }
545       port_id: { get_resource: k8s_9_private_port }
546
547   k8s_9_vm:
548     type: OS::Nova::Server
549     properties:
550       name:
551         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '9' ] ]
552       image: { get_param: ubuntu_1604_image }
553       flavor: { get_param: k8s_vm_flavor }
554       key_name: { get_param: key_name }
555       networks:
556       - port: { get_resource: k8s_9_private_port }
557       user_data_format: RAW
558       user_data:
559         str_replace:
560           params:
561             __docker_proxy__: { get_param: docker_proxy }
562             __apt_proxy__: { get_param: apt_proxy }
563             __docker_version__: { get_param: docker_version }
564             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
565             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
566             __host_label__: 'compute'
567           template:
568             get_file: k8s_vm_entrypoint.sh
569
570   k8s_10_private_port:
571     type: OS::Neutron::Port
572     properties:
573       network: { get_resource: oam_network }
574       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
575       security_groups:
576       - { get_resource: onap_sg }
577
578   k8s_10_floating_ip:
579     type: OS::Neutron::FloatingIP
580     properties:
581       floating_network_id: { get_param: public_net_id }
582       port_id: { get_resource: k8s_10_private_port }
583
584   k8s_10_vm:
585     type: OS::Nova::Server
586     properties:
587       name:
588         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '10' ] ]
589       image: { get_param: ubuntu_1604_image }
590       flavor: { get_param: k8s_vm_flavor }
591       key_name: { get_param: key_name }
592       networks:
593       - port: { get_resource: k8s_10_private_port }
594       user_data_format: RAW
595       user_data:
596         str_replace:
597           params:
598             __docker_proxy__: { get_param: docker_proxy }
599             __apt_proxy__: { get_param: apt_proxy }
600             __docker_version__: { get_param: docker_version }
601             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
602             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
603             __host_label__: 'compute'
604           template:
605             get_file: k8s_vm_entrypoint.sh
606
607   k8s_11_private_port:
608     type: OS::Neutron::Port
609     properties:
610       network: { get_resource: oam_network }
611       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
612       security_groups:
613       - { get_resource: onap_sg }
614
615   k8s_11_floating_ip:
616     type: OS::Neutron::FloatingIP
617     properties:
618       floating_network_id: { get_param: public_net_id }
619       port_id: { get_resource: k8s_11_private_port }
620
621   k8s_11_vm:
622     type: OS::Nova::Server
623     properties:
624       name:
625         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'k8s', '11' ] ]
626       image: { get_param: ubuntu_1604_image }
627       flavor: { get_param: k8s_vm_flavor }
628       key_name: { get_param: key_name }
629       networks:
630       - port: { get_resource: k8s_11_private_port }
631       user_data_format: RAW
632       user_data:
633         str_replace:
634           params:
635             __docker_proxy__: { get_param: docker_proxy }
636             __apt_proxy__: { get_param: apt_proxy }
637             __docker_version__: { get_param: docker_version }
638             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
639             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
640             __host_label__: 'compute'
641           template:
642             get_file: k8s_vm_entrypoint.sh
643
644   etcd_1_private_port:
645     type: OS::Neutron::Port
646     properties:
647       network: { get_resource: oam_network }
648       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
649       security_groups:
650       - { get_resource: onap_sg }
651
652   etcd_1_floating_ip:
653     type: OS::Neutron::FloatingIP
654     properties:
655       floating_network_id: { get_param: public_net_id }
656       port_id: { get_resource: etcd_1_private_port }
657
658   etcd_1_vm:
659     type: OS::Nova::Server
660     properties:
661       name:
662         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'etcd', '1' ] ]
663       image: { get_param: ubuntu_1604_image }
664       flavor: { get_param: etcd_vm_flavor }
665       key_name: { get_param: key_name }
666       networks:
667       - port: { get_resource: etcd_1_private_port }
668       user_data_format: RAW
669       user_data:
670         str_replace:
671           params:
672             __docker_proxy__: { get_param: docker_proxy }
673             __apt_proxy__: { get_param: apt_proxy }
674             __docker_version__: { get_param: docker_version }
675             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
676             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
677             __host_label__: 'etcd'
678           template:
679             get_file: k8s_vm_entrypoint.sh
680
681   etcd_2_private_port:
682     type: OS::Neutron::Port
683     properties:
684       network: { get_resource: oam_network }
685       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
686       security_groups:
687       - { get_resource: onap_sg }
688
689   etcd_2_floating_ip:
690     type: OS::Neutron::FloatingIP
691     properties:
692       floating_network_id: { get_param: public_net_id }
693       port_id: { get_resource: etcd_2_private_port }
694
695   etcd_2_vm:
696     type: OS::Nova::Server
697     properties:
698       name:
699         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'etcd', '2' ] ]
700       image: { get_param: ubuntu_1604_image }
701       flavor: { get_param: etcd_vm_flavor }
702       key_name: { get_param: key_name }
703       networks:
704       - port: { get_resource: etcd_2_private_port }
705       user_data_format: RAW
706       user_data:
707         str_replace:
708           params:
709             __docker_proxy__: { get_param: docker_proxy }
710             __apt_proxy__: { get_param: apt_proxy }
711             __docker_version__: { get_param: docker_version }
712             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
713             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
714             __host_label__: 'etcd'
715           template:
716             get_file: k8s_vm_entrypoint.sh
717
718   etcd_3_private_port:
719     type: OS::Neutron::Port
720     properties:
721       network: { get_resource: oam_network }
722       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
723       security_groups:
724       - { get_resource: onap_sg }
725
726   etcd_3_floating_ip:
727     type: OS::Neutron::FloatingIP
728     properties:
729       floating_network_id: { get_param: public_net_id }
730       port_id: { get_resource: etcd_3_private_port }
731
732   etcd_3_vm:
733     type: OS::Nova::Server
734     properties:
735       name:
736         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'etcd', '3' ] ]
737       image: { get_param: ubuntu_1604_image }
738       flavor: { get_param: etcd_vm_flavor }
739       key_name: { get_param: key_name }
740       networks:
741       - port: { get_resource: etcd_3_private_port }
742       user_data_format: RAW
743       user_data:
744         str_replace:
745           params:
746             __docker_proxy__: { get_param: docker_proxy }
747             __apt_proxy__: { get_param: apt_proxy }
748             __docker_version__: { get_param: docker_version }
749             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
750             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
751             __host_label__: 'etcd'
752           template:
753             get_file: k8s_vm_entrypoint.sh
754
755   orch_1_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   orch_1_floating_ip:
764     type: OS::Neutron::FloatingIP
765     properties:
766       floating_network_id: { get_param: public_net_id }
767       port_id: { get_resource: orch_1_private_port }
768
769   orch_1_vm:
770     type: OS::Nova::Server
771     properties:
772       name:
773         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'orch', '1' ] ]
774       image: { get_param: ubuntu_1604_image }
775       flavor: { get_param: orch_vm_flavor }
776       key_name: { get_param: key_name }
777       networks:
778       - port: { get_resource: orch_1_private_port }
779       user_data_format: RAW
780       user_data:
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_label__: 'orchestration'
789           template:
790             get_file: k8s_vm_entrypoint.sh
791
792   orch_2_private_port:
793     type: OS::Neutron::Port
794     properties:
795       network: { get_resource: oam_network }
796       fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
797       security_groups:
798       - { get_resource: onap_sg }
799
800   orch_2_floating_ip:
801     type: OS::Neutron::FloatingIP
802     properties:
803       floating_network_id: { get_param: public_net_id }
804       port_id: { get_resource: orch_2_private_port }
805
806   orch_2_vm:
807     type: OS::Nova::Server
808     properties:
809       name:
810         list_join: ['-', [ { get_param: 'OS::stack_name' }, 'orch', '2' ] ]
811       image: { get_param: ubuntu_1604_image }
812       flavor: { get_param: orch_vm_flavor }
813       key_name: { get_param: key_name }
814       networks:
815       - port: { get_resource: orch_2_private_port }
816       user_data_format: RAW
817       user_data:
818         str_replace:
819           params:
820             __docker_proxy__: { get_param: docker_proxy }
821             __apt_proxy__: { get_param: apt_proxy }
822             __docker_version__: { get_param: docker_version }
823             __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
824             __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
825             __host_label__: 'orchestration'
826           template:
827             get_file: k8s_vm_entrypoint.sh
828
829 outputs:
830   rancher_vm_ip:
831     description: The IP address of the rancher instance
832     value: { get_attr: [rancher_floating_ip, floating_ip_address] }
833
834   k8s_1_vm_ip:
835     description: The IP address of the k8s_1 instance
836     value: { get_attr: [k8s_1_floating_ip, floating_ip_address] }
837
838   k8s_2_vm_ip:
839     description: The IP address of the k8s_2 instance
840     value: { get_attr: [k8s_2_floating_ip, floating_ip_address] }
841
842   k8s_3_vm_ip:
843     description: The IP address of the k8s_3 instance
844     value: { get_attr: [k8s_3_floating_ip, floating_ip_address] }
845
846   k8s_4_vm_ip:
847     description: The IP address of the k8s_4 instance
848     value: { get_attr: [k8s_4_floating_ip, floating_ip_address] }
849
850   k8s_5_vm_ip:
851     description: The IP address of the k8s_5 instance
852     value: { get_attr: [k8s_5_floating_ip, floating_ip_address] }
853
854   k8s_6_vm_ip:
855     description: The IP address of the k8s_6 instance
856     value: { get_attr: [k8s_6_floating_ip, floating_ip_address] }
857
858   k8s_7_vm_ip:
859     description: The IP address of the k8s_7 instance
860     value: { get_attr: [k8s_7_floating_ip, floating_ip_address] }
861
862   k8s_8_vm_ip:
863     description: The IP address of the k8s_8 instance
864     value: { get_attr: [k8s_8_floating_ip, floating_ip_address] }
865
866   k8s_9_vm_ip:
867     description: The IP address of the k8s_9 instance
868     value: { get_attr: [k8s_9_floating_ip, floating_ip_address] }
869
870   k8s_10_vm_ip:
871     description: The IP address of the k8s_10 instance
872     value: { get_attr: [k8s_10_floating_ip, floating_ip_address] }
873
874   k8s_11_vm_ip:
875     description: The IP address of the k8s_11 instance
876     value: { get_attr: [k8s_11_floating_ip, floating_ip_address] }
877