Update Heat template for ONAP installation
[demo.git] / heat / ONAP / onap_openstack_float.yaml
1 ##########################################################################
2 #
3 #==================LICENSE_START==========================================
4
5 #
6 # Copyright © 2017 AT&T Intellectual Property. All rights reserved.
7 #
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
11 #        http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19 #==================LICENSE_END============================================
20 #
21 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
22 #
23 ##########################################################################
24
25 heat_template_version: 2015-10-15
26
27 description: Heat template to install ONAP components
28
29 ##############
30 #            #
31 # PARAMETERS #
32 #            #
33 ##############
34
35 parameters:
36
37   ##############################################
38   #                                            #
39   # Parameters used across all ONAP components #
40   #                                            #
41   ##############################################
42
43   public_net_id:
44     type: string
45     description: Public network for floating IP address allocation
46
47   public_subnet_id:
48     type: string
49     description: Public subnet for floating IP address allocation
50
51   router_gateway_ip:
52     type: string
53     description: Router gateway IP address
54
55   ubuntu_1404_image:
56     type: string
57     description: Name of the Ubuntu 14.04 image
58
59   ubuntu_1604_image:
60     type: string
61     description: Name of the Ubuntu 16.04 image
62
63   centos_7_image:
64     type: string
65     description: Name of the CentOS 7 image
66
67   flavor_small:
68     type: string
69     description: Name of the Small Flavor supported by the cloud provider
70
71   flavor_medium:
72     type: string
73     description: Name of the Medium Flavor supported by the cloud provider
74
75   flavor_large:
76     type: string
77     description: Name of the Large Flavor supported by the cloud provider
78
79   flavor_xlarge:
80     type: string
81     description: Name of the Extra Large Flavor supported by the cloud provider
82
83   flavor_xxlarge:
84     type: string
85     description: Name of the Extra Extra Large Flavor supported by the cloud provider
86
87   security_group:
88     type: string
89     description: Security group used by DCAE GEN 2
90
91   vm_base_name:
92     type: string
93     description: Base name of ONAP VMs
94
95   key_name:
96     type: string
97     description: Public/Private key pair name
98
99   dcae_key_name:
100     type: string
101     description: Public/Private key pair name for DCAE GEN 2
102
103   pub_key:
104     type: string
105     description: Public key to be installed on the compute instance
106
107   dcae_pub_key:
108     type: string
109     description: Public key to be installed on the DCAE GEN 2 compute instance
110
111   nexus_repo:
112     type: string
113     description: Complete URL for the Nexus repository.
114
115   nexus_docker_repo:
116     type: string
117     description: Complete URL for the Nexus repository for docker images.
118
119   nexus_username:
120     type: string
121     description: Nexus Repository username
122
123   nexus_password:
124     type: string
125     description: Nexus Repository Password
126
127   artifacts_version:
128     type: string
129     description: Artifacts version of ONAP components
130
131   dmaap_topic:
132     type: string
133     description: DMaaP Topic name
134
135   openstack_tenant_id:
136     type: string
137     description: Openstack tenant ID
138
139   openstack_username:
140     type: string
141     description: Openstack username
142
143   openstack_auth_method:
144     type: string
145     description: Openstack authentication method (password VS. api-key)
146
147   openstack_api_key:
148     type: string
149     description: Openstack password or API Key
150
151   horizon_url:
152     type: string
153     description: URL of Openstack Horizon
154
155   keystone_url:
156     type: string
157     description: URL of Openstack Keystone
158
159   cloud_env:
160     type: string
161     description: Cloud Provider Name
162
163
164   ######################
165   #                    #
166   # Network parameters #
167   #                    #
168   ######################
169
170   dns_list:
171     type: comma_delimited_list
172     description: List of External DNS for OAM ONAP network
173
174   external_dns:
175     type: string
176     description: First element of the dns_list for ONAP network
177
178   oam_network_cidr:
179     type: string
180     description: CIDR of the OAM ONAP network
181
182   ### Floating IP addresses ###
183   aai1_float_ip:
184     type: string
185   aai2_float_ip:
186     type: string
187   appc_float_ip:
188     type: string
189   dcae_float_ip:
190     type: string
191   dcae_coll_float_ip:
192     type: string
193   dcae_db_float_ip:
194     type: string
195   dcae_hdp1_float_ip:
196     type: string
197   dcae_hdp2_float_ip:
198     type: string
199   dcae_hdp3_float_ip:
200     type: string
201   dns_float_ip:
202     type: string
203   so_float_ip:
204     type: string
205   mr_float_ip:
206     type: string
207   policy_float_ip:
208     type: string
209   portal_float_ip:
210     type: string
211   robot_float_ip:
212     type: string
213   sdc_float_ip:
214     type: string
215   sdnc_float_ip:
216     type: string
217   vid_float_ip:
218     type: string
219   clamp_float_ip:
220     type: string
221   openo_float_ip:
222     type: string
223  
224   ### Private IP addresses ###
225
226   aai1_ip_addr:
227     type: string
228   aai2_ip_addr:
229     type: string
230   appc_ip_addr:
231     type: string
232   dcae_ip_addr:
233     type: string
234   dcae_coll_ip_addr:
235     type: string
236   dcae_db_ip_addr:
237     type: string
238   dcae_hdp1_ip_addr:
239     type: string
240   dcae_hdp2_ip_addr:
241     type: string
242   dcae_hdp3_ip_addr:
243     type: string
244   dns_ip_addr:
245     type: string
246   so_ip_addr:
247     type: string
248   mr_ip_addr:
249     type: string
250   policy_ip_addr:
251     type: string
252   portal_ip_addr:
253     type: string
254   robot_ip_addr:
255     type: string
256   sdc_ip_addr:
257     type: string
258   sdnc_ip_addr:
259     type: string
260   vid_ip_addr:
261     type: string
262   clamp_ip_addr:
263     type: string
264   openo_ip_addr:
265     type: string
266
267
268   ###########################
269   #                         #
270   # Parameters used by DCAE #
271   #                         #
272   ###########################
273
274   dcae_base_environment:
275     type: string
276     description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS)
277
278   dcae_zone:
279     type: string
280     description: DCAE Zone to use in VM names created by DCAE controller
281
282   dcae_state:
283     type: string
284     description: DCAE State to use in VM names created by DCAE controller
285
286   nexus_repo_root:
287     type: string
288     description: Root URL of Nexus repository
289
290   nexus_url_snapshot:
291     type: string
292     description: Snapshot of Maven repository for DCAE deployment
293
294   openstack_region:
295     type: string
296     description: Region where the DCAE controller will spin the VMs
297
298   gitlab_branch:
299     type: string
300     description: Branch of the Gitlab repository
301     
302   dcae_code_version:
303     type: string
304     description: DCAE Code Version Number
305
306   #####################
307   #                   #
308   # ONAP repositories #
309   #                   #
310   #####################
311
312   aai_repo:
313     type: string
314   appc_repo:
315     type: string
316   dcae_repo:
317     type: string
318   mr_repo:
319     type: string
320   so_repo:
321     type: string
322   policy_repo:
323     type: string
324   portal_repo:
325     type: string
326   robot_repo:
327     type: string
328   sdc_repo:
329     type: string
330   sdnc_repo:
331     type: string
332   vid_repo:
333     type: string
334   clamp_repo:
335     type: string
336   vnfsdk_repo:
337     type: string
338
339   ################################
340   #                              #
341   # Docker versions and branches #
342   #                              #
343   ################################
344
345   aai_docker:
346     type: string
347   appc_docker:
348     type: string
349   so_docker:
350     type: string
351   mr_docker:
352     type: string
353   dcae_docker:
354     type: string
355   policy_docker:
356     type: string
357   portal_docker:
358     type: string
359   robot_docker:
360     type: string
361   sdc_docker:
362     type: string
363   sdnc_docker:
364     type: string
365   vid_docker:
366     type: string
367   clamp_docker:
368     type: string
369   msb_docker:
370     type: string
371   mvim_docker:
372     type: string
373   vfc_docker:
374     type: string
375   uui_docker:
376     type: string
377   dgbuilder_docker:
378     type: string
379
380   aai_branch:
381     type: string
382   appc_branch:
383     type: string
384   so_branch:
385     type: string
386   mr_branch:
387     type: string
388   dcae_branch:
389     type: string
390   policy_branch:
391     type: string
392   portal_branch:
393     type: string
394   robot_branch:
395     type: string
396   sdc_branch:
397     type: string
398   sdnc_branch:
399     type: string
400   vid_branch:
401     type: string
402   clamp_branch:
403     type: string
404   vnfsdk_branch:
405     type: string
406
407
408 #############
409 #           #
410 # RESOURCES #
411 #           #
412 #############
413
414 resources:
415   random-str:
416     type: OS::Heat::RandomString
417     properties:
418       length: 4
419
420
421   # Public key used to access ONAP components
422   vm_key:
423     type: OS::Nova::KeyPair
424     properties:
425       name:
426         str_replace:
427           template: base_rand
428           params:
429             base: { get_param: key_name }
430             rand: { get_resource: random-str }
431       public_key: { get_param: pub_key }
432       save_private_key: false
433
434   # Public key used to access DCAE GEN 2
435   dcae_vm_key:
436     type: OS::Nova::KeyPair
437     properties:
438       name:
439         str_replace:
440           template: base_rand
441           params:
442             base: { get_param: dcae_key_name }
443             rand: { get_resource: random-str }
444       public_key: { get_param: dcae_pub_key }
445       save_private_key: true
446
447   # ONAP management private network
448   oam_onap:
449     type: OS::Neutron::Net
450     properties:
451       name:
452         str_replace:
453           template: oam_onap_rand
454           params:
455             rand: { get_resource: random-str }
456
457   oam_onap_subnet:
458     type: OS::Neutron::Subnet
459     properties:
460       name:
461         str_replace:
462           template: oam_onap_rand
463           params:
464             rand: { get_resource: random-str }
465       network_id: { get_resource: oam_onap }
466       cidr: { get_param: oam_network_cidr }
467       dns_nameservers: { get_param: dns_list }
468
469   router:
470     type: OS::Neutron::Router
471     properties:
472       external_gateway_info:
473         network: { get_param: public_net_id }
474         external_fixed_ips:
475           - ip_address: { get_param: router_gateway_ip }
476             subnet: { get_param: public_subnet_id }
477
478   router_interface:
479     type: OS::Neutron::RouterInterface
480     properties:
481       router_id: { get_resource: router }
482       subnet_id: { get_resource: oam_onap_subnet }
483
484
485   # DNS Server instantiation
486   dns_private_port:
487     type: OS::Neutron::Port
488     properties:
489       network: { get_resource: oam_onap }
490       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dns_ip_addr }}]
491
492   dns_floating_ip:
493     type: OS::Neutron::FloatingIP
494     properties:
495       floating_network_id: { get_param: public_net_id }
496       port_id: { get_resource: dns_private_port }
497       floating_ip_address: { get_param: dns_float_ip }
498
499   dns_vm:
500     type: OS::Nova::Server
501     properties:
502       image: { get_param: ubuntu_1404_image }
503       flavor: { get_param: flavor_small }
504       name:
505         str_replace:
506           template: base-dns-server
507           params:
508             base: { get_param: vm_base_name }
509       key_name: { get_resource: vm_key }
510       networks:
511         - port: { get_resource: dns_private_port }
512       user_data_format: RAW
513       user_data:
514         str_replace:
515           params:
516             __nexus_repo__: { get_param: nexus_repo }
517             __artifacts_version__: { get_param: artifacts_version }
518             __oam_network_cidr__: { get_attr: [oam_onap_subnet, cidr] }
519             __dns_ip_addr__: { get_param: dns_ip_addr }
520             __aai1_ip_addr__: { get_param: aai1_ip_addr }
521             __aai2_ip_addr__: { get_param: aai2_ip_addr }
522             __appc_ip_addr__: { get_param: appc_ip_addr }
523             __dcae_ip_addr__: { get_param: dcae_ip_addr }
524             __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
525             __so_ip_addr__: { get_param: so_ip_addr }
526             __mr_ip_addr__: { get_param: mr_ip_addr }
527             __policy_ip_addr__: { get_param: policy_ip_addr }
528             __portal_ip_addr__: { get_param: portal_ip_addr }
529             __robot_ip_addr__: { get_param: robot_ip_addr }
530             __sdc_ip_addr__: { get_param: sdc_ip_addr }
531             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
532             __vid_ip_addr__: { get_param: vid_ip_addr }
533             __clamp_ip_addr__: { get_param: clamp_ip_addr }
534             __openo_ip_addr__: { get_param: openo_ip_addr }
535             __cloud_env__: { get_param: cloud_env }
536             __external_dns__: { get_param: external_dns }
537           template: |
538             #!/bin/bash
539
540             # Create configuration files
541             mkdir -p /opt/config
542             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
543             echo "__cloud_env__" > /opt/config/cloud_env.txt
544             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
545             echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
546             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
547             echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
548             echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
549             echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
550             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
551             echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
552             echo "__so_ip_addr__" > /opt/config/so_ip_addr.txt
553             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
554             echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
555             echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
556             echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt
557             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
558             echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
559             echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
560             echo "__clamp_ip_addr__" > /opt/config/clamp_ip_addr.txt
561             echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
562             echo "__external_dns__" > /opt/config/external_dns.txt
563
564             # Download and run install script
565             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
566             cd /opt
567             chmod +x dns_install.sh
568             ./dns_install.sh
569
570
571   # A&AI instantiation (2 VMs)
572   aai1_private_port:
573     type: OS::Neutron::Port
574     properties:
575       network: { get_resource: oam_onap }
576       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: aai1_ip_addr }}]
577
578   aai1_floating_ip:
579     type: OS::Neutron::FloatingIP
580     properties:
581       floating_network_id: { get_param: public_net_id }
582       port_id: { get_resource: aai1_private_port }
583       floating_ip_address: { get_param: aai1_float_ip }
584
585   aai1_vm:
586     type: OS::Nova::Server
587     depends_on: aai2_vm
588     properties:
589       image: { get_param: ubuntu_1404_image }
590       flavor: { get_param: flavor_xlarge }
591       name:
592         str_replace:
593           template: base-aai-inst1
594           params:
595             base: { get_param: vm_base_name }      
596       key_name: { get_resource: vm_key }
597       networks:
598         - port: { get_resource: aai1_private_port }
599       user_data_format: RAW
600       user_data:
601         str_replace:
602           params:
603             __nexus_repo__: { get_param: nexus_repo }
604             __nexus_docker_repo__: { get_param: nexus_docker_repo }
605             __nexus_username__: { get_param: nexus_username }
606             __nexus_password__: { get_param: nexus_password }
607             __dmaap_topic__: { get_param: dmaap_topic }
608             __artifacts_version__: { get_param: artifacts_version }
609             __dns_ip_addr__: { get_param: dns_ip_addr }
610             __docker_version__: { get_param: aai_docker }
611             __cloud_env__: { get_param: cloud_env }
612             __gerrit_branch__: { get_param: aai_branch }
613             __external_dns__: { get_param: external_dns }
614             __aai_repo__: { get_param: aai_repo }
615           template: |
616             #!/bin/bash
617
618             # Create configuration files
619             mkdir -p /opt/config
620             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
621             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
622             echo "__nexus_username__" > /opt/config/nexus_username.txt
623             echo "__nexus_password__" > /opt/config/nexus_password.txt
624             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
625             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
626             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
627             echo "__docker_version__" > /opt/config/docker_version.txt
628             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
629             echo "aai_instance_1" > /opt/config/aai_instance.txt
630             echo "__cloud_env__" > /opt/config/cloud_env.txt
631             echo "__external_dns__" > /opt/config/external_dns.txt
632             echo "__aai_repo__" > /opt/config/remote_repo.txt
633
634             # Download and run install script
635             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
636             cd /opt
637             chmod +x aai_install.sh
638             ./aai_install.sh
639
640
641   aai2_private_port:
642     type: OS::Neutron::Port
643     properties:
644       network: { get_resource: oam_onap }
645       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: aai2_ip_addr }}]
646
647   aai2_floating_ip:
648     type: OS::Neutron::FloatingIP
649     properties:
650       floating_network_id: { get_param: public_net_id }
651       port_id: { get_resource: aai2_private_port }
652       floating_ip_address: { get_param: aai2_float_ip }
653
654   aai2_vm:
655     type: OS::Nova::Server
656     properties:
657       image: { get_param: ubuntu_1404_image }
658       flavor: { get_param: flavor_xlarge }
659       name:
660         str_replace:
661           template: base-aai-inst2
662           params:
663             base: { get_param: vm_base_name }      
664       key_name: { get_resource: vm_key }
665       networks:
666         - port: { get_resource: aai2_private_port }
667       user_data_format: RAW
668       user_data:
669         str_replace:
670           params:
671             __nexus_repo__: { get_param: nexus_repo }
672             __nexus_docker_repo__: { get_param: nexus_docker_repo }
673             __nexus_username__: { get_param: nexus_username }
674             __nexus_password__: { get_param: nexus_password }
675             __dmaap_topic__: { get_param: dmaap_topic }
676             __artifacts_version__: { get_param: artifacts_version }
677             __dns_ip_addr__: { get_param: dns_ip_addr }
678             __docker_version__: { get_param: aai_docker }
679             __cloud_env__: { get_param: cloud_env }
680             __gerrit_branch__: { get_param: aai_branch }
681             __external_dns__: { get_param: external_dns }
682             __aai_repo__: { get_param: aai_repo }
683           template: |
684             #!/bin/bash
685
686             # Create configuration files
687             mkdir -p /opt/config
688             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
689             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
690             echo "__nexus_username__" > /opt/config/nexus_username.txt
691             echo "__nexus_password__" > /opt/config/nexus_password.txt
692             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
693             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
694             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
695             echo "__docker_version__" > /opt/config/docker_version.txt
696             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
697             echo "aai_instance_2" > /opt/config/aai_instance.txt
698             echo "__cloud_env__" > /opt/config/cloud_env.txt
699             echo "__external_dns__" > /opt/config/external_dns.txt
700             echo "__aai_repo__" > /opt/config/remote_repo.txt
701
702             # Download and run install script
703             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
704             cd /opt
705             chmod +x aai_install.sh
706             ./aai_install.sh
707
708
709   # SO instantiation
710   so_private_port:
711     type: OS::Neutron::Port
712     properties:
713       network: { get_resource: oam_onap }
714       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: so_ip_addr }}]
715
716   so_floating_ip:
717     type: OS::Neutron::FloatingIP
718     properties:
719       floating_network_id: { get_param: public_net_id }
720       port_id: { get_resource: so_private_port }
721       floating_ip_address: { get_param: so_float_ip }
722
723   so_vm:
724     type: OS::Nova::Server
725     properties:
726       image: { get_param: ubuntu_1604_image }
727       flavor: { get_param: flavor_large }
728       name:
729         str_replace:
730           template: base-so
731           params:
732             base: { get_param: vm_base_name }      
733       key_name: { get_resource: vm_key }
734       networks:
735         - port: { get_resource: so_private_port }
736       user_data_format: RAW
737       user_data:
738         str_replace:
739           params:
740             __nexus_repo__: { get_param: nexus_repo }
741             __nexus_docker_repo__: { get_param: nexus_docker_repo }
742             __nexus_username__: { get_param: nexus_username }
743             __nexus_password__: { get_param: nexus_password }
744             __openstack_username__: { get_param: openstack_username }
745             __openstack_tenant_id__: { get_param: openstack_tenant_id }
746             __openstack_api_key__: { get_param: openstack_api_key }
747             __openstack_region__: { get_param: openstack_region }
748             __keystone_url__: { get_param: keystone_url }
749             __dmaap_topic__: { get_param: dmaap_topic }
750             __artifacts_version__: { get_param: artifacts_version }
751             __dns_ip_addr__: { get_param: dns_ip_addr }
752             __docker_version__: { get_param: so_docker }
753             __gerrit_branch__: { get_param: so_branch }
754             __cloud_env__: { get_param: cloud_env }
755             __external_dns__: { get_param: external_dns }
756             __so_repo__: { get_param: so_repo }
757           template: |
758             #!/bin/bash
759
760             # Create configuration files
761             mkdir -p /opt/config
762             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
763             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
764             echo "__nexus_username__" > /opt/config/nexus_username.txt
765             echo "__nexus_password__" > /opt/config/nexus_password.txt
766             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
767             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
768             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
769             echo "__openstack_username__" > /opt/config/openstack_username.txt
770             echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
771             echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
772             echo "__openstack_region__" > /opt/config/openstack_region.txt
773             echo "__keystone_url__" > /opt/config/keystone.txt
774             echo "__docker_version__" > /opt/config/docker_version.txt
775             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
776             echo "__cloud_env__" > /opt/config/cloud_env.txt
777             echo "__external_dns__" > /opt/config/external_dns.txt
778             echo "__so_repo__" > /opt/config/remote_repo.txt
779
780             # Download and run install script
781             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/so_install.sh -o /opt/so_install.sh
782             cd /opt
783             chmod +x so_install.sh
784             ./so_install.sh
785
786
787   # Message Router instantiation
788   mrouter_private_port:
789     type: OS::Neutron::Port
790     properties:
791       network: { get_resource: oam_onap }
792       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: mr_ip_addr }}]
793
794   mrouter_floating_ip:
795     type: OS::Neutron::FloatingIP
796     properties:
797       floating_network_id: { get_param: public_net_id }
798       port_id: { get_resource: mrouter_private_port }
799       floating_ip_address: { get_param: mr_float_ip }
800
801   mrouter_vm:
802     type: OS::Nova::Server
803     properties:
804       image: { get_param: ubuntu_1404_image }
805       flavor: { get_param: flavor_large }
806       name:
807         str_replace: 
808           template: base-message-router
809           params:
810             base: { get_param: vm_base_name }
811       key_name: { get_resource: vm_key }
812       networks:
813         - port: { get_resource: mrouter_private_port }
814       user_data_format: RAW
815       user_data:
816         str_replace:
817           params:
818             __nexus_repo__: { get_param: nexus_repo }
819             __nexus_docker_repo__: { get_param: nexus_docker_repo }
820             __nexus_username__: { get_param: nexus_username }
821             __nexus_password__: { get_param: nexus_password }
822             __artifacts_version__: { get_param: artifacts_version }
823             __dns_ip_addr__: { get_param: dns_ip_addr }
824             __gerrit_branch__: { get_param: mr_branch }
825             __cloud_env__: { get_param: cloud_env }
826             __external_dns__: { get_param: external_dns }
827             __mr_repo__: { get_param: mr_repo }
828           template: |
829             #!/bin/bash
830
831             # Create configuration files
832             mkdir -p /opt/config
833             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
834             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
835             echo "__nexus_username__" > /opt/config/nexus_username.txt
836             echo "__nexus_password__" > /opt/config/nexus_password.txt
837             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
838             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
839             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
840             echo "__cloud_env__" > /opt/config/cloud_env.txt
841             echo "__external_dns__" > /opt/config/external_dns.txt
842             echo "__mr_repo__" > /opt/config/remote_repo.txt
843
844             # Download and run install script
845             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
846             cd /opt
847             chmod +x mr_install.sh
848             ./mr_install.sh
849
850
851   # Robot Framework instantiation
852   robot_private_port:
853     type: OS::Neutron::Port
854     properties:
855       network: { get_resource: oam_onap }
856       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: robot_ip_addr }}]
857
858   robot_floating_ip:
859     type: OS::Neutron::FloatingIP
860     properties:
861       floating_network_id: { get_param: public_net_id }
862       port_id: { get_resource: robot_private_port }
863       floating_ip_address: { get_param: robot_float_ip }
864  
865   robot_vm:
866     type: OS::Nova::Server
867     properties:
868       image: { get_param: ubuntu_1604_image }
869       flavor: { get_param: flavor_medium }
870       name:
871         str_replace: 
872           template: base-robot
873           params:
874             base: { get_param: vm_base_name }
875       key_name: { get_resource: vm_key }
876       networks:
877         - port: { get_resource: robot_private_port }
878       user_data_format: RAW
879       user_data:
880         str_replace:
881           params:
882             __nexus_repo__: { get_param: nexus_repo }
883             __nexus_docker_repo__: { get_param: nexus_docker_repo }
884             __nexus_username__: { get_param: nexus_username }
885             __nexus_password__: { get_param: nexus_password }
886             __network_name__: { get_attr: [oam_onap, name] }
887             __openstack_username__: { get_param: openstack_username }
888             __openstack_api_key__: { get_param : openstack_api_key }
889             __openstack_tenant_id__: { get_param: openstack_tenant_id }
890             __artifacts_version__: { get_param: artifacts_version }
891             __openstack_region__: { get_param: openstack_region }
892             __dns_ip_addr__: { get_param: dns_ip_addr }
893             __docker_version__: { get_param: robot_docker }
894             __gerrit_branch__: { get_param: robot_branch }
895             __keystone_url__: { get_param: keystone_url }
896             __aai1_ip_addr__: { get_param: aai1_ip_addr }
897             __aai2_ip_addr__: { get_param: aai2_ip_addr }
898             __appc_ip_addr__: { get_param: appc_ip_addr }
899             __dcae_ip_addr__: { get_param: dcae_ip_addr }
900             __so_ip_addr__: { get_param: so_ip_addr }
901             __mr_ip_addr__: { get_param: mr_ip_addr }
902             __policy_ip_addr__: { get_param: policy_ip_addr }
903             __portal_ip_addr__: { get_param: portal_ip_addr }
904             __sdc_ip_addr__: { get_param: sdc_ip_addr }
905             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
906             __vid_ip_addr__: { get_param: vid_ip_addr }
907             __clamp_ip_addr__: { get_param: clamp_ip_addr }
908             __openo_ip_addr__: { get_param: openo_ip_addr }
909             __cloud_env__: { get_param: cloud_env }
910             __external_dns__: { get_param: external_dns }
911             __vm_image_name__: { get_param: ubuntu_1404_image }
912             __vm_flavor__: { get_param: flavor_medium }
913             __robot_repo__: { get_param: robot_repo }
914           template: |
915             #!/bin/bash
916
917             # Create configuration files
918             mkdir -p /opt/config
919             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
920             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
921             echo "__nexus_username__" > /opt/config/nexus_username.txt
922             echo "__nexus_password__" > /opt/config/nexus_password.txt
923             echo "__network_name__" > /opt/config/network.txt
924             echo "__openstack_username__" > /opt/config/openstack_username.txt
925             echo "__openstack_api_key__" > /opt/config/openstack_password.txt
926             echo "__openstack_tenant_id__" > /opt/config/openstack_tenant_id.txt
927             echo "__openstack_region__" > /opt/config/region.txt
928             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
929             echo "__docker_version__" > /opt/config/docker_version.txt
930             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
931             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
932             echo "__keystone_url__" > /opt/config/keystone.txt
933             echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
934             echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
935             echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
936             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
937             echo "__so_ip_addr__" > /opt/config/so_ip_addr.txt
938             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
939             echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
940             echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
941             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
942             echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
943             echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
944             echo "__clamp_ip_addr__" > /opt/config/clamp_ip_addr.txt
945             echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
946             echo "__cloud_env__" > /opt/config/cloud_env.txt
947             echo "__external_dns__" > /opt/config/external_dns.txt
948             echo "__vm_image_name__" > /opt/config/vm_image_name.txt
949             echo "__vm_flavor__" > /opt/config/vm_flavor.txt
950             echo "__robot_repo__" > /opt/config/remote_repo.txt
951
952             # Download and run install script
953             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
954             cd /opt
955             chmod +x robot_install.sh
956             ./robot_install.sh
957
958
959   # VID instantiation
960   vid_private_port:
961     type: OS::Neutron::Port
962     properties:
963       network: { get_resource: oam_onap }
964       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: vid_ip_addr }}]
965
966   vid_floating_ip:
967     type: OS::Neutron::FloatingIP
968     properties:
969       floating_network_id: { get_param: public_net_id }
970       port_id: { get_resource: vid_private_port }
971       floating_ip_address: { get_param: vid_float_ip }
972
973   vid_vm:
974     type: OS::Nova::Server
975     properties:
976       image: { get_param: ubuntu_1404_image }
977       flavor: { get_param: flavor_medium }
978       name:
979         str_replace: 
980           template: base-vid
981           params:
982             base: { get_param: vm_base_name }
983       key_name: { get_resource: vm_key }
984       networks:
985         - port: { get_resource: vid_private_port }
986       user_data_format: RAW
987       user_data:
988         str_replace:
989           params:
990             __nexus_repo__: { get_param: nexus_repo }
991             __nexus_docker_repo__: { get_param: nexus_docker_repo }
992             __nexus_username__: { get_param: nexus_username }
993             __nexus_password__: { get_param: nexus_password }
994             __artifacts_version__: { get_param: artifacts_version }
995             __dns_ip_addr__: { get_param: dns_ip_addr }
996             __docker_version__: { get_param: vid_docker }
997             __gerrit_branch__: { get_param: vid_branch }
998             __cloud_env__: { get_param: cloud_env }
999             __external_dns__: { get_param: external_dns }
1000             __vid_repo__: { get_param: vid_repo }
1001           template: |
1002             #!/bin/bash
1003
1004             # Create configuration files
1005             mkdir -p /opt/config
1006             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1007             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1008             echo "__nexus_username__" > /opt/config/nexus_username.txt
1009             echo "__nexus_password__" > /opt/config/nexus_password.txt
1010             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1011             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1012             echo "__docker_version__" > /opt/config/docker_version.txt
1013             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1014             echo "__cloud_env__" > /opt/config/cloud_env.txt
1015             echo "__external_dns__" > /opt/config/external_dns.txt
1016             echo "__vid_repo__" > /opt/config/remote_repo.txt
1017
1018             # Download and run install script
1019             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
1020             cd /opt
1021             chmod +x vid_install.sh
1022             ./vid_install.sh
1023
1024  
1025   # SDN-C instantiation
1026   sdnc_private_port:
1027     type: OS::Neutron::Port
1028     properties:
1029       network: { get_resource: oam_onap }
1030       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
1031
1032   sdnc_floating_ip:
1033     type: OS::Neutron::FloatingIP
1034     properties:
1035       floating_network_id: { get_param: public_net_id }
1036       port_id: { get_resource: sdnc_private_port }
1037       floating_ip_address: { get_param: sdnc_float_ip }
1038
1039   sdnc_vm:
1040     type: OS::Nova::Server
1041     properties:
1042       image: { get_param: ubuntu_1404_image }
1043       flavor: { get_param: flavor_large }
1044       name:
1045         str_replace: 
1046           template: base-sdnc
1047           params:
1048             base: { get_param: vm_base_name }
1049       key_name: { get_resource: vm_key }
1050       networks:
1051         - port: { get_resource: sdnc_private_port }
1052       user_data_format: RAW
1053       user_data:
1054         str_replace:
1055           params:
1056             __nexus_repo__: { get_param: nexus_repo }
1057             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1058             __nexus_username__: { get_param: nexus_username }
1059             __nexus_password__: { get_param: nexus_password }
1060             __artifacts_version__: { get_param: artifacts_version }
1061             __dns_ip_addr__: { get_param: dns_ip_addr }
1062             __docker_version__: { get_param: sdnc_docker }
1063             __gerrit_branch__: { get_param: sdnc_branch }
1064             __dgbuilder_docker__: { get_param: dgbuilder_docker }
1065             __cloud_env__: { get_param: cloud_env }
1066             __external_dns__: { get_param: external_dns }
1067             __sdnc_repo__: { get_param: sdnc_repo }
1068           template: |
1069             #!/bin/bash
1070
1071             # Create configuration files
1072             mkdir -p /opt/config
1073             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1074             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1075             echo "__nexus_username__" > /opt/config/nexus_username.txt
1076             echo "__nexus_password__" > /opt/config/nexus_password.txt
1077             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1078             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1079             echo "__docker_version__" > /opt/config/docker_version.txt
1080             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1081             echo "__dgbuilder_docker__" > /opt/config/dgbuilder_version.txt
1082             echo "__cloud_env__" > /opt/config/cloud_env.txt
1083             echo "__external_dns__" > /opt/config/external_dns.txt
1084             echo "__sdnc_repo__" > /opt/config/remote_repo.txt
1085
1086             # Download and run install script
1087             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
1088             cd /opt
1089             chmod +x sdnc_install.sh
1090             ./sdnc_install.sh
1091
1092
1093   # SDC instantiation
1094   sdc_private_port:
1095     type: OS::Neutron::Port
1096     properties:
1097       network: { get_resource: oam_onap }
1098       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
1099
1100   sdc_floating_ip:
1101     type: OS::Neutron::FloatingIP
1102     properties:
1103       floating_network_id: { get_param: public_net_id }
1104       port_id: { get_resource: sdc_private_port }
1105       floating_ip_address: { get_param: sdc_float_ip }
1106
1107   sdc_volume_data:
1108     type: OS::Cinder::Volume
1109     properties:
1110       name: vol1-sdc-data
1111       size: 100
1112
1113   sdc_vm:
1114     type: OS::Nova::Server
1115     properties:
1116       image: { get_param: ubuntu_1604_image }
1117       flavor: { get_param: flavor_xlarge }
1118       name:
1119         str_replace: 
1120           template: base-sdc
1121           params:
1122             base: { get_param: vm_base_name }
1123       key_name: { get_resource: vm_key }
1124       networks:
1125         - port: { get_resource: sdc_private_port }
1126       block_device_mapping:
1127         - device_name: /dev/vdb
1128           volume_id: {get_resource: sdc_volume_data}
1129       user_data_format: RAW
1130       user_data:
1131         str_replace:
1132           params:
1133             __nexus_repo__: { get_param: nexus_repo }
1134             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1135             __nexus_username__: { get_param: nexus_username }
1136             __nexus_password__: { get_param: nexus_password }
1137             __env_name__: { get_param: dmaap_topic }
1138             __artifacts_version__: { get_param: artifacts_version }
1139             __dns_ip_addr__: { get_param: dns_ip_addr }
1140             __mr_ip_addr__: { get_param: mr_ip_addr }
1141             __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
1142             __docker_version__: { get_param: sdc_docker }
1143             __gerrit_branch__: { get_param: sdc_branch }
1144             __cloud_env__: { get_param: cloud_env }
1145             __external_dns__: { get_param: external_dns }
1146             __sdc_repo__: { get_param: sdc_repo }
1147           template: |
1148             #!/bin/bash
1149
1150             # Create configuration files
1151             mkdir -p /opt/config
1152             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1153             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1154             echo "__nexus_username__" > /opt/config/nexus_username.txt
1155             echo "__nexus_password__" > /opt/config/nexus_password.txt
1156             echo "__env_name__" > /opt/config/env_name.txt
1157             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
1158             echo "__public_ip__" > /opt/config/public_ip.txt
1159             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1160             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1161             echo "__docker_version__" > /opt/config/docker_version.txt
1162             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1163             echo "__cloud_env__" > /opt/config/cloud_env.txt
1164             echo "__external_dns__" > /opt/config/external_dns.txt
1165             echo "__sdc_repo__" > /opt/config/remote_repo.txt
1166
1167             # Download and run install script
1168             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdc_install.sh -o /opt/sdc_install.sh
1169             cd /opt
1170             chmod +x sdc_install.sh
1171             ./sdc_install.sh
1172
1173
1174   # PORTAL instantiation
1175   portal_private_port:
1176     type: OS::Neutron::Port
1177     properties:
1178       network: { get_resource: oam_onap }
1179       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: portal_ip_addr }}]
1180
1181   portal_floating_ip:
1182     type: OS::Neutron::FloatingIP
1183     properties:
1184       floating_network_id: { get_param: public_net_id }
1185       port_id: { get_resource: portal_private_port }
1186       floating_ip_address: { get_param: portal_float_ip }
1187
1188   portal_vm:
1189     type: OS::Nova::Server
1190     properties:
1191       image: { get_param: ubuntu_1404_image }
1192       flavor: { get_param: flavor_large }
1193       name:
1194         str_replace: 
1195           template: base-portal
1196           params:
1197             base: { get_param: vm_base_name }
1198       key_name: { get_resource: vm_key }
1199       networks:
1200         - port: { get_resource: portal_private_port }
1201       user_data_format: RAW
1202       user_data:
1203         str_replace:
1204           params:
1205             __nexus_repo__: { get_param: nexus_repo }
1206             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1207             __nexus_username__: { get_param: nexus_username }
1208             __nexus_password__: { get_param: nexus_password }
1209             __artifacts_version__: { get_param: artifacts_version }
1210             __dns_ip_addr__: { get_param: dns_ip_addr }
1211             __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1212             __docker_version__: { get_param: portal_docker }
1213             __gerrit_branch__: { get_param: portal_branch }
1214             __cloud_env__: { get_param: cloud_env }
1215             __external_dns__: { get_param: external_dns }
1216             __portal_repo__: { get_param: portal_repo }
1217           template: |
1218             #!/bin/bash
1219
1220             # Create configuration files
1221             mkdir -p /opt/config
1222             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1223             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1224             echo "__nexus_username__" > /opt/config/nexus_username.txt
1225             echo "__nexus_password__" > /opt/config/nexus_password.txt
1226             echo "__public_ip__" > /opt/config/public_ip.txt
1227             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1228             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1229             echo "__docker_version__" > /opt/config/docker_version.txt
1230             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1231             echo "__cloud_env__" > /opt/config/cloud_env.txt
1232             echo "__external_dns__" > /opt/config/external_dns.txt
1233             echo "__portal_repo__" > /opt/config/remote_repo.txt
1234
1235             # Download and run install script
1236             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1237             cd /opt
1238             chmod +x portal_install.sh
1239             ./portal_install.sh
1240
1241
1242   # DCAE Controller instantiation
1243 #  dcae_c_private_port:
1244 #    type: OS::Neutron::Port
1245 #    properties:
1246 #      network: { get_resource: oam_onap }
1247 #      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1248
1249 #  dcae_c_floating_ip:
1250 #    type: OS::Neutron::FloatingIP
1251 #    properties:
1252 #      floating_network_id: { get_param: public_net_id }
1253 #      port_id: { get_resource: dcae_c_private_port }
1254 #      floating_ip_address: { get_param: dcae_float_ip }
1255
1256 #  dcae_c_vm:
1257 #    type: OS::Nova::Server
1258 #    properties:
1259 #      image: { get_param: ubuntu_1404_image }
1260 #      flavor: { get_param: flavor_medium }
1261 #      name:
1262 #        str_replace: 
1263 #          template: base-dcae-controller
1264 #          params:
1265 #            base: { get_param: vm_base_name }
1266 #      key_name: { get_resource: vm_key }
1267 #      networks:
1268 #        - port: { get_resource: dcae_c_private_port }
1269 #      user_data_format: RAW
1270 #      user_data:
1271 #        str_replace:
1272 #          params:
1273 #            __nexus_repo__: { get_param: nexus_repo }
1274 #            __nexus_docker_repo__: { get_param: nexus_docker_repo }
1275 #            __nexus_username__: { get_param: nexus_username }
1276 #            __nexus_password__: { get_param: nexus_password }
1277 #            __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1278 #            __gitlab_branch__: { get_param: gitlab_branch }
1279 #            __dns_ip_addr__: { get_param: dns_ip_addr }
1280 #            __dcae_zone__: { get_param: dcae_zone }
1281 #            __dcae_state__: { get_param: dcae_state }
1282 #            __artifacts_version__: { get_param: artifacts_version }
1283 #            __tenant_id__: { get_param: openstack_tenant_id }
1284 #            __openstack_private_network_name__: { get_attr: [oam_onap, name] }
1285 #            __openstack_user__: { get_param: openstack_username }
1286 #            __openstack_password__: { get_param: openstack_api_key }
1287 #            __openstack_auth_method__: { get_param: openstack_auth_method }
1288 #            __key_name__: { get_param: key_name }
1289 #            __rand_str__: { get_resource: random-str }
1290 #            __pub_key__: { get_param: pub_key }
1291 #            __nexus_repo_root__: { get_param: nexus_repo_root }
1292 #            __openstack_region__: { get_param: openstack_region }
1293 #            __horizon_url__: { get_param: horizon_url }
1294 #            __keystone_url__: { get_param: keystone_url }
1295 #            __docker_version__: { get_param: dcae_docker }
1296 #            __gerrit_branch__: { get_param: dcae_branch }
1297 #            __dcae_code_version__: { get_param: dcae_code_version }
1298 #            __cloud_env__: { get_param: cloud_env }
1299 #            __public_net_id__: { get_param: public_net_id }
1300 #            __dcae_base_environment__: { get_param: dcae_base_environment }
1301 #            __dcae_ip_addr__: { get_param: dcae_ip_addr }
1302 #            __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1303 #            __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1304 #            __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1305 #            __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1306 #            __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1307 #            __dcae_float_ip__: { get_param: dcae_float_ip }
1308 #            __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip }
1309 #            __dcae_db_float_ip__: { get_param: dcae_db_float_ip }
1310 #            __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip }
1311 #            __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip }
1312 #            __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip }
1313 #            __external_dns__: { get_param: external_dns }
1314 #            __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1315 #            __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1316 #            __flavor_small__: { get_param: flavor_small }
1317 #            __flavor_medium__: { get_param: flavor_medium }
1318 #            __flavor_large__: { get_param: flavor_large }
1319 #            __flavor_xlarge__: { get_param: flavor_xlarge }
1320 #            __dcae_repo__: { get_param: dcae_repo }
1321 #            __mr_repo__: { get_param: mr_repo }
1322 #          template: |
1323             #!/bin/bash
1324
1325             # Create configuration files
1326 #            mkdir -p /opt/config
1327 #            echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1328 #            echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1329 #            echo "__nexus_username__" > /opt/config/nexus_username.txt
1330 #            echo "__nexus_password__" > /opt/config/nexus_password.txt
1331 #            echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1332 #            echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1333 #            echo "__docker_version__" > /opt/config/docker_version.txt
1334 #            echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1335 #            echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1336 #            echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1337 #            echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1338 #            echo "__dcae_state__" > /opt/config/dcae_state.txt
1339 #            echo "__tenant_id__" > /opt/config/tenant_id.txt
1340 #            echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1341 #            echo "__openstack_user__" > /opt/config/openstack_user.txt
1342 #            echo "__openstack_password__" > /opt/config/openstack_password.txt
1343 #            echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1344 #            echo "__key_name__" > /opt/config/key_name.txt
1345 #            echo "__rand_str__" > /opt/config/rand_str.txt
1346 #            echo "__pub_key__" > /opt/config/pub_key.txt
1347 #            echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1348 #            echo "__openstack_region__" > /opt/config/openstack_region.txt
1349 #            echo "__horizon_url__" > /opt/config/horizon_url.txt
1350 #            echo "__keystone_url__" > /opt/config/keystone_url.txt
1351 #            echo "__cloud_env__" > /opt/config/cloud_env.txt
1352 #            echo "__public_net_id__" > /opt/config/public_net_id.txt
1353 #            echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1354 #            echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1355 #            echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1356 #            echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1357 #            echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1358 #            echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1359 #            echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1360 #            echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1361 #            echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1362 #            echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt
1363 #            echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt
1364 #            echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt
1365 #            echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt
1366 #            echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt
1367 #            echo "__external_dns__" > /opt/config/external_dns.txt
1368 #            echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1369 #            echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1370 #            echo "__flavor_small__" > /opt/config/flavor_small.txt
1371 #            echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1372 #            echo "__flavor_large__" > /opt/config/flavor_large.txt
1373 #            echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1374 #            echo "__dcae_repo__" > /opt/config/remote_repo.txt
1375 #            echo "__mr_repo__" > /opt/config/mr_repo.txt
1376
1377             # Download and run install script
1378 #            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1379 #            cd /opt
1380 #            chmod +x dcae_install.sh
1381 #            ./dcae_install.sh
1382
1383
1384   # Policy Engine instantiation
1385   policy_private_port:
1386     type: OS::Neutron::Port
1387     properties:
1388       network: { get_resource: oam_onap }
1389       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1390
1391   policy_floating_ip:
1392     type: OS::Neutron::FloatingIP
1393     properties:
1394       floating_network_id: { get_param: public_net_id }
1395       port_id: { get_resource: policy_private_port }
1396       floating_ip_address: { get_param: policy_float_ip }
1397
1398   policy_vm:
1399     type: OS::Nova::Server
1400     properties:
1401       image: { get_param: ubuntu_1404_image }
1402       flavor: { get_param: flavor_xlarge }
1403       name:
1404         str_replace: 
1405           template: base-policy
1406           params:
1407             base: { get_param: vm_base_name }
1408       key_name: { get_resource: vm_key }
1409       networks:
1410         - port: { get_resource: policy_private_port }
1411       user_data_format: RAW
1412       user_data:
1413         str_replace:
1414           params:
1415             __nexus_repo__: { get_param: nexus_repo }
1416             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1417             __nexus_username__: { get_param: nexus_username }
1418             __nexus_password__: { get_param: nexus_password }
1419             __artifacts_version__: { get_param: artifacts_version }
1420             __dns_ip_addr__: { get_param: dns_ip_addr }
1421             __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1422             __docker_version__: { get_param: policy_docker }
1423             __gerrit_branch__: { get_param: policy_branch }
1424             __cloud_env__: { get_param: cloud_env }
1425             __external_dns__: { get_param: external_dns }
1426             __policy_repo__: { get_param: policy_repo }
1427           template: |
1428             #!/bin/bash
1429
1430             # Create configuration files
1431             mkdir -p /opt/config
1432             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1433             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1434             echo "__nexus_username__" > /opt/config/nexus_username.txt
1435             echo "__nexus_password__" > /opt/config/nexus_password.txt
1436             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1437             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1438             echo "__public_ip__" > /opt/config/public_ip.txt
1439             echo "__docker_version__" > /opt/config/docker_version.txt
1440             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1441             echo "__cloud_env__" > /opt/config/cloud_env.txt
1442             echo "__external_dns__" > /opt/config/external_dns.txt
1443             echo "__policy_repo__" > /opt/config/remote_repo.txt
1444
1445             # Download and run install script
1446             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1447             cd /opt
1448             chmod +x policy_install.sh
1449             ./policy_install.sh
1450
1451
1452   # APP-C instantiation
1453   appc_private_port:
1454     type: OS::Neutron::Port
1455     properties:
1456       network: { get_resource: oam_onap }
1457       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1458
1459   appc_floating_ip:
1460     type: OS::Neutron::FloatingIP
1461     properties:
1462       floating_network_id: { get_param: public_net_id }
1463       port_id: { get_resource: appc_private_port }
1464       floating_ip_address: { get_param: appc_float_ip }
1465
1466   appc_vm:
1467     type: OS::Nova::Server
1468     properties:
1469       image: { get_param: ubuntu_1404_image }
1470       flavor: { get_param: flavor_large }
1471       name:
1472         str_replace: 
1473           template: base-appc
1474           params:
1475             base: { get_param: vm_base_name }
1476       key_name: { get_resource: vm_key }
1477       networks:
1478         - port: { get_resource: appc_private_port }
1479       user_data_format: RAW
1480       user_data:
1481         str_replace:
1482           params:
1483             __nexus_repo__: { get_param: nexus_repo }
1484             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1485             __nexus_username__: { get_param: nexus_username }
1486             __nexus_password__: { get_param: nexus_password }
1487             __dmaap_topic__: { get_param: dmaap_topic }
1488             __artifacts_version__: { get_param: artifacts_version }
1489             __dns_ip_addr__: { get_param: dns_ip_addr }
1490             __docker_version__: { get_param: appc_docker }
1491             __gerrit_branch__: { get_param: appc_branch }
1492             __dgbuilder_docker__: { get_param: dgbuilder_docker }
1493             __cloud_env__: { get_param: cloud_env }
1494             __external_dns__: { get_param: external_dns }
1495             __appc_repo__: { get_param: appc_repo }
1496           template: |
1497             #!/bin/bash
1498
1499             # Create configuration files
1500             mkdir -p /opt/config
1501             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1502             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1503             echo "__nexus_username__" > /opt/config/nexus_username.txt
1504             echo "__nexus_password__" > /opt/config/nexus_password.txt
1505             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1506             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1507             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1508             echo "__docker_version__" > /opt/config/docker_version.txt
1509             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1510             echo "__dgbuilder_docker__" > /opt/config/dgbuilder_version.txt
1511             echo "__cloud_env__" > /opt/config/cloud_env.txt
1512             echo "__external_dns__" > /opt/config/external_dns.txt
1513             echo "__appc_repo__" > /opt/config/remote_repo.txt
1514
1515             # Download and run install script
1516             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1517             cd /opt
1518             chmod +x appc_install.sh
1519             ./appc_install.sh
1520
1521
1522   # CLAMP instantiation
1523   clamp_private_port:
1524     type: OS::Neutron::Port
1525     properties:
1526       network: { get_resource: oam_onap }
1527       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: clamp_ip_addr }}]
1528
1529   clamp_floating_ip:
1530     type: OS::Neutron::FloatingIP
1531     properties:
1532       floating_network_id: { get_param: public_net_id }
1533       port_id: { get_resource: clamp_private_port }
1534       floating_ip_address: { get_param: clamp_float_ip }
1535
1536   clamp_vm:
1537     type: OS::Nova::Server
1538     properties:
1539       image: { get_param: ubuntu_1604_image }
1540       flavor: { get_param: flavor_medium }
1541       name:
1542         str_replace:
1543           template: base-clamp
1544           params:
1545             base: { get_param: vm_base_name }      
1546       key_name: { get_resource: vm_key }
1547       networks:
1548         - port: { get_resource: clamp_private_port }
1549       user_data_format: RAW
1550       user_data:
1551         str_replace:
1552           params:
1553             __nexus_repo__: { get_param: nexus_repo }
1554             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1555             __nexus_username__: { get_param: nexus_username }
1556             __nexus_password__: { get_param: nexus_password }
1557             __openstack_username__: { get_param: openstack_username }
1558             __openstack_tenant_id__: { get_param: openstack_tenant_id }
1559             __openstack_api_key__: { get_param: openstack_api_key }
1560             __openstack_region__: { get_param: openstack_region }
1561             __keystone_url__: { get_param: keystone_url }
1562             __dmaap_topic__: { get_param: dmaap_topic }
1563             __artifacts_version__: { get_param: artifacts_version }
1564             __dns_ip_addr__: { get_param: dns_ip_addr }
1565             __docker_version__: { get_param: clamp_docker }
1566             __gerrit_branch__: { get_param: clamp_branch }
1567             __cloud_env__: { get_param: cloud_env }
1568             __external_dns__: { get_param: external_dns }
1569             __clamp_repo__: { get_param: clamp_repo }
1570           template: |
1571             #!/bin/bash
1572
1573             # Create configuration files
1574             mkdir -p /opt/config
1575             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1576             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1577             echo "__nexus_username__" > /opt/config/nexus_username.txt
1578             echo "__nexus_password__" > /opt/config/nexus_password.txt
1579             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1580             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1581             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1582             echo "__openstack_username__" > /opt/config/openstack_username.txt
1583             echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
1584             echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
1585             echo "__openstack_region__" > /opt/config/openstack_region.txt
1586             echo "__keystone_url__" > /opt/config/keystone.txt
1587             echo "__docker_version__" > /opt/config/docker_version.txt
1588             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1589             echo "__cloud_env__" > /opt/config/cloud_env.txt
1590             echo "__external_dns__" > /opt/config/external_dns.txt
1591             echo "__clamp_repo__" > /opt/config/remote_repo.txt
1592
1593             # Download and run install script
1594             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/clamp_install.sh -o /opt/clamp_install.sh
1595             cd /opt
1596             chmod +x clamp_install.sh
1597             ./clamp_install.sh
1598
1599
1600   # OPEN-O VM instantiation
1601   openo_private_port:
1602     type: OS::Neutron::Port
1603     properties:
1604       network: { get_resource: oam_onap }
1605       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: openo_ip_addr }}]
1606
1607   openo_floating_ip:
1608     type: OS::Neutron::FloatingIP
1609     properties:
1610       floating_network_id: { get_param: public_net_id }
1611       port_id: { get_resource: openo_private_port }
1612       floating_ip_address: { get_param: openo_float_ip }
1613
1614   openo_vm:
1615     type: OS::Nova::Server
1616     properties:
1617       image: { get_param: ubuntu_1604_image }
1618       flavor: { get_param: flavor_xxlarge }
1619       name:
1620         str_replace:
1621           template: base-openo-server
1622           params:
1623             base: { get_param: vm_base_name }
1624       key_name: { get_resource: vm_key }
1625       networks:
1626         - port: { get_resource: openo_private_port }
1627       user_data_format: RAW
1628       user_data:
1629         str_replace:
1630           params:
1631             __nexus_repo__: { get_param: nexus_repo }
1632             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1633             __nexus_username__: { get_param: nexus_username }
1634             __nexus_password__: { get_param: nexus_password }
1635             __artifacts_version__: { get_param: artifacts_version }
1636             __dns_ip_addr__: { get_param: dns_ip_addr }
1637             __oam_network_cidr__: { get_param: oam_network_cidr }
1638             __aai1_ip_addr__: { get_param: aai1_ip_addr }
1639             __aai2_ip_addr__: { get_param: aai2_ip_addr }
1640             __appc_ip_addr__: { get_param: appc_ip_addr }
1641             __dcae_ip_addr__: { get_param: dcae_ip_addr }
1642             __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1643             __so_ip_addr__: { get_param: so_ip_addr }
1644             __mr_ip_addr__: { get_param: mr_ip_addr }
1645             __policy_ip_addr__: { get_param: policy_ip_addr }
1646             __portal_ip_addr__: { get_param: portal_ip_addr }
1647             __robot_ip_addr__: { get_param: robot_ip_addr }
1648             __sdc_ip_addr__: { get_param: sdc_ip_addr }
1649             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
1650             __vid_ip_addr__: { get_param: vid_ip_addr }
1651             __clamp_ip_addr__: { get_param: clamp_ip_addr }
1652             __openo_ip_addr__: { get_param: openo_ip_addr }
1653             __cloud_env__: { get_param: cloud_env }
1654             __external_dns__: { get_param: external_dns }
1655             __vnfsdk_branch__: { get_param: vnfsdk_branch }
1656             __msb_docker__: { get_param: msb_docker }
1657             __mvim_docker__: { get_param: mvim_docker }
1658             __vfc_docker__: { get_param: vfc_docker }
1659             __uui_docker__: { get_param: uui_docker }
1660             __vnfsdk_repo__: { get_param: vnfsdk_repo }
1661           template: |
1662             #!/bin/bash
1663
1664             # Create configuration files
1665             mkdir -p /opt/config
1666             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1667             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1668             echo "__nexus_username__" > /opt/config/nexus_username.txt
1669             echo "__nexus_password__" > /opt/config/nexus_password.txt
1670             echo "__cloud_env__" > /opt/config/cloud_env.txt
1671             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1672             echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
1673             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1674             echo "__external_dns__" > /opt/config/external_dns.txt
1675             echo "__vnfsdk_branch__" > /opt/config/vnfsdk_branch.txt
1676             echo "__msb_docker__" > /opt/config/msb_docker.txt
1677             echo "__mvim_docker__" > /opt/config/mvim_docker.txt
1678             echo "__vfc_docker__" > /opt/config/vfc_docker.txt
1679             echo "__uui_docker__" > /opt/config/uui_docker.txt
1680             echo "__vnfsdk_repo__" > /opt/config/vnfsdk_repo.txt
1681
1682             # Create env file with the IP address of all ONAP components
1683             echo "export AAI_IP1=__aai1_ip_addr__" >> /opt/config/onap_ips.txt
1684             echo "export AAI_IP2=__aai2_ip_addr__" >> /opt/config/onap_ips.txt
1685             echo "export APPC_IP=__appc_ip_addr__" >> /opt/config/onap_ips.txt
1686             echo "export DCAE_IP=__dcae_ip_addr__" >> /opt/config/onap_ips.txt
1687             echo "export DCAE_COLL_IP=__dcae_coll_ip_addr__" >> /opt/config/onap_ips.txt
1688             echo "export SO_IP=__so_ip_addr__" >> /opt/config/onap_ips.txt
1689             echo "export MR_IP=__mr_ip_addr__" >> /opt/config/onap_ips.txt
1690             echo "export POLICY_IP=__policy_ip_addr__" >> /opt/config/onap_ips.txt
1691             echo "export PORTAL_IP=__portal_ip_addr__" >> /opt/config/onap_ips.txt
1692             echo "export ROBOT_IP=__robot_ip_addr__" >> /opt/config/onap_ips.txt
1693             echo "export SDC_IP=__sdc_ip_addr__" >> /opt/config/onap_ips.txt
1694             echo "export SDNC_IP=__sdnc_ip_addr__" >> /opt/config/onap_ips.txt
1695             echo "export VID_IP=__vid_ip_addr__" >> /opt/config/onap_ips.txt
1696             echo "export CLAMP_IP=__clamp_ip_addr__" >> /opt/config/onap_ips.txt
1697             echo "export OPENO_IP=__openo_ip_addr__" >> /opt/config/onap_ips.txt
1698
1699             # Download and run install script
1700             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/openo_install.sh -o /opt/openo_install.sh
1701             cd /opt
1702             chmod +x openo_install.sh
1703             ./openo_install.sh
1704
1705
1706   # DCAE GEN 2 Controller instantiation
1707   dcae_c_private_port:
1708     type: OS::Neutron::Port
1709     properties:
1710       network: { get_resource: oam_onap }
1711       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1712
1713   dcae_c_floating_ip:
1714     type: OS::Neutron::FloatingIP
1715     properties:
1716       floating_network_id: { get_param: public_net_id }
1717       port_id: { get_resource: dcae_c_private_port }
1718
1719   dcae_c_vm:
1720     type: OS::Nova::Server
1721     properties:
1722       image: { get_param: ubuntu_1604_image }
1723       flavor: { get_param: flavor_medium }
1724       name:
1725         str_replace: 
1726           template: base-dcae-controller
1727           params:
1728             base: { get_param: vm_base_name }
1729       key_name: { get_resource: dcae_vm_key }
1730       networks:
1731         - port: { get_resource: dcae_c_private_port }
1732       user_data_format: RAW
1733       user_data:
1734         str_replace:
1735           params:
1736             __nexus_repo__: { get_param: nexus_repo }
1737             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1738             __nexus_username__: { get_param: nexus_username }
1739             __nexus_password__: { get_param: nexus_password }
1740             __dns_ip_addr__: { get_param: dns_ip_addr }
1741             __dcae_zone__: { get_param: dcae_zone }
1742             __artifacts_version__: { get_param: artifacts_version }
1743             __tenant_id__: { get_param: openstack_tenant_id }
1744             __openstack_private_network_name__: { get_attr: [oam_onap, name] }
1745             __openstack_user__: { get_param: openstack_username }
1746             __openstack_password__: { get_param: openstack_api_key }
1747             __key_name__: { get_param: dcae_key_name }
1748             __pub_key__: { get_param: dcae_pub_key }
1749             __private_key__: { get_attr: [ dcae_vm_key, private_key ] }
1750             __openstack_region__: { get_param: openstack_region }
1751             __keystone_url__: { get_param: keystone_url }
1752             __docker_version__: { get_param: dcae_docker }
1753             __dcae_repo__: { get_param: dcae_repo }
1754             __gerrit_branch__: { get_param: dcae_branch }
1755             __cloud_env__: { get_param: cloud_env }
1756             __public_net_id__: { get_param: public_net_id }
1757             __dcae_ip_addr__: { get_param: dcae_ip_addr }
1758             __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
1759             __external_dns__: { get_param: external_dns }
1760             __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1761             __centos_7_image__: { get_param: centos_7_image }
1762             __security_group__ : { get_param: security_group }
1763             __flavor_medium__: { get_param: flavor_medium }
1764             __mac_addr__: { get_attr: [dcae_c_private_port, mac_address] }
1765             __rand_str__: { get_resource: random-str }
1766
1767           template: |
1768             #!/bin/bash
1769
1770             # Create configuration files
1771             mkdir -p /opt/config
1772             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1773             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1774             echo "__nexus_username__" > /opt/config/nexus_username.txt
1775             echo "__nexus_password__" > /opt/config/nexus_password.txt
1776             echo "__docker_version__" > /opt/config/docker_version.txt
1777             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1778             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1779             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1780             echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1781             echo "__tenant_id__" > /opt/config/tenant_id.txt
1782             echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1783             echo "__openstack_user__" > /opt/config/openstack_user.txt
1784             echo "__openstack_password__" > /opt/config/openstack_password.txt
1785             echo "__key_name__" > /opt/config/key_name.txt
1786             echo "__pub_key__" > /opt/config/pub_key.txt
1787             echo "__private_key__" > /opt/config/priv_key
1788             echo "__openstack_region__" > /opt/config/openstack_region.txt
1789             echo "__keystone_url__" > /opt/config/keystone_url.txt
1790             echo "__cloud_env__" > /opt/config/cloud_env.txt
1791             echo "__public_net_id__" > /opt/config/public_net_id.txt
1792             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1793             echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1794             echo "__external_dns__" > /opt/config/external_dns.txt
1795             echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1796             echo "__centos_7_image__" > /opt/config/centos_7_image.txt
1797             echo "__security_group__" > /opt/config/security_group.txt
1798             echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1799             echo "__dcae_repo__" > /opt/config/remote_repo.txt
1800             echo "__mac_addr__" > /opt/config/mac_addr.txt
1801             echo "__rand_str__" > /opt/config/rand_str.txt
1802
1803             # Download and run install script
1804             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae2_install.sh -o /opt/dcae2_install.sh
1805             cd /opt
1806             chmod +x dcae2_install.sh
1807             ./dcae2_install.sh