[MSO-15] Add cloud_sites instructions to MSO
[demo.git] / heat / OpenECOMP / onap_openstack_float.yaml
1 heat_template_version: 2015-10-15
2
3 description: Heat template to install ONAP components
4
5 ##############
6 #            #
7 # PARAMETERS #
8 #            #
9 ##############
10
11 parameters:
12
13   ##############################################
14   #                                            #
15   # Parameters used across all ONAP components #
16   #                                            #
17   ##############################################
18   
19   public_net_id:
20     type: string
21     description: Public network for floating IP address allocation
22
23   ubuntu_1404_image:
24     type: string
25     description: Name of the Ubuntu 14.04 image
26
27   ubuntu_1604_image:
28     type: string
29     description: Name of the Ubuntu 16.04 image
30
31   flavor_small:
32     type: string
33     description: Name of the Small Flavor supported by the cloud provider
34
35   flavor_medium:
36     type: string
37     description: Name of the Medium Flavor supported by the cloud provider
38
39   flavor_large:
40     type: string
41     description: Name of the Large Flavor supported by the cloud provider
42
43   flavor_xlarge:
44     type: string
45     description: Name of the Extra Large Flavor supported by the cloud provider
46
47   vm_base_name:
48     type: string
49     description: Base name of ONAP VMs
50
51   key_name:
52     type: string
53     description: Public/Private key pair name
54
55   pub_key:
56     type: string
57     description: Public key to be installed on the compute instance
58
59   nexus_repo:
60     type: string
61     description: Complete URL for the Nexus repository.
62
63   nexus_docker_repo:
64     type: string
65     description: Complete URL for the Nexus repository for docker images.
66
67   nexus_username:
68     type: string
69     description: Nexus Repository username
70
71   nexus_password:
72     type: string
73     description: Nexus Repository Password
74
75   artifacts_version:
76     type: string
77     description: Artifacts version of ONAP components
78
79   docker_version:
80     type: string
81     label: Version number of ONAP docker images
82
83   gerrit_branch:
84     type: string
85     label: Gerrit code branch
86     description: Gerrit branch where to download the code from
87
88   dmaap_topic:
89     type: string
90     description: DMaaP Topic name
91
92   openstack_tenant_id:
93     type: string
94     description: Openstack tenant ID
95
96   openstack_username:
97     type: string
98     description: Openstack username
99
100   openstack_auth_method:
101     type: string
102     description: Openstack authentication method (password VS. api-key)
103
104   openstack_api_key:
105     type: string
106     description: Openstack API Key
107
108   horizon_url:
109     type: string
110     description: URL of Openstack Horizon
111
112   keystone_url:
113     type: string
114     description: URL of Openstack Keystone
115
116   cloud_env:
117     type: string
118     description: Cloud Provider Name
119
120   ######################
121   #                    #
122   # Network parameters #
123   #                    #
124   ######################
125
126   dns_list:
127     type: comma_delimited_list
128     description: List of External DNS for OAM ONAP network
129
130   external_dns:
131     type: string
132     description: First element of the dns_list for ONAP network
133
134   ### Floating IP addresses ###
135   aai_float_ip:
136     type: string
137     description: AAI Floating IP Address
138
139   appc_float_ip:
140     type: string
141     description: APP-C Floating IP Address
142
143   dcae_float_ip:
144     type: string
145     description: DCAE Floating IP Address
146
147   dcae_coll_float_ip:
148     type: string
149     description: DCAE Collector Floating IP Address
150
151   dcae_db_float_ip:
152     type: string
153     description: DCAE Collector Database Floating IP Address
154
155   dcae_hdp1_float_ip:
156     type: string
157     description: Hadoop VM1 Floating IP Address
158
159   dcae_hdp2_float_ip:
160     type: string
161     description: Hadoop VM2 Floating IP Address
162
163   dcae_hdp3_float_ip:
164     type: string
165     description: Hadoop VM3 Floating IP Address
166
167   dns_float_ip:
168     type: string
169     description: DNS Floating IP Address
170
171   mso_float_ip:
172     type: string
173     description: MSO Floating IP Address
174
175   mr_float_ip:
176     type: string
177     description: Message Router Floating IP Address
178
179   policy_float_ip:
180     type: string
181     description: Policy Engine Floating IP Address
182
183   portal_float_ip:
184     type: string
185     description: Portal Floating IP Address
186
187   robot_float_ip:
188     type: string
189     description: Robot Framework Floating IP Address
190
191   sdc_float_ip:
192     type: string
193     description: SDC Floating IP Address
194
195   sdnc_float_ip:
196     type: string
197     description: SDN-C Floating IP Address
198
199   vid_float_ip:
200     type: string
201     description: VID Floating IP Address
202
203   ### Private IP addresses ###
204   oam_network_cidr:
205     type: string
206     description: CIDR of the OAM ONAP network
207
208   aai_ip_addr:
209     type: string
210     description: AAI IP Address
211
212   appc_ip_addr:
213     type: string
214     description: APP-C IP Address
215
216   dcae_ip_addr:
217     type: string
218     description: DCAE IP Address
219  
220   dcae_coll_ip_addr:
221     type: string
222     description: DCAE Collector IP Address
223
224   dcae_db_ip_addr:
225     type: string
226     description: DCAE Database IP Address
227
228   dcae_hdp1_ip_addr:
229     type: string
230     description: Hadoop VM1 IP Address
231
232   dcae_hdp2_ip_addr:
233     type: string
234     description: Hadoop VM2 IP Address
235
236   dcae_hdp3_ip_addr:
237     type: string
238     description: Hadoop VM3 IP Address
239
240   dns_ip_addr:
241     type: string
242     description: DNS IP Address
243
244   mso_ip_addr:
245     type: string
246     description: MSO IP Address
247
248   mr_ip_addr:
249     type: string
250     description: Message Router IP Address
251
252   policy_ip_addr:
253     type: string
254     description: Policy Engine IP Address
255
256   portal_ip_addr:
257     type: string
258     description: Portal IP Address
259
260   robot_ip_addr:
261     type: string
262     description: Robot Framework IP Address
263
264   sdc_ip_addr:
265     type: string
266     description: SDC IP Address
267
268   sdnc_ip_addr:
269     type: string
270     description: SDN-C IP Address
271
272   vid_ip_addr:
273     type: string
274     description: VID IP Address
275
276
277   ###########################
278   #                         #
279   # Parameters used by DCAE #
280   #                         #
281   ###########################
282
283   dcae_base_environment:
284     type: string
285     description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS)
286
287   dcae_zone:
288     type: string
289     description: DCAE Zone to use in VM names created by DCAE controller
290
291   dcae_state:
292     type: string
293     description: DCAE State to use in VM names created by DCAE controller
294
295   nexus_repo_root:
296     type: string
297     description: Root URL of Nexus repository
298
299   nexus_url_snapshot:
300     type: string
301     description: Snapshot of Maven repository for DCAE deployment
302
303   openstack_region:
304     type: string
305     description: Region where the DCAE controller will spin the VMs
306
307   gitlab_branch:
308     type: string
309     description: Branch of the Gitlab repository
310     
311   dcae_code_version:
312     type: string
313     description: DCAE Code Version Number
314
315
316 #############
317 #           #
318 # RESOURCES #
319 #           #
320 #############
321
322 resources:
323   random-str:
324     type: OS::Heat::RandomString
325     properties:
326       length: 4
327
328
329   # Public key used to access ONAP components
330   vm_key:
331     type: OS::Nova::KeyPair
332     properties:
333       name:
334         str_replace:
335           template: base_rand
336           params:
337             base: { get_param: key_name }
338             rand: { get_resource: random-str }
339       public_key: { get_param: pub_key }
340       save_private_key: false
341
342
343   # ONAP management private network
344   oam_ecomp:
345     type: OS::Neutron::Net
346     properties:
347       name:
348         str_replace:
349           template: oam_ecomp_rand
350           params:
351             rand: { get_resource: random-str }
352
353   oam_ecomp_subnet:
354     type: OS::Neutron::Subnet
355     properties:
356       name:
357         str_replace:
358           template: oam_ecomp_rand
359           params:
360             rand: { get_resource: random-str }
361       network_id: { get_resource: oam_ecomp }
362       cidr: { get_param: oam_network_cidr }
363       dns_nameservers: { get_param: dns_list }
364
365   router:
366     type: OS::Neutron::Router
367     properties:
368       external_gateway_info:
369         network: { get_param: public_net_id }
370
371   router_interface:
372     type: OS::Neutron::RouterInterface
373     properties:
374       router_id: { get_resource: router }
375       subnet_id: { get_resource: oam_ecomp_subnet }
376
377
378   # DNS Server instantiation
379   dns_private_port:
380     type: OS::Neutron::Port
381     properties:
382       network: { get_resource: oam_ecomp }
383       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dns_ip_addr }}]
384
385   dns_floating_ip:
386     type: OS::Neutron::FloatingIP
387     properties:
388       floating_network_id: { get_param: public_net_id }
389       port_id: { get_resource: dns_private_port }
390       floating_ip_address: { get_param: dns_float_ip }
391
392   dns_vm:
393     type: OS::Nova::Server
394     properties:
395       image: { get_param: ubuntu_1404_image }
396       flavor: { get_param: flavor_small }
397       name: 
398         str_replace:
399           template: base-dns-server
400           params:
401             base: { get_param: vm_base_name }
402       key_name: { get_resource: vm_key }
403       networks:
404         - port: { get_resource: dns_private_port }
405       user_data_format: RAW
406       user_data:
407         str_replace:
408           params:
409             __nexus_repo__: { get_param: nexus_repo }
410             __artifacts_version__: { get_param: artifacts_version }
411             __oam_network_cidr__: { get_attr: [oam_ecomp_subnet, cidr] }
412             __dns_ip_addr__: { get_param: dns_ip_addr }
413             __aai_ip_addr__: { get_param: aai_ip_addr }
414             __appc_ip_addr__: { get_param: appc_ip_addr }
415             __dcae_ip_addr__: { get_param: dcae_ip_addr }
416             __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
417             __mso_ip_addr__: { get_param: mso_ip_addr }
418             __mr_ip_addr__: { get_param: mr_ip_addr }
419             __policy_ip_addr__: { get_param: policy_ip_addr }
420             __portal_ip_addr__: { get_param: portal_ip_addr }
421             __robot_ip_addr__: { get_param: robot_ip_addr }
422             __sdc_ip_addr__: { get_param: sdc_ip_addr }
423             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
424             __vid_ip_addr__: { get_param: vid_ip_addr }
425             __cloud_env__: { get_param: cloud_env }
426
427           template: |
428             #!/bin/bash
429
430             # Create configuration files
431             mkdir -p /opt/config
432             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
433             echo "__cloud_env__" > /opt/config/cloud_env.txt
434             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
435             echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
436             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
437             echo "__aai_ip_addr__" > /opt/config/aai_ip_addr.txt
438             echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
439             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
440             echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
441             echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
442             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
443             echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
444             echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
445             echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt
446             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
447             echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
448             echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
449
450             # Download and run install script
451             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
452             cd /opt
453             chmod +x dns_install.sh
454             ./dns_install.sh
455
456
457   # A&AI instantiation
458   aai_private_port:
459     type: OS::Neutron::Port
460     properties:
461       network: { get_resource: oam_ecomp }
462       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai_ip_addr }}]
463
464   aai_floating_ip:
465     type: OS::Neutron::FloatingIP
466     properties:
467       floating_network_id: { get_param: public_net_id }
468       port_id: { get_resource: aai_private_port }
469       floating_ip_address: { get_param: aai_float_ip }
470
471   aai_vm:
472     type: OS::Nova::Server
473     properties:
474       image: { get_param: ubuntu_1404_image }
475       flavor: { get_param: flavor_xlarge }
476       name: 
477         str_replace:
478           template: base-aai
479           params:
480             base: { get_param: vm_base_name }      
481       key_name: { get_resource: vm_key }
482       networks:
483         - port: { get_resource: aai_private_port }
484       user_data_format: RAW
485       user_data:
486         str_replace:
487           params:
488             __nexus_repo__: { get_param: nexus_repo }
489             __nexus_docker_repo__: { get_param: nexus_docker_repo }
490             __nexus_username__: { get_param: nexus_username }
491             __nexus_password__: { get_param: nexus_password }
492             __dmaap_topic__: { get_param: dmaap_topic }
493             __artifacts_version__: { get_param: artifacts_version }
494             __dns_ip_addr__: { get_param: dns_ip_addr }
495             __sdc_ip_addr__: { get_param: sdc_ip_addr }
496             __docker_version__: { get_param: docker_version }
497             __cloud_env__: { get_param: cloud_env }
498             __external_dns__: { get_param: external_dns }
499           template: |
500             #!/bin/bash
501
502             # Create configuration files
503             mkdir -p /opt/config
504             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
505             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
506             echo "__nexus_username__" > /opt/config/nexus_username.txt
507             echo "__nexus_password__" > /opt/config/nexus_password.txt
508             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
509             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
510             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
511             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
512             echo "__docker_version__" > /opt/config/docker_version.txt
513             echo "__cloud_env__" > /opt/config/cloud_env.txt
514             echo "__external_dns__" > /opt/config/external_dns.txt
515
516             # Download and run install script
517             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
518             cd /opt
519             chmod +x aai_install.sh
520             ./aai_install.sh
521
522
523   # MSO instantiation
524   mso_private_port:
525     type: OS::Neutron::Port
526     properties:
527       network: { get_resource: oam_ecomp }
528       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mso_ip_addr }}]
529
530   mso_floating_ip:
531     type: OS::Neutron::FloatingIP
532     properties:
533       floating_network_id: { get_param: public_net_id }
534       port_id: { get_resource: mso_private_port }
535       floating_ip_address: { get_param: mso_float_ip }
536
537   mso_vm:
538     type: OS::Nova::Server
539     properties:
540       image: { get_param: ubuntu_1604_image }
541       flavor: { get_param: flavor_large }
542       name: 
543         str_replace:
544           template: base-mso
545           params:
546             base: { get_param: vm_base_name }      
547       key_name: { get_resource: vm_key }
548       networks:
549         - port: { get_resource: mso_private_port }
550       user_data_format: RAW
551       user_data:
552         str_replace:
553           params:
554             __nexus_repo__: { get_param: nexus_repo }
555             __nexus_docker_repo__: { get_param: nexus_docker_repo }
556             __nexus_username__: { get_param: nexus_username }
557             __nexus_password__: { get_param: nexus_password }
558             __openstack_username__: { get_param: openstack_username }
559             __openstack_tenant_id__: { get_param: openstack_tenant_id }
560             __openstack_api_key__: { get_param: openstack_api_key }
561             __openstack_region__: { get_param: openstack_region }
562             __keystone_url__: { get_param: keystone_url }
563             __dmaap_topic__: { get_param: dmaap_topic }
564             __artifacts_version__: { get_param: artifacts_version }
565             __dns_ip_addr__: { get_param: dns_ip_addr }
566             __docker_version__: { get_param: docker_version }
567             __gerrit_branch__: { get_param: gerrit_branch }
568             __cloud_env__: { get_param: cloud_env }
569             __external_dns__: { get_param: external_dns }
570           template: |
571             #!/bin/bash
572
573             # Create configuration files
574             mkdir -p /opt/config
575             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
576             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
577             echo "__nexus_username__" > /opt/config/nexus_username.txt
578             echo "__nexus_password__" > /opt/config/nexus_password.txt
579             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
580             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
581             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
582             echo "__openstack_username__" > /opt/config/openstack_username.txt
583             echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
584             echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
585             echo "__openstack_region__" > /opt/config/openstack_region.txt
586             echo "__keystone_url__" > /opt/config/keystone.txt
587             echo "__docker_version__" > /opt/config/docker_version.txt
588             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
589             echo "__cloud_env__" > /opt/config/cloud_env.txt
590             echo "__external_dns__" > /opt/config/external_dns.txt
591
592             # Download and run install script
593             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_install.sh -o /opt/mso_install.sh
594             cd /opt
595             chmod +x mso_install.sh
596             ./mso_install.sh
597
598
599   # Message Router instantiation
600   mrouter_private_port:
601     type: OS::Neutron::Port
602     properties:
603       network: { get_resource: oam_ecomp }
604       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mr_ip_addr }}]
605
606   mrouter_floating_ip:
607     type: OS::Neutron::FloatingIP
608     properties:
609       floating_network_id: { get_param: public_net_id }
610       port_id: { get_resource: mrouter_private_port }
611       floating_ip_address: { get_param: mr_float_ip }
612
613   mrouter_vm:
614     type: OS::Nova::Server
615     properties:
616       image: { get_param: ubuntu_1404_image }
617       flavor: { get_param: flavor_large }
618       name: 
619         str_replace: 
620           template: base-message-router
621           params:
622             base: { get_param: vm_base_name }
623       key_name: { get_resource: vm_key }
624       networks:
625         - port: { get_resource: mrouter_private_port }
626       user_data_format: RAW
627       user_data:
628         str_replace:
629           params:
630             __nexus_repo__: { get_param: nexus_repo }
631             __nexus_docker_repo__: { get_param: nexus_docker_repo }
632             __nexus_username__: { get_param: nexus_username }
633             __nexus_password__: { get_param: nexus_password }
634             __artifacts_version__: { get_param: artifacts_version }
635             __dns_ip_addr__: { get_param: dns_ip_addr }
636             __gerrit_branch__: { get_param: gerrit_branch }
637             __cloud_env__: { get_param: cloud_env }
638             __external_dns__: { get_param: external_dns }
639           template: |
640             #!/bin/bash
641
642             # Create configuration files
643             mkdir -p /opt/config
644             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
645             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
646             echo "__nexus_username__" > /opt/config/nexus_username.txt
647             echo "__nexus_password__" > /opt/config/nexus_password.txt
648             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
649             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
650             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
651             echo "__cloud_env__" > /opt/config/cloud_env.txt
652             echo "__external_dns__" > /opt/config/external_dns.txt
653
654             # Download and run install script
655             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
656             cd /opt
657             chmod +x mr_install.sh
658             ./mr_install.sh
659
660
661   # Robot Framework instantiation
662   robot_private_port:
663     type: OS::Neutron::Port
664     properties:
665       network: { get_resource: oam_ecomp }
666       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: robot_ip_addr }}]
667
668   robot_floating_ip:
669     type: OS::Neutron::FloatingIP
670     properties:
671       floating_network_id: { get_param: public_net_id }
672       port_id: { get_resource: robot_private_port }
673       floating_ip_address: { get_param: robot_float_ip }
674  
675   robot_vm:
676     type: OS::Nova::Server
677     properties:
678       image: { get_param: ubuntu_1604_image }
679       flavor: { get_param: flavor_small }
680       name: 
681         str_replace: 
682           template: base-robot
683           params:
684             base: { get_param: vm_base_name }
685       key_name: { get_resource: vm_key }
686       networks:
687         - port: { get_resource: robot_private_port }
688       user_data_format: RAW
689       user_data:
690         str_replace:
691           params:
692             __nexus_repo__: { get_param: nexus_repo }
693             __nexus_docker_repo__: { get_param: nexus_docker_repo }
694             __nexus_username__: { get_param: nexus_username }
695             __nexus_password__: { get_param: nexus_password }
696             __network_name__: { get_attr: [oam_ecomp, name] }
697             __openstack_username__: { get_param: openstack_username }
698             __openstack_api_key__: { get_param : openstack_api_key }
699             __artifacts_version__: { get_param: artifacts_version }
700             __openstack_region__: { get_param: openstack_region }
701             __dns_ip_addr__: { get_param: dns_ip_addr }
702             __docker_version__: { get_param: docker_version }
703             __gerrit_branch__: { get_param: gerrit_branch }
704             __cloud_env__: { get_param: cloud_env }
705             __external_dns__: { get_param: external_dns }
706           template: |
707             #!/bin/bash
708
709             # Create configuration files
710             mkdir -p /opt/config
711             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
712             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
713             echo "__nexus_username__" > /opt/config/nexus_username.txt
714             echo "__nexus_password__" > /opt/config/nexus_password.txt
715             echo "__network_name__" > /opt/config/network.txt
716             echo "__openstack_username__" > /opt/config/openstack_username.txt
717             echo "__openstack_api_key__" > /opt/config/openstack_password.txt
718             echo "__openstack_region__" > /opt/config/region.txt
719             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
720             echo "__docker_version__" > /opt/config/docker_version.txt
721             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
722             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
723             echo "__cloud_env__" > /opt/config/cloud_env.txt
724             echo "__external_dns__" > /opt/config/external_dns.txt
725
726             # Download and run install script
727             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
728             cd /opt
729             chmod +x robot_install.sh
730             ./robot_install.sh
731
732
733   # VID instantiation
734   vid_private_port:
735     type: OS::Neutron::Port
736     properties:
737       network: { get_resource: oam_ecomp }
738       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: vid_ip_addr }}]
739
740   vid_floating_ip:
741     type: OS::Neutron::FloatingIP
742     properties:
743       floating_network_id: { get_param: public_net_id }
744       port_id: { get_resource: vid_private_port }
745       floating_ip_address: { get_param: vid_float_ip }
746
747   vid_vm:
748     type: OS::Nova::Server
749     properties:
750       image: { get_param: ubuntu_1404_image }
751       flavor: { get_param: flavor_medium }
752       name: 
753         str_replace: 
754           template: base-vid
755           params:
756             base: { get_param: vm_base_name }
757       key_name: { get_resource: vm_key }
758       networks:
759         - port: { get_resource: vid_private_port }
760       user_data_format: RAW
761       user_data:
762         str_replace:
763           params:
764             __nexus_repo__: { get_param: nexus_repo }
765             __nexus_docker_repo__: { get_param: nexus_docker_repo }
766             __nexus_username__: { get_param: nexus_username }
767             __nexus_password__: { get_param: nexus_password }
768             __artifacts_version__: { get_param: artifacts_version }
769             __dns_ip_addr__: { get_param: dns_ip_addr }
770             __docker_version__: { get_param: docker_version }
771             __gerrit_branch__: { get_param: gerrit_branch }
772             __cloud_env__: { get_param: cloud_env }
773             __external_dns__: { get_param: external_dns }
774           template: |
775             #!/bin/bash
776
777             # Create configuration files
778             mkdir -p /opt/config
779             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
780             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
781             echo "__nexus_username__" > /opt/config/nexus_username.txt
782             echo "__nexus_password__" > /opt/config/nexus_password.txt
783             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
784             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
785             echo "__docker_version__" > /opt/config/docker_version.txt
786             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
787             echo "__cloud_env__" > /opt/config/cloud_env.txt
788             echo "__external_dns__" > /opt/config/external_dns.txt
789
790             # Download and run install script
791             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
792             cd /opt
793             chmod +x vid_install.sh
794             ./vid_install.sh
795
796  
797   # SDN-C instantiation
798   sdnc_private_port:
799     type: OS::Neutron::Port
800     properties:
801       network: { get_resource: oam_ecomp }
802       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
803
804   sdnc_floating_ip:
805     type: OS::Neutron::FloatingIP
806     properties:
807       floating_network_id: { get_param: public_net_id }
808       port_id: { get_resource: sdnc_private_port }
809       floating_ip_address: { get_param: sdnc_float_ip }
810
811   sdnc_vm:
812     type: OS::Nova::Server
813     properties:
814       image: { get_param: ubuntu_1404_image }
815       flavor: { get_param: flavor_large }
816       name: 
817         str_replace: 
818           template: base-sdnc
819           params:
820             base: { get_param: vm_base_name }
821       key_name: { get_resource: vm_key }
822       networks:
823         - port: { get_resource: sdnc_private_port }
824       user_data_format: RAW
825       user_data:
826         str_replace:
827           params:
828             __nexus_repo__: { get_param: nexus_repo }
829             __nexus_docker_repo__: { get_param: nexus_docker_repo }
830             __nexus_username__: { get_param: nexus_username }
831             __nexus_password__: { get_param: nexus_password }
832             __artifacts_version__: { get_param: artifacts_version }
833             __dns_ip_addr__: { get_param: dns_ip_addr }
834             __docker_version__: { get_param: docker_version }
835             __gerrit_branch__: { get_param: gerrit_branch }
836             __cloud_env__: { get_param: cloud_env }
837             __external_dns__: { get_param: external_dns }
838           template: |
839             #!/bin/bash
840
841             # Create configuration files
842             mkdir -p /opt/config
843             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
844             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
845             echo "__nexus_username__" > /opt/config/nexus_username.txt
846             echo "__nexus_password__" > /opt/config/nexus_password.txt
847             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
848             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
849             echo "__docker_version__" > /opt/config/docker_version.txt
850             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
851             echo "__cloud_env__" > /opt/config/cloud_env.txt
852             echo "__external_dns__" > /opt/config/external_dns.txt
853
854             # Download and run install script
855             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
856             cd /opt
857             chmod +x sdnc_install.sh
858             ./sdnc_install.sh
859
860
861   # SDC instantiation
862   sdc_private_port:
863     type: OS::Neutron::Port
864     properties:
865       network: { get_resource: oam_ecomp }
866       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
867
868   sdc_floating_ip:
869     type: OS::Neutron::FloatingIP
870     properties:
871       floating_network_id: { get_param: public_net_id }
872       port_id: { get_resource: sdc_private_port }
873       floating_ip_address: { get_param: sdc_float_ip }
874
875   sdc_volume_data:
876     type: OS::Cinder::Volume
877     properties:
878       name: vol1-sdc-data
879       size: 100
880
881   sdc_vm:
882     type: OS::Nova::Server
883     properties:
884       image: { get_param: ubuntu_1604_image }
885       flavor: { get_param: flavor_xlarge }
886       name: 
887         str_replace: 
888           template: base-sdc
889           params:
890             base: { get_param: vm_base_name }
891       key_name: { get_resource: vm_key }
892       networks:
893         - port: { get_resource: sdc_private_port }
894       block_device_mapping:
895         - device_name: /dev/vdb
896           volume_id: {get_resource: sdc_volume_data}
897       user_data_format: RAW
898       user_data:
899         str_replace:
900           params:
901             __nexus_repo__: { get_param: nexus_repo }
902             __nexus_docker_repo__: { get_param: nexus_docker_repo }
903             __nexus_username__: { get_param: nexus_username }
904             __nexus_password__: { get_param: nexus_password }
905             __env_name__: { get_param: dmaap_topic }
906             __artifacts_version__: { get_param: artifacts_version }
907             __dns_ip_addr__: { get_param: dns_ip_addr }
908             __mr_ip_addr__: { get_param: mr_ip_addr }
909             __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
910             __docker_version__: { get_param: docker_version }
911             __gerrit_branch__: { get_param: gerrit_branch }
912             __cloud_env__: { get_param: cloud_env }
913             __external_dns__: { get_param: external_dns }
914           template: |
915             #!/bin/bash
916
917             # Create configuration files
918             mkdir -p /opt/config
919             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
920             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
921             echo "__nexus_username__" > /opt/config/nexus_username.txt
922             echo "__nexus_password__" > /opt/config/nexus_password.txt
923             echo "__env_name__" > /opt/config/env_name.txt
924             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
925             echo "__public_ip__" > /opt/config/public_ip.txt
926             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
927             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
928             echo "__docker_version__" > /opt/config/docker_version.txt
929             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
930             echo "__cloud_env__" > /opt/config/cloud_env.txt
931             echo "__external_dns__" > /opt/config/external_dns.txt
932
933             # Download and run install script
934             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh
935             cd /opt
936             chmod +x asdc_install.sh
937             ./asdc_install.sh
938
939
940   # PORTAL instantiation
941   portal_private_port:
942     type: OS::Neutron::Port
943     properties:
944       network: { get_resource: oam_ecomp }
945       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
946
947   portal_floating_ip:
948     type: OS::Neutron::FloatingIP
949     properties:
950       floating_network_id: { get_param: public_net_id }
951       port_id: { get_resource: portal_private_port }
952       floating_ip_address: { get_param: portal_float_ip }
953
954   portal_vm:
955     type: OS::Nova::Server
956     properties:
957       image: { get_param: ubuntu_1404_image }
958       flavor: { get_param: flavor_large }
959       name: 
960         str_replace: 
961           template: base-portal
962           params:
963             base: { get_param: vm_base_name }
964       key_name: { get_resource: vm_key }
965       networks:
966         - port: { get_resource: portal_private_port }
967       user_data_format: RAW
968       user_data:
969         str_replace:
970           params:
971             __nexus_repo__: { get_param: nexus_repo }
972             __nexus_docker_repo__: { get_param: nexus_docker_repo }
973             __nexus_username__: { get_param: nexus_username }
974             __nexus_password__: { get_param: nexus_password }
975             __artifacts_version__: { get_param: artifacts_version }
976             __dns_ip_addr__: { get_param: dns_ip_addr }
977             __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
978             __docker_version__: { get_param: docker_version }
979             __gerrit_branch__: { get_param: gerrit_branch }
980             __cloud_env__: { get_param: cloud_env }
981             __external_dns__: { get_param: external_dns }
982           template: |
983             #!/bin/bash
984
985             # Create configuration files
986             mkdir -p /opt/config
987             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
988             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
989             echo "__nexus_username__" > /opt/config/nexus_username.txt
990             echo "__nexus_password__" > /opt/config/nexus_password.txt
991             echo "__public_ip__" > /opt/config/public_ip.txt
992             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
993             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
994             echo "__docker_version__" > /opt/config/docker_version.txt
995             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
996             echo "__cloud_env__" > /opt/config/cloud_env.txt
997             echo "__external_dns__" > /opt/config/external_dns.txt
998
999             # Download and run install script
1000             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1001             cd /opt
1002             chmod +x portal_install.sh
1003             ./portal_install.sh
1004
1005
1006   # DCAE Controller instantiation
1007   dcae_c_private_port:
1008     type: OS::Neutron::Port
1009     properties:
1010       network: { get_resource: oam_ecomp }
1011       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1012
1013   dcae_c_floating_ip:
1014     type: OS::Neutron::FloatingIP
1015     properties:
1016       floating_network_id: { get_param: public_net_id }
1017       port_id: { get_resource: dcae_c_private_port }
1018       floating_ip_address: { get_param: dcae_float_ip }
1019
1020   dcae_c_vm:
1021     type: OS::Nova::Server
1022     properties:
1023       image: { get_param: ubuntu_1404_image }
1024       flavor: { get_param: flavor_medium }
1025       name: 
1026         str_replace: 
1027           template: base-dcae-controller
1028           params:
1029             base: { get_param: vm_base_name }
1030       key_name: { get_resource: vm_key }
1031       networks:
1032         - port: { get_resource: dcae_c_private_port }
1033       user_data_format: RAW
1034       user_data:
1035         str_replace:
1036           params:
1037             __nexus_repo__: { get_param: nexus_repo }
1038             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1039             __nexus_username__: { get_param: nexus_username }
1040             __nexus_password__: { get_param: nexus_password }
1041             __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1042             __gitlab_branch__: { get_param: gitlab_branch }
1043             __dns_ip_addr__: { get_param: dns_ip_addr }
1044             __dcae_zone__: { get_param: dcae_zone }
1045             __dcae_state__: { get_param: dcae_state }
1046             __artifacts_version__: { get_param: artifacts_version }
1047             __tenant_id__: { get_param: openstack_tenant_id }
1048             __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
1049             __openstack_user__: { get_param: openstack_username }
1050             __openstack_password__: { get_param: openstack_api_key }
1051             __openstack_auth_method__: { get_param: openstack_auth_method }
1052             __key_name__: { get_param: key_name }
1053             __rand_str__: { get_resource: random-str }
1054             __pub_key__: { get_param: pub_key }
1055             __nexus_repo_root__: { get_param: nexus_repo_root }
1056             __openstack_region__: { get_param: openstack_region }
1057             __horizon_url__: { get_param: horizon_url }
1058             __keystone_url__: { get_param: keystone_url }
1059             __docker_version__: { get_param: docker_version }
1060             __gerrit_branch__: { get_param: gerrit_branch }
1061             __dcae_code_version__: { get_param: dcae_code_version }
1062             __cloud_env__: { get_param: cloud_env }
1063             __public_net_id__: { get_param: public_net_id }
1064             __dcae_base_environment__: { get_param: dcae_base_environment }
1065             __dcae_ip_addr__: { get_param: dcae_ip_addr }
1066             __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1067             __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1068             __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1069             __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1070             __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1071             __dcae_float_ip__: { get_param: dcae_float_ip }
1072             __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip }
1073             __dcae_db_float_ip__: { get_param: dcae_db_float_ip }
1074             __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip }
1075             __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip }
1076             __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip }
1077             __external_dns__: { get_param: external_dns }
1078             __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1079             __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1080             __flavor_small__: { get_param: flavor_small }
1081             __flavor_medium__: { get_param: flavor_medium }
1082             __flavor_large__: { get_param: flavor_large }
1083             __flavor_xlarge__: { get_param: flavor_xlarge }
1084           template: |
1085             #!/bin/bash
1086
1087             # Create configuration files
1088             mkdir -p /opt/config
1089             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1090             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1091             echo "__nexus_username__" > /opt/config/nexus_username.txt
1092             echo "__nexus_password__" > /opt/config/nexus_password.txt
1093             echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1094             echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1095             echo "__docker_version__" > /opt/config/docker_version.txt
1096             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1097             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1098             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1099             echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1100             echo "__dcae_state__" > /opt/config/dcae_state.txt
1101             echo "__tenant_id__" > /opt/config/tenant_id.txt
1102             echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1103             echo "__openstack_user__" > /opt/config/openstack_user.txt
1104             echo "__openstack_password__" > /opt/config/openstack_password.txt
1105             echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1106             echo "__key_name__" > /opt/config/key_name.txt
1107             echo "__rand_str__" > /opt/config/rand_str.txt
1108             echo "__pub_key__" > /opt/config/pub_key.txt
1109             echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1110             echo "__openstack_region__" > /opt/config/openstack_region.txt
1111             echo "__horizon_url__" > /opt/config/horizon_url.txt
1112             echo "__keystone_url__" > /opt/config/keystone_url.txt
1113             echo "__cloud_env__" > /opt/config/cloud_env.txt
1114             echo "__public_net_id__" > /opt/config/public_net_id.txt
1115             echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1116             echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1117             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1118             echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1119             echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1120             echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1121             echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1122             echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1123             echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1124             echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt
1125             echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt
1126             echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt
1127             echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt
1128             echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt
1129             echo "__external_dns__" > /opt/config/external_dns.txt
1130             echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1131             echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1132             echo "__flavor_small__" > /opt/config/flavor_small.txt
1133             echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1134             echo "__flavor_large__" > /opt/config/flavor_large.txt
1135             echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1136
1137             # Download and run install script
1138             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1139             cd /opt
1140             chmod +x dcae_install.sh
1141             ./dcae_install.sh
1142
1143
1144   # Policy Engine instantiation
1145   policy_private_port:
1146     type: OS::Neutron::Port
1147     properties:
1148       network: { get_resource: oam_ecomp }
1149       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1150
1151   policy_floating_ip:
1152     type: OS::Neutron::FloatingIP
1153     properties:
1154       floating_network_id: { get_param: public_net_id }
1155       port_id: { get_resource: policy_private_port }
1156       floating_ip_address: { get_param: policy_float_ip }
1157
1158   policy_vm:
1159     type: OS::Nova::Server
1160     properties:
1161       image: { get_param: ubuntu_1404_image }
1162       flavor: { get_param: flavor_xlarge }
1163       name: 
1164         str_replace: 
1165           template: base-policy
1166           params:
1167             base: { get_param: vm_base_name }
1168       key_name: { get_resource: vm_key }
1169       networks:
1170         - port: { get_resource: policy_private_port }
1171       user_data_format: RAW
1172       user_data:
1173         str_replace:
1174           params:
1175             __nexus_repo__: { get_param: nexus_repo }
1176             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1177             __nexus_username__: { get_param: nexus_username }
1178             __nexus_password__: { get_param: nexus_password }
1179             __artifacts_version__: { get_param: artifacts_version }
1180             __dns_ip_addr__: { get_param: dns_ip_addr }
1181             __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1182             __docker_version__: { get_param: docker_version }
1183             __gerrit_branch__: { get_param: gerrit_branch }
1184             __cloud_env__: { get_param: cloud_env }
1185             __external_dns__: { get_param: external_dns }
1186           template: |
1187             #!/bin/bash
1188
1189             # Create configuration files
1190             mkdir -p /opt/config
1191             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1192             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1193             echo "__nexus_username__" > /opt/config/nexus_username.txt
1194             echo "__nexus_password__" > /opt/config/nexus_password.txt
1195             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1196             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1197             echo "__public_ip__" > /opt/config/public_ip.txt
1198             echo "__docker_version__" > /opt/config/docker_version.txt
1199             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1200             echo "__cloud_env__" > /opt/config/cloud_env.txt
1201             echo "__external_dns__" > /opt/config/external_dns.txt
1202
1203             # Download and run install script
1204             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1205             cd /opt
1206             chmod +x policy_install.sh
1207             ./policy_install.sh
1208
1209
1210   # APP-C instantiation
1211   appc_private_port:
1212     type: OS::Neutron::Port
1213     properties:
1214       network: { get_resource: oam_ecomp }
1215       fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1216
1217   appc_floating_ip:
1218     type: OS::Neutron::FloatingIP
1219     properties:
1220       floating_network_id: { get_param: public_net_id }
1221       port_id: { get_resource: appc_private_port }
1222       floating_ip_address: { get_param: appc_float_ip }
1223
1224   appc_vm:
1225     type: OS::Nova::Server
1226     properties:
1227       image: { get_param: ubuntu_1404_image }
1228       flavor: { get_param: flavor_large }
1229       name: 
1230         str_replace: 
1231           template: base-appc
1232           params:
1233             base: { get_param: vm_base_name }
1234       key_name: { get_resource: vm_key }
1235       networks:
1236         - port: { get_resource: appc_private_port }
1237       user_data_format: RAW
1238       user_data:
1239         str_replace:
1240           params:
1241             __nexus_repo__: { get_param: nexus_repo }
1242             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1243             __nexus_username__: { get_param: nexus_username }
1244             __nexus_password__: { get_param: nexus_password }
1245             __dmaap_topic__: { get_param: dmaap_topic }
1246             __artifacts_version__: { get_param: artifacts_version }
1247             __dns_ip_addr__: { get_param: dns_ip_addr }
1248             __docker_version__: { get_param: docker_version }
1249             __gerrit_branch__: { get_param: gerrit_branch }
1250             __cloud_env__: { get_param: cloud_env }
1251             __external_dns__: { get_param: external_dns }
1252           template: |
1253             #!/bin/bash
1254
1255             # Create configuration files
1256             mkdir -p /opt/config
1257             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1258             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1259             echo "__nexus_username__" > /opt/config/nexus_username.txt
1260             echo "__nexus_password__" > /opt/config/nexus_password.txt
1261             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1262             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1263             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1264             echo "__docker_version__" > /opt/config/docker_version.txt
1265             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1266             echo "__cloud_env__" > /opt/config/cloud_env.txt
1267             echo "__external_dns__" > /opt/config/external_dns.txt
1268
1269             # Download and run install script
1270             curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1271             cd /opt
1272             chmod +x appc_install.sh
1273             ./appc_install.sh