Add CLI docker version number
[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   cli_docker:
380     type: string
381
382   aai_branch:
383     type: string
384   appc_branch:
385     type: string
386   so_branch:
387     type: string
388   mr_branch:
389     type: string
390   dcae_branch:
391     type: string
392   policy_branch:
393     type: string
394   portal_branch:
395     type: string
396   robot_branch:
397     type: string
398   sdc_branch:
399     type: string
400   sdnc_branch:
401     type: string
402   vid_branch:
403     type: string
404   clamp_branch:
405     type: string
406   vnfsdk_branch:
407     type: string
408
409
410 #############
411 #           #
412 # RESOURCES #
413 #           #
414 #############
415
416 resources:
417   random-str:
418     type: OS::Heat::RandomString
419     properties:
420       length: 4
421
422
423   # Public key used to access ONAP components
424   vm_key:
425     type: OS::Nova::KeyPair
426     properties:
427       name:
428         str_replace:
429           template: base_rand
430           params:
431             base: { get_param: key_name }
432             rand: { get_resource: random-str }
433       public_key: { get_param: pub_key }
434       save_private_key: false
435
436   # Public key used to access DCAE GEN 2
437   dcae_vm_key:
438     type: OS::Nova::KeyPair
439     properties:
440       name:
441         str_replace:
442           template: base_rand
443           params:
444             base: { get_param: dcae_key_name }
445             rand: { get_resource: random-str }
446       public_key: { get_param: dcae_pub_key }
447       save_private_key: true
448
449   # ONAP management private network
450   oam_onap:
451     type: OS::Neutron::Net
452     properties:
453       name:
454         str_replace:
455           template: oam_onap_rand
456           params:
457             rand: { get_resource: random-str }
458
459   oam_onap_subnet:
460     type: OS::Neutron::Subnet
461     properties:
462       name:
463         str_replace:
464           template: oam_onap_rand
465           params:
466             rand: { get_resource: random-str }
467       network_id: { get_resource: oam_onap }
468       cidr: { get_param: oam_network_cidr }
469       dns_nameservers: { get_param: dns_list }
470
471   router:
472     type: OS::Neutron::Router
473     properties:
474       external_gateway_info:
475         network: { get_param: public_net_id }
476         external_fixed_ips:
477           - ip_address: { get_param: router_gateway_ip }
478             subnet: { get_param: public_subnet_id }
479
480   router_interface:
481     type: OS::Neutron::RouterInterface
482     properties:
483       router_id: { get_resource: router }
484       subnet_id: { get_resource: oam_onap_subnet }
485
486
487   # DNS Server instantiation
488   dns_private_port:
489     type: OS::Neutron::Port
490     properties:
491       network: { get_resource: oam_onap }
492       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dns_ip_addr }}]
493
494   dns_floating_ip:
495     type: OS::Neutron::FloatingIP
496     properties:
497       floating_network_id: { get_param: public_net_id }
498       port_id: { get_resource: dns_private_port }
499       floating_ip_address: { get_param: dns_float_ip }
500
501   dns_vm:
502     type: OS::Nova::Server
503     properties:
504       image: { get_param: ubuntu_1404_image }
505       flavor: { get_param: flavor_small }
506       name:
507         str_replace:
508           template: base-dns-server
509           params:
510             base: { get_param: vm_base_name }
511       key_name: { get_resource: vm_key }
512       networks:
513         - port: { get_resource: dns_private_port }
514       user_data_format: RAW
515       user_data:
516         str_replace:
517           params:
518             __nexus_repo__: { get_param: nexus_repo }
519             __artifacts_version__: { get_param: artifacts_version }
520             __oam_network_cidr__: { get_attr: [oam_onap_subnet, cidr] }
521             __dns_ip_addr__: { get_param: dns_ip_addr }
522             __aai1_ip_addr__: { get_param: aai1_ip_addr }
523             __aai2_ip_addr__: { get_param: aai2_ip_addr }
524             __appc_ip_addr__: { get_param: appc_ip_addr }
525             __dcae_ip_addr__: { get_param: dcae_ip_addr }
526             __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
527             __so_ip_addr__: { get_param: so_ip_addr }
528             __mr_ip_addr__: { get_param: mr_ip_addr }
529             __policy_ip_addr__: { get_param: policy_ip_addr }
530             __portal_ip_addr__: { get_param: portal_ip_addr }
531             __robot_ip_addr__: { get_param: robot_ip_addr }
532             __sdc_ip_addr__: { get_param: sdc_ip_addr }
533             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
534             __vid_ip_addr__: { get_param: vid_ip_addr }
535             __clamp_ip_addr__: { get_param: clamp_ip_addr }
536             __openo_ip_addr__: { get_param: openo_ip_addr }
537             __cloud_env__: { get_param: cloud_env }
538             __external_dns__: { get_param: external_dns }
539           template: |
540             #!/bin/bash
541
542             # Create configuration files
543             mkdir -p /opt/config
544             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
545             echo "__cloud_env__" > /opt/config/cloud_env.txt
546             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
547             echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
548             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
549             echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
550             echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
551             echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
552             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
553             echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
554             echo "__so_ip_addr__" > /opt/config/so_ip_addr.txt
555             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
556             echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
557             echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
558             echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt
559             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
560             echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
561             echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
562             echo "__clamp_ip_addr__" > /opt/config/clamp_ip_addr.txt
563             echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
564             echo "__external_dns__" > /opt/config/external_dns.txt
565
566             # Download and run install script
567             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
568             cd /opt
569             chmod +x dns_install.sh
570             ./dns_install.sh
571
572
573   # A&AI instantiation (2 VMs)
574   aai1_private_port:
575     type: OS::Neutron::Port
576     properties:
577       network: { get_resource: oam_onap }
578       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: aai1_ip_addr }}]
579
580   aai1_floating_ip:
581     type: OS::Neutron::FloatingIP
582     properties:
583       floating_network_id: { get_param: public_net_id }
584       port_id: { get_resource: aai1_private_port }
585       floating_ip_address: { get_param: aai1_float_ip }
586
587   aai1_vm:
588     type: OS::Nova::Server
589     depends_on: aai2_vm
590     properties:
591       image: { get_param: ubuntu_1404_image }
592       flavor: { get_param: flavor_xlarge }
593       name:
594         str_replace:
595           template: base-aai-inst1
596           params:
597             base: { get_param: vm_base_name }      
598       key_name: { get_resource: vm_key }
599       networks:
600         - port: { get_resource: aai1_private_port }
601       user_data_format: RAW
602       user_data:
603         str_replace:
604           params:
605             __nexus_repo__: { get_param: nexus_repo }
606             __nexus_docker_repo__: { get_param: nexus_docker_repo }
607             __nexus_username__: { get_param: nexus_username }
608             __nexus_password__: { get_param: nexus_password }
609             __dmaap_topic__: { get_param: dmaap_topic }
610             __artifacts_version__: { get_param: artifacts_version }
611             __dns_ip_addr__: { get_param: dns_ip_addr }
612             __docker_version__: { get_param: aai_docker }
613             __cloud_env__: { get_param: cloud_env }
614             __gerrit_branch__: { get_param: aai_branch }
615             __external_dns__: { get_param: external_dns }
616             __aai_repo__: { get_param: aai_repo }
617           template: |
618             #!/bin/bash
619
620             # Create configuration files
621             mkdir -p /opt/config
622             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
623             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
624             echo "__nexus_username__" > /opt/config/nexus_username.txt
625             echo "__nexus_password__" > /opt/config/nexus_password.txt
626             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
627             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
628             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
629             echo "__docker_version__" > /opt/config/docker_version.txt
630             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
631             echo "aai_instance_1" > /opt/config/aai_instance.txt
632             echo "__cloud_env__" > /opt/config/cloud_env.txt
633             echo "__external_dns__" > /opt/config/external_dns.txt
634             echo "__aai_repo__" > /opt/config/remote_repo.txt
635
636             # Download and run install script
637             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
638             cd /opt
639             chmod +x aai_install.sh
640             ./aai_install.sh
641
642
643   aai2_private_port:
644     type: OS::Neutron::Port
645     properties:
646       network: { get_resource: oam_onap }
647       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: aai2_ip_addr }}]
648
649   aai2_floating_ip:
650     type: OS::Neutron::FloatingIP
651     properties:
652       floating_network_id: { get_param: public_net_id }
653       port_id: { get_resource: aai2_private_port }
654       floating_ip_address: { get_param: aai2_float_ip }
655
656   aai2_vm:
657     type: OS::Nova::Server
658     properties:
659       image: { get_param: ubuntu_1404_image }
660       flavor: { get_param: flavor_xlarge }
661       name:
662         str_replace:
663           template: base-aai-inst2
664           params:
665             base: { get_param: vm_base_name }      
666       key_name: { get_resource: vm_key }
667       networks:
668         - port: { get_resource: aai2_private_port }
669       user_data_format: RAW
670       user_data:
671         str_replace:
672           params:
673             __nexus_repo__: { get_param: nexus_repo }
674             __nexus_docker_repo__: { get_param: nexus_docker_repo }
675             __nexus_username__: { get_param: nexus_username }
676             __nexus_password__: { get_param: nexus_password }
677             __dmaap_topic__: { get_param: dmaap_topic }
678             __artifacts_version__: { get_param: artifacts_version }
679             __dns_ip_addr__: { get_param: dns_ip_addr }
680             __docker_version__: { get_param: aai_docker }
681             __cloud_env__: { get_param: cloud_env }
682             __gerrit_branch__: { get_param: aai_branch }
683             __external_dns__: { get_param: external_dns }
684             __aai_repo__: { get_param: aai_repo }
685           template: |
686             #!/bin/bash
687
688             # Create configuration files
689             mkdir -p /opt/config
690             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
691             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
692             echo "__nexus_username__" > /opt/config/nexus_username.txt
693             echo "__nexus_password__" > /opt/config/nexus_password.txt
694             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
695             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
696             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
697             echo "__docker_version__" > /opt/config/docker_version.txt
698             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
699             echo "aai_instance_2" > /opt/config/aai_instance.txt
700             echo "__cloud_env__" > /opt/config/cloud_env.txt
701             echo "__external_dns__" > /opt/config/external_dns.txt
702             echo "__aai_repo__" > /opt/config/remote_repo.txt
703
704             # Download and run install script
705             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
706             cd /opt
707             chmod +x aai_install.sh
708             ./aai_install.sh
709
710
711   # SO instantiation
712   so_private_port:
713     type: OS::Neutron::Port
714     properties:
715       network: { get_resource: oam_onap }
716       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: so_ip_addr }}]
717
718   so_floating_ip:
719     type: OS::Neutron::FloatingIP
720     properties:
721       floating_network_id: { get_param: public_net_id }
722       port_id: { get_resource: so_private_port }
723       floating_ip_address: { get_param: so_float_ip }
724
725   so_vm:
726     type: OS::Nova::Server
727     properties:
728       image: { get_param: ubuntu_1604_image }
729       flavor: { get_param: flavor_large }
730       name:
731         str_replace:
732           template: base-so
733           params:
734             base: { get_param: vm_base_name }      
735       key_name: { get_resource: vm_key }
736       networks:
737         - port: { get_resource: so_private_port }
738       user_data_format: RAW
739       user_data:
740         str_replace:
741           params:
742             __nexus_repo__: { get_param: nexus_repo }
743             __nexus_docker_repo__: { get_param: nexus_docker_repo }
744             __nexus_username__: { get_param: nexus_username }
745             __nexus_password__: { get_param: nexus_password }
746             __openstack_username__: { get_param: openstack_username }
747             __openstack_tenant_id__: { get_param: openstack_tenant_id }
748             __openstack_api_key__: { get_param: openstack_api_key }
749             __openstack_region__: { get_param: openstack_region }
750             __keystone_url__: { get_param: keystone_url }
751             __dmaap_topic__: { get_param: dmaap_topic }
752             __artifacts_version__: { get_param: artifacts_version }
753             __dns_ip_addr__: { get_param: dns_ip_addr }
754             __docker_version__: { get_param: so_docker }
755             __gerrit_branch__: { get_param: so_branch }
756             __cloud_env__: { get_param: cloud_env }
757             __external_dns__: { get_param: external_dns }
758             __so_repo__: { get_param: so_repo }
759           template: |
760             #!/bin/bash
761
762             # Create configuration files
763             mkdir -p /opt/config
764             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
765             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
766             echo "__nexus_username__" > /opt/config/nexus_username.txt
767             echo "__nexus_password__" > /opt/config/nexus_password.txt
768             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
769             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
770             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
771             echo "__openstack_username__" > /opt/config/openstack_username.txt
772             echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
773             echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
774             echo "__openstack_region__" > /opt/config/openstack_region.txt
775             echo "__keystone_url__" > /opt/config/keystone.txt
776             echo "__docker_version__" > /opt/config/docker_version.txt
777             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
778             echo "__cloud_env__" > /opt/config/cloud_env.txt
779             echo "__external_dns__" > /opt/config/external_dns.txt
780             echo "__so_repo__" > /opt/config/remote_repo.txt
781
782             # Download and run install script
783             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/so_install.sh -o /opt/so_install.sh
784             cd /opt
785             chmod +x so_install.sh
786             ./so_install.sh
787
788
789   # Message Router instantiation
790   mrouter_private_port:
791     type: OS::Neutron::Port
792     properties:
793       network: { get_resource: oam_onap }
794       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: mr_ip_addr }}]
795
796   mrouter_floating_ip:
797     type: OS::Neutron::FloatingIP
798     properties:
799       floating_network_id: { get_param: public_net_id }
800       port_id: { get_resource: mrouter_private_port }
801       floating_ip_address: { get_param: mr_float_ip }
802
803   mrouter_vm:
804     type: OS::Nova::Server
805     properties:
806       image: { get_param: ubuntu_1404_image }
807       flavor: { get_param: flavor_large }
808       name:
809         str_replace: 
810           template: base-message-router
811           params:
812             base: { get_param: vm_base_name }
813       key_name: { get_resource: vm_key }
814       networks:
815         - port: { get_resource: mrouter_private_port }
816       user_data_format: RAW
817       user_data:
818         str_replace:
819           params:
820             __nexus_repo__: { get_param: nexus_repo }
821             __nexus_docker_repo__: { get_param: nexus_docker_repo }
822             __nexus_username__: { get_param: nexus_username }
823             __nexus_password__: { get_param: nexus_password }
824             __artifacts_version__: { get_param: artifacts_version }
825             __dns_ip_addr__: { get_param: dns_ip_addr }
826             __gerrit_branch__: { get_param: mr_branch }
827             __cloud_env__: { get_param: cloud_env }
828             __external_dns__: { get_param: external_dns }
829             __mr_repo__: { get_param: mr_repo }
830           template: |
831             #!/bin/bash
832
833             # Create configuration files
834             mkdir -p /opt/config
835             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
836             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
837             echo "__nexus_username__" > /opt/config/nexus_username.txt
838             echo "__nexus_password__" > /opt/config/nexus_password.txt
839             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
840             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
841             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
842             echo "__cloud_env__" > /opt/config/cloud_env.txt
843             echo "__external_dns__" > /opt/config/external_dns.txt
844             echo "__mr_repo__" > /opt/config/remote_repo.txt
845
846             # Download and run install script
847             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
848             cd /opt
849             chmod +x mr_install.sh
850             ./mr_install.sh
851
852
853   # Robot Framework instantiation
854   robot_private_port:
855     type: OS::Neutron::Port
856     properties:
857       network: { get_resource: oam_onap }
858       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: robot_ip_addr }}]
859
860   robot_floating_ip:
861     type: OS::Neutron::FloatingIP
862     properties:
863       floating_network_id: { get_param: public_net_id }
864       port_id: { get_resource: robot_private_port }
865       floating_ip_address: { get_param: robot_float_ip }
866  
867   robot_vm:
868     type: OS::Nova::Server
869     properties:
870       image: { get_param: ubuntu_1604_image }
871       flavor: { get_param: flavor_medium }
872       name:
873         str_replace: 
874           template: base-robot
875           params:
876             base: { get_param: vm_base_name }
877       key_name: { get_resource: vm_key }
878       networks:
879         - port: { get_resource: robot_private_port }
880       user_data_format: RAW
881       user_data:
882         str_replace:
883           params:
884             __nexus_repo__: { get_param: nexus_repo }
885             __nexus_docker_repo__: { get_param: nexus_docker_repo }
886             __nexus_username__: { get_param: nexus_username }
887             __nexus_password__: { get_param: nexus_password }
888             __network_name__: { get_attr: [oam_onap, name] }
889             __openstack_username__: { get_param: openstack_username }
890             __openstack_api_key__: { get_param : openstack_api_key }
891             __openstack_tenant_id__: { get_param: openstack_tenant_id }
892             __artifacts_version__: { get_param: artifacts_version }
893             __openstack_region__: { get_param: openstack_region }
894             __dns_ip_addr__: { get_param: dns_ip_addr }
895             __docker_version__: { get_param: robot_docker }
896             __gerrit_branch__: { get_param: robot_branch }
897             __keystone_url__: { get_param: keystone_url }
898             __aai1_ip_addr__: { get_param: aai1_ip_addr }
899             __aai2_ip_addr__: { get_param: aai2_ip_addr }
900             __appc_ip_addr__: { get_param: appc_ip_addr }
901             __dcae_ip_addr__: { get_param: dcae_ip_addr }
902             __so_ip_addr__: { get_param: so_ip_addr }
903             __mr_ip_addr__: { get_param: mr_ip_addr }
904             __policy_ip_addr__: { get_param: policy_ip_addr }
905             __portal_ip_addr__: { get_param: portal_ip_addr }
906             __sdc_ip_addr__: { get_param: sdc_ip_addr }
907             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
908             __vid_ip_addr__: { get_param: vid_ip_addr }
909             __clamp_ip_addr__: { get_param: clamp_ip_addr }
910             __openo_ip_addr__: { get_param: openo_ip_addr }
911             __cloud_env__: { get_param: cloud_env }
912             __external_dns__: { get_param: external_dns }
913             __vm_image_name__: { get_param: ubuntu_1404_image }
914             __vm_flavor__: { get_param: flavor_medium }
915             __robot_repo__: { get_param: robot_repo }
916           template: |
917             #!/bin/bash
918
919             # Create configuration files
920             mkdir -p /opt/config
921             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
922             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
923             echo "__nexus_username__" > /opt/config/nexus_username.txt
924             echo "__nexus_password__" > /opt/config/nexus_password.txt
925             echo "__network_name__" > /opt/config/network.txt
926             echo "__openstack_username__" > /opt/config/openstack_username.txt
927             echo "__openstack_api_key__" > /opt/config/openstack_password.txt
928             echo "__openstack_tenant_id__" > /opt/config/openstack_tenant_id.txt
929             echo "__openstack_region__" > /opt/config/region.txt
930             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
931             echo "__docker_version__" > /opt/config/docker_version.txt
932             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
933             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
934             echo "__keystone_url__" > /opt/config/keystone.txt
935             echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
936             echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
937             echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
938             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
939             echo "__so_ip_addr__" > /opt/config/so_ip_addr.txt
940             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
941             echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
942             echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
943             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
944             echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
945             echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
946             echo "__clamp_ip_addr__" > /opt/config/clamp_ip_addr.txt
947             echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
948             echo "__cloud_env__" > /opt/config/cloud_env.txt
949             echo "__external_dns__" > /opt/config/external_dns.txt
950             echo "__vm_image_name__" > /opt/config/vm_image_name.txt
951             echo "__vm_flavor__" > /opt/config/vm_flavor.txt
952             echo "__robot_repo__" > /opt/config/remote_repo.txt
953
954             # Download and run install script
955             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
956             cd /opt
957             chmod +x robot_install.sh
958             ./robot_install.sh
959
960
961   # VID instantiation
962   vid_private_port:
963     type: OS::Neutron::Port
964     properties:
965       network: { get_resource: oam_onap }
966       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: vid_ip_addr }}]
967
968   vid_floating_ip:
969     type: OS::Neutron::FloatingIP
970     properties:
971       floating_network_id: { get_param: public_net_id }
972       port_id: { get_resource: vid_private_port }
973       floating_ip_address: { get_param: vid_float_ip }
974
975   vid_vm:
976     type: OS::Nova::Server
977     properties:
978       image: { get_param: ubuntu_1404_image }
979       flavor: { get_param: flavor_medium }
980       name:
981         str_replace: 
982           template: base-vid
983           params:
984             base: { get_param: vm_base_name }
985       key_name: { get_resource: vm_key }
986       networks:
987         - port: { get_resource: vid_private_port }
988       user_data_format: RAW
989       user_data:
990         str_replace:
991           params:
992             __nexus_repo__: { get_param: nexus_repo }
993             __nexus_docker_repo__: { get_param: nexus_docker_repo }
994             __nexus_username__: { get_param: nexus_username }
995             __nexus_password__: { get_param: nexus_password }
996             __artifacts_version__: { get_param: artifacts_version }
997             __dns_ip_addr__: { get_param: dns_ip_addr }
998             __docker_version__: { get_param: vid_docker }
999             __gerrit_branch__: { get_param: vid_branch }
1000             __cloud_env__: { get_param: cloud_env }
1001             __external_dns__: { get_param: external_dns }
1002             __vid_repo__: { get_param: vid_repo }
1003           template: |
1004             #!/bin/bash
1005
1006             # Create configuration files
1007             mkdir -p /opt/config
1008             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1009             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1010             echo "__nexus_username__" > /opt/config/nexus_username.txt
1011             echo "__nexus_password__" > /opt/config/nexus_password.txt
1012             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1013             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1014             echo "__docker_version__" > /opt/config/docker_version.txt
1015             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1016             echo "__cloud_env__" > /opt/config/cloud_env.txt
1017             echo "__external_dns__" > /opt/config/external_dns.txt
1018             echo "__vid_repo__" > /opt/config/remote_repo.txt
1019
1020             # Download and run install script
1021             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
1022             cd /opt
1023             chmod +x vid_install.sh
1024             ./vid_install.sh
1025
1026  
1027   # SDN-C instantiation
1028   sdnc_private_port:
1029     type: OS::Neutron::Port
1030     properties:
1031       network: { get_resource: oam_onap }
1032       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
1033
1034   sdnc_floating_ip:
1035     type: OS::Neutron::FloatingIP
1036     properties:
1037       floating_network_id: { get_param: public_net_id }
1038       port_id: { get_resource: sdnc_private_port }
1039       floating_ip_address: { get_param: sdnc_float_ip }
1040
1041   sdnc_vm:
1042     type: OS::Nova::Server
1043     properties:
1044       image: { get_param: ubuntu_1404_image }
1045       flavor: { get_param: flavor_large }
1046       name:
1047         str_replace: 
1048           template: base-sdnc
1049           params:
1050             base: { get_param: vm_base_name }
1051       key_name: { get_resource: vm_key }
1052       networks:
1053         - port: { get_resource: sdnc_private_port }
1054       user_data_format: RAW
1055       user_data:
1056         str_replace:
1057           params:
1058             __nexus_repo__: { get_param: nexus_repo }
1059             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1060             __nexus_username__: { get_param: nexus_username }
1061             __nexus_password__: { get_param: nexus_password }
1062             __artifacts_version__: { get_param: artifacts_version }
1063             __dns_ip_addr__: { get_param: dns_ip_addr }
1064             __docker_version__: { get_param: sdnc_docker }
1065             __gerrit_branch__: { get_param: sdnc_branch }
1066             __dgbuilder_docker__: { get_param: dgbuilder_docker }
1067             __cloud_env__: { get_param: cloud_env }
1068             __external_dns__: { get_param: external_dns }
1069             __sdnc_repo__: { get_param: sdnc_repo }
1070           template: |
1071             #!/bin/bash
1072
1073             # Create configuration files
1074             mkdir -p /opt/config
1075             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1076             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1077             echo "__nexus_username__" > /opt/config/nexus_username.txt
1078             echo "__nexus_password__" > /opt/config/nexus_password.txt
1079             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1080             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1081             echo "__docker_version__" > /opt/config/docker_version.txt
1082             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1083             echo "__dgbuilder_docker__" > /opt/config/dgbuilder_version.txt
1084             echo "__cloud_env__" > /opt/config/cloud_env.txt
1085             echo "__external_dns__" > /opt/config/external_dns.txt
1086             echo "__sdnc_repo__" > /opt/config/remote_repo.txt
1087
1088             # Download and run install script
1089             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
1090             cd /opt
1091             chmod +x sdnc_install.sh
1092             ./sdnc_install.sh
1093
1094
1095   # SDC instantiation
1096   sdc_private_port:
1097     type: OS::Neutron::Port
1098     properties:
1099       network: { get_resource: oam_onap }
1100       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
1101
1102   sdc_floating_ip:
1103     type: OS::Neutron::FloatingIP
1104     properties:
1105       floating_network_id: { get_param: public_net_id }
1106       port_id: { get_resource: sdc_private_port }
1107       floating_ip_address: { get_param: sdc_float_ip }
1108
1109   sdc_volume_data:
1110     type: OS::Cinder::Volume
1111     properties:
1112       name: vol1-sdc-data
1113       size: 100
1114
1115   sdc_vm:
1116     type: OS::Nova::Server
1117     properties:
1118       image: { get_param: ubuntu_1604_image }
1119       flavor: { get_param: flavor_xlarge }
1120       name:
1121         str_replace: 
1122           template: base-sdc
1123           params:
1124             base: { get_param: vm_base_name }
1125       key_name: { get_resource: vm_key }
1126       networks:
1127         - port: { get_resource: sdc_private_port }
1128       block_device_mapping:
1129         - device_name: /dev/vdb
1130           volume_id: {get_resource: sdc_volume_data}
1131       user_data_format: RAW
1132       user_data:
1133         str_replace:
1134           params:
1135             __nexus_repo__: { get_param: nexus_repo }
1136             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1137             __nexus_username__: { get_param: nexus_username }
1138             __nexus_password__: { get_param: nexus_password }
1139             __env_name__: { get_param: dmaap_topic }
1140             __artifacts_version__: { get_param: artifacts_version }
1141             __dns_ip_addr__: { get_param: dns_ip_addr }
1142             __mr_ip_addr__: { get_param: mr_ip_addr }
1143             __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
1144             __docker_version__: { get_param: sdc_docker }
1145             __gerrit_branch__: { get_param: sdc_branch }
1146             __cloud_env__: { get_param: cloud_env }
1147             __external_dns__: { get_param: external_dns }
1148             __sdc_repo__: { get_param: sdc_repo }
1149           template: |
1150             #!/bin/bash
1151
1152             # Create configuration files
1153             mkdir -p /opt/config
1154             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1155             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1156             echo "__nexus_username__" > /opt/config/nexus_username.txt
1157             echo "__nexus_password__" > /opt/config/nexus_password.txt
1158             echo "__env_name__" > /opt/config/env_name.txt
1159             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
1160             echo "__public_ip__" > /opt/config/public_ip.txt
1161             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1162             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1163             echo "__docker_version__" > /opt/config/docker_version.txt
1164             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1165             echo "__cloud_env__" > /opt/config/cloud_env.txt
1166             echo "__external_dns__" > /opt/config/external_dns.txt
1167             echo "__sdc_repo__" > /opt/config/remote_repo.txt
1168
1169             # Download and run install script
1170             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdc_install.sh -o /opt/sdc_install.sh
1171             cd /opt
1172             chmod +x sdc_install.sh
1173             ./sdc_install.sh
1174
1175
1176   # PORTAL instantiation
1177   portal_private_port:
1178     type: OS::Neutron::Port
1179     properties:
1180       network: { get_resource: oam_onap }
1181       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: portal_ip_addr }}]
1182
1183   portal_floating_ip:
1184     type: OS::Neutron::FloatingIP
1185     properties:
1186       floating_network_id: { get_param: public_net_id }
1187       port_id: { get_resource: portal_private_port }
1188       floating_ip_address: { get_param: portal_float_ip }
1189
1190   portal_vm:
1191     type: OS::Nova::Server
1192     properties:
1193       image: { get_param: ubuntu_1404_image }
1194       flavor: { get_param: flavor_large }
1195       name:
1196         str_replace: 
1197           template: base-portal
1198           params:
1199             base: { get_param: vm_base_name }
1200       key_name: { get_resource: vm_key }
1201       networks:
1202         - port: { get_resource: portal_private_port }
1203       user_data_format: RAW
1204       user_data:
1205         str_replace:
1206           params:
1207             __nexus_repo__: { get_param: nexus_repo }
1208             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1209             __nexus_username__: { get_param: nexus_username }
1210             __nexus_password__: { get_param: nexus_password }
1211             __artifacts_version__: { get_param: artifacts_version }
1212             __dns_ip_addr__: { get_param: dns_ip_addr }
1213             __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1214             __docker_version__: { get_param: portal_docker }
1215             __gerrit_branch__: { get_param: portal_branch }
1216             __cloud_env__: { get_param: cloud_env }
1217             __cli_docker__: { get_param: cli_docker }
1218             __external_dns__: { get_param: external_dns }
1219             __portal_repo__: { get_param: portal_repo }
1220           template: |
1221             #!/bin/bash
1222
1223             # Create configuration files
1224             mkdir -p /opt/config
1225             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1226             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1227             echo "__nexus_username__" > /opt/config/nexus_username.txt
1228             echo "__nexus_password__" > /opt/config/nexus_password.txt
1229             echo "__public_ip__" > /opt/config/public_ip.txt
1230             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1231             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1232             echo "__docker_version__" > /opt/config/docker_version.txt
1233             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1234             echo "__cli_docker__" > /opt/config/cli_docker_version.txt
1235             echo "__cloud_env__" > /opt/config/cloud_env.txt
1236             echo "__external_dns__" > /opt/config/external_dns.txt
1237             echo "__portal_repo__" > /opt/config/remote_repo.txt
1238
1239             # Download and run install script
1240             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1241             cd /opt
1242             chmod +x portal_install.sh
1243             ./portal_install.sh
1244
1245
1246   # DCAE Controller instantiation
1247 #  dcae_c_private_port:
1248 #    type: OS::Neutron::Port
1249 #    properties:
1250 #      network: { get_resource: oam_onap }
1251 #      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1252
1253 #  dcae_c_floating_ip:
1254 #    type: OS::Neutron::FloatingIP
1255 #    properties:
1256 #      floating_network_id: { get_param: public_net_id }
1257 #      port_id: { get_resource: dcae_c_private_port }
1258 #      floating_ip_address: { get_param: dcae_float_ip }
1259
1260 #  dcae_c_vm:
1261 #    type: OS::Nova::Server
1262 #    properties:
1263 #      image: { get_param: ubuntu_1404_image }
1264 #      flavor: { get_param: flavor_medium }
1265 #      name:
1266 #        str_replace: 
1267 #          template: base-dcae-controller
1268 #          params:
1269 #            base: { get_param: vm_base_name }
1270 #      key_name: { get_resource: vm_key }
1271 #      networks:
1272 #        - port: { get_resource: dcae_c_private_port }
1273 #      user_data_format: RAW
1274 #      user_data:
1275 #        str_replace:
1276 #          params:
1277 #            __nexus_repo__: { get_param: nexus_repo }
1278 #            __nexus_docker_repo__: { get_param: nexus_docker_repo }
1279 #            __nexus_username__: { get_param: nexus_username }
1280 #            __nexus_password__: { get_param: nexus_password }
1281 #            __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1282 #            __gitlab_branch__: { get_param: gitlab_branch }
1283 #            __dns_ip_addr__: { get_param: dns_ip_addr }
1284 #            __dcae_zone__: { get_param: dcae_zone }
1285 #            __dcae_state__: { get_param: dcae_state }
1286 #            __artifacts_version__: { get_param: artifacts_version }
1287 #            __tenant_id__: { get_param: openstack_tenant_id }
1288 #            __openstack_private_network_name__: { get_attr: [oam_onap, name] }
1289 #            __openstack_user__: { get_param: openstack_username }
1290 #            __openstack_password__: { get_param: openstack_api_key }
1291 #            __openstack_auth_method__: { get_param: openstack_auth_method }
1292 #            __key_name__: { get_param: key_name }
1293 #            __rand_str__: { get_resource: random-str }
1294 #            __pub_key__: { get_param: pub_key }
1295 #            __nexus_repo_root__: { get_param: nexus_repo_root }
1296 #            __openstack_region__: { get_param: openstack_region }
1297 #            __horizon_url__: { get_param: horizon_url }
1298 #            __keystone_url__: { get_param: keystone_url }
1299 #            __docker_version__: { get_param: dcae_docker }
1300 #            __gerrit_branch__: { get_param: dcae_branch }
1301 #            __dcae_code_version__: { get_param: dcae_code_version }
1302 #            __cloud_env__: { get_param: cloud_env }
1303 #            __public_net_id__: { get_param: public_net_id }
1304 #            __dcae_base_environment__: { get_param: dcae_base_environment }
1305 #            __dcae_ip_addr__: { get_param: dcae_ip_addr }
1306 #            __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1307 #            __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1308 #            __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1309 #            __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1310 #            __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1311 #            __dcae_float_ip__: { get_param: dcae_float_ip }
1312 #            __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip }
1313 #            __dcae_db_float_ip__: { get_param: dcae_db_float_ip }
1314 #            __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip }
1315 #            __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip }
1316 #            __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip }
1317 #            __external_dns__: { get_param: external_dns }
1318 #            __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1319 #            __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1320 #            __flavor_small__: { get_param: flavor_small }
1321 #            __flavor_medium__: { get_param: flavor_medium }
1322 #            __flavor_large__: { get_param: flavor_large }
1323 #            __flavor_xlarge__: { get_param: flavor_xlarge }
1324 #            __dcae_repo__: { get_param: dcae_repo }
1325 #            __mr_repo__: { get_param: mr_repo }
1326 #          template: |
1327             #!/bin/bash
1328
1329             # Create configuration files
1330 #            mkdir -p /opt/config
1331 #            echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1332 #            echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1333 #            echo "__nexus_username__" > /opt/config/nexus_username.txt
1334 #            echo "__nexus_password__" > /opt/config/nexus_password.txt
1335 #            echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1336 #            echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1337 #            echo "__docker_version__" > /opt/config/docker_version.txt
1338 #            echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1339 #            echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1340 #            echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1341 #            echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1342 #            echo "__dcae_state__" > /opt/config/dcae_state.txt
1343 #            echo "__tenant_id__" > /opt/config/tenant_id.txt
1344 #            echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1345 #            echo "__openstack_user__" > /opt/config/openstack_user.txt
1346 #            echo "__openstack_password__" > /opt/config/openstack_password.txt
1347 #            echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1348 #            echo "__key_name__" > /opt/config/key_name.txt
1349 #            echo "__rand_str__" > /opt/config/rand_str.txt
1350 #            echo "__pub_key__" > /opt/config/pub_key.txt
1351 #            echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1352 #            echo "__openstack_region__" > /opt/config/openstack_region.txt
1353 #            echo "__horizon_url__" > /opt/config/horizon_url.txt
1354 #            echo "__keystone_url__" > /opt/config/keystone_url.txt
1355 #            echo "__cloud_env__" > /opt/config/cloud_env.txt
1356 #            echo "__public_net_id__" > /opt/config/public_net_id.txt
1357 #            echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1358 #            echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1359 #            echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1360 #            echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1361 #            echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1362 #            echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1363 #            echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1364 #            echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1365 #            echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1366 #            echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt
1367 #            echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt
1368 #            echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt
1369 #            echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt
1370 #            echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt
1371 #            echo "__external_dns__" > /opt/config/external_dns.txt
1372 #            echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1373 #            echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1374 #            echo "__flavor_small__" > /opt/config/flavor_small.txt
1375 #            echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1376 #            echo "__flavor_large__" > /opt/config/flavor_large.txt
1377 #            echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1378 #            echo "__dcae_repo__" > /opt/config/remote_repo.txt
1379 #            echo "__mr_repo__" > /opt/config/mr_repo.txt
1380
1381             # Download and run install script
1382 #            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1383 #            cd /opt
1384 #            chmod +x dcae_install.sh
1385 #            ./dcae_install.sh
1386
1387
1388   # Policy Engine instantiation
1389   policy_private_port:
1390     type: OS::Neutron::Port
1391     properties:
1392       network: { get_resource: oam_onap }
1393       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1394
1395   policy_floating_ip:
1396     type: OS::Neutron::FloatingIP
1397     properties:
1398       floating_network_id: { get_param: public_net_id }
1399       port_id: { get_resource: policy_private_port }
1400       floating_ip_address: { get_param: policy_float_ip }
1401
1402   policy_vm:
1403     type: OS::Nova::Server
1404     properties:
1405       image: { get_param: ubuntu_1404_image }
1406       flavor: { get_param: flavor_xlarge }
1407       name:
1408         str_replace: 
1409           template: base-policy
1410           params:
1411             base: { get_param: vm_base_name }
1412       key_name: { get_resource: vm_key }
1413       networks:
1414         - port: { get_resource: policy_private_port }
1415       user_data_format: RAW
1416       user_data:
1417         str_replace:
1418           params:
1419             __nexus_repo__: { get_param: nexus_repo }
1420             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1421             __nexus_username__: { get_param: nexus_username }
1422             __nexus_password__: { get_param: nexus_password }
1423             __artifacts_version__: { get_param: artifacts_version }
1424             __dns_ip_addr__: { get_param: dns_ip_addr }
1425             __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1426             __docker_version__: { get_param: policy_docker }
1427             __gerrit_branch__: { get_param: policy_branch }
1428             __cloud_env__: { get_param: cloud_env }
1429             __external_dns__: { get_param: external_dns }
1430             __policy_repo__: { get_param: policy_repo }
1431           template: |
1432             #!/bin/bash
1433
1434             # Create configuration files
1435             mkdir -p /opt/config
1436             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1437             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1438             echo "__nexus_username__" > /opt/config/nexus_username.txt
1439             echo "__nexus_password__" > /opt/config/nexus_password.txt
1440             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1441             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1442             echo "__public_ip__" > /opt/config/public_ip.txt
1443             echo "__docker_version__" > /opt/config/docker_version.txt
1444             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1445             echo "__cloud_env__" > /opt/config/cloud_env.txt
1446             echo "__external_dns__" > /opt/config/external_dns.txt
1447             echo "__policy_repo__" > /opt/config/remote_repo.txt
1448
1449             # Download and run install script
1450             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1451             cd /opt
1452             chmod +x policy_install.sh
1453             ./policy_install.sh
1454
1455
1456   # APP-C instantiation
1457   appc_private_port:
1458     type: OS::Neutron::Port
1459     properties:
1460       network: { get_resource: oam_onap }
1461       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1462
1463   appc_floating_ip:
1464     type: OS::Neutron::FloatingIP
1465     properties:
1466       floating_network_id: { get_param: public_net_id }
1467       port_id: { get_resource: appc_private_port }
1468       floating_ip_address: { get_param: appc_float_ip }
1469
1470   appc_vm:
1471     type: OS::Nova::Server
1472     properties:
1473       image: { get_param: ubuntu_1404_image }
1474       flavor: { get_param: flavor_large }
1475       name:
1476         str_replace: 
1477           template: base-appc
1478           params:
1479             base: { get_param: vm_base_name }
1480       key_name: { get_resource: vm_key }
1481       networks:
1482         - port: { get_resource: appc_private_port }
1483       user_data_format: RAW
1484       user_data:
1485         str_replace:
1486           params:
1487             __nexus_repo__: { get_param: nexus_repo }
1488             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1489             __nexus_username__: { get_param: nexus_username }
1490             __nexus_password__: { get_param: nexus_password }
1491             __dmaap_topic__: { get_param: dmaap_topic }
1492             __artifacts_version__: { get_param: artifacts_version }
1493             __dns_ip_addr__: { get_param: dns_ip_addr }
1494             __docker_version__: { get_param: appc_docker }
1495             __gerrit_branch__: { get_param: appc_branch }
1496             __dgbuilder_docker__: { get_param: dgbuilder_docker }
1497             __cloud_env__: { get_param: cloud_env }
1498             __external_dns__: { get_param: external_dns }
1499             __appc_repo__: { get_param: appc_repo }
1500           template: |
1501             #!/bin/bash
1502
1503             # Create configuration files
1504             mkdir -p /opt/config
1505             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1506             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1507             echo "__nexus_username__" > /opt/config/nexus_username.txt
1508             echo "__nexus_password__" > /opt/config/nexus_password.txt
1509             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1510             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1511             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1512             echo "__docker_version__" > /opt/config/docker_version.txt
1513             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1514             echo "__dgbuilder_docker__" > /opt/config/dgbuilder_version.txt
1515             echo "__cloud_env__" > /opt/config/cloud_env.txt
1516             echo "__external_dns__" > /opt/config/external_dns.txt
1517             echo "__appc_repo__" > /opt/config/remote_repo.txt
1518
1519             # Download and run install script
1520             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1521             cd /opt
1522             chmod +x appc_install.sh
1523             ./appc_install.sh
1524
1525
1526   # CLAMP instantiation
1527   clamp_private_port:
1528     type: OS::Neutron::Port
1529     properties:
1530       network: { get_resource: oam_onap }
1531       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: clamp_ip_addr }}]
1532
1533   clamp_floating_ip:
1534     type: OS::Neutron::FloatingIP
1535     properties:
1536       floating_network_id: { get_param: public_net_id }
1537       port_id: { get_resource: clamp_private_port }
1538       floating_ip_address: { get_param: clamp_float_ip }
1539
1540   clamp_vm:
1541     type: OS::Nova::Server
1542     properties:
1543       image: { get_param: ubuntu_1604_image }
1544       flavor: { get_param: flavor_medium }
1545       name:
1546         str_replace:
1547           template: base-clamp
1548           params:
1549             base: { get_param: vm_base_name }      
1550       key_name: { get_resource: vm_key }
1551       networks:
1552         - port: { get_resource: clamp_private_port }
1553       user_data_format: RAW
1554       user_data:
1555         str_replace:
1556           params:
1557             __nexus_repo__: { get_param: nexus_repo }
1558             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1559             __nexus_username__: { get_param: nexus_username }
1560             __nexus_password__: { get_param: nexus_password }
1561             __openstack_username__: { get_param: openstack_username }
1562             __openstack_tenant_id__: { get_param: openstack_tenant_id }
1563             __openstack_api_key__: { get_param: openstack_api_key }
1564             __openstack_region__: { get_param: openstack_region }
1565             __keystone_url__: { get_param: keystone_url }
1566             __dmaap_topic__: { get_param: dmaap_topic }
1567             __artifacts_version__: { get_param: artifacts_version }
1568             __dns_ip_addr__: { get_param: dns_ip_addr }
1569             __docker_version__: { get_param: clamp_docker }
1570             __gerrit_branch__: { get_param: clamp_branch }
1571             __cloud_env__: { get_param: cloud_env }
1572             __external_dns__: { get_param: external_dns }
1573             __clamp_repo__: { get_param: clamp_repo }
1574           template: |
1575             #!/bin/bash
1576
1577             # Create configuration files
1578             mkdir -p /opt/config
1579             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1580             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1581             echo "__nexus_username__" > /opt/config/nexus_username.txt
1582             echo "__nexus_password__" > /opt/config/nexus_password.txt
1583             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1584             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1585             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1586             echo "__openstack_username__" > /opt/config/openstack_username.txt
1587             echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
1588             echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
1589             echo "__openstack_region__" > /opt/config/openstack_region.txt
1590             echo "__keystone_url__" > /opt/config/keystone.txt
1591             echo "__docker_version__" > /opt/config/docker_version.txt
1592             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1593             echo "__cloud_env__" > /opt/config/cloud_env.txt
1594             echo "__external_dns__" > /opt/config/external_dns.txt
1595             echo "__clamp_repo__" > /opt/config/remote_repo.txt
1596
1597             # Download and run install script
1598             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/clamp_install.sh -o /opt/clamp_install.sh
1599             cd /opt
1600             chmod +x clamp_install.sh
1601             ./clamp_install.sh
1602
1603
1604   # OPEN-O VM instantiation
1605   openo_private_port:
1606     type: OS::Neutron::Port
1607     properties:
1608       network: { get_resource: oam_onap }
1609       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: openo_ip_addr }}]
1610
1611   openo_floating_ip:
1612     type: OS::Neutron::FloatingIP
1613     properties:
1614       floating_network_id: { get_param: public_net_id }
1615       port_id: { get_resource: openo_private_port }
1616       floating_ip_address: { get_param: openo_float_ip }
1617
1618   openo_vm:
1619     type: OS::Nova::Server
1620     properties:
1621       image: { get_param: ubuntu_1604_image }
1622       flavor: { get_param: flavor_xxlarge }
1623       name:
1624         str_replace:
1625           template: base-openo-server
1626           params:
1627             base: { get_param: vm_base_name }
1628       key_name: { get_resource: vm_key }
1629       networks:
1630         - port: { get_resource: openo_private_port }
1631       user_data_format: RAW
1632       user_data:
1633         str_replace:
1634           params:
1635             __nexus_repo__: { get_param: nexus_repo }
1636             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1637             __nexus_username__: { get_param: nexus_username }
1638             __nexus_password__: { get_param: nexus_password }
1639             __artifacts_version__: { get_param: artifacts_version }
1640             __dns_ip_addr__: { get_param: dns_ip_addr }
1641             __oam_network_cidr__: { get_param: oam_network_cidr }
1642             __aai1_ip_addr__: { get_param: aai1_ip_addr }
1643             __aai2_ip_addr__: { get_param: aai2_ip_addr }
1644             __appc_ip_addr__: { get_param: appc_ip_addr }
1645             __dcae_ip_addr__: { get_param: dcae_ip_addr }
1646             __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1647             __so_ip_addr__: { get_param: so_ip_addr }
1648             __mr_ip_addr__: { get_param: mr_ip_addr }
1649             __policy_ip_addr__: { get_param: policy_ip_addr }
1650             __portal_ip_addr__: { get_param: portal_ip_addr }
1651             __robot_ip_addr__: { get_param: robot_ip_addr }
1652             __sdc_ip_addr__: { get_param: sdc_ip_addr }
1653             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
1654             __vid_ip_addr__: { get_param: vid_ip_addr }
1655             __clamp_ip_addr__: { get_param: clamp_ip_addr }
1656             __openo_ip_addr__: { get_param: openo_ip_addr }
1657             __cloud_env__: { get_param: cloud_env }
1658             __external_dns__: { get_param: external_dns }
1659             __vnfsdk_branch__: { get_param: vnfsdk_branch }
1660             __msb_docker__: { get_param: msb_docker }
1661             __mvim_docker__: { get_param: mvim_docker }
1662             __vfc_docker__: { get_param: vfc_docker }
1663             __uui_docker__: { get_param: uui_docker }
1664             __vnfsdk_repo__: { get_param: vnfsdk_repo }
1665           template: |
1666             #!/bin/bash
1667
1668             # Create configuration files
1669             mkdir -p /opt/config
1670             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1671             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1672             echo "__nexus_username__" > /opt/config/nexus_username.txt
1673             echo "__nexus_password__" > /opt/config/nexus_password.txt
1674             echo "__cloud_env__" > /opt/config/cloud_env.txt
1675             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1676             echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
1677             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1678             echo "__external_dns__" > /opt/config/external_dns.txt
1679             echo "__vnfsdk_branch__" > /opt/config/vnfsdk_branch.txt
1680             echo "__msb_docker__" > /opt/config/msb_docker.txt
1681             echo "__mvim_docker__" > /opt/config/mvim_docker.txt
1682             echo "__vfc_docker__" > /opt/config/vfc_docker.txt
1683             echo "__uui_docker__" > /opt/config/uui_docker.txt
1684             echo "__vnfsdk_repo__" > /opt/config/vnfsdk_repo.txt
1685
1686             # Create env file with the IP address of all ONAP components
1687             echo "export AAI_IP1=__aai1_ip_addr__" >> /opt/config/onap_ips.txt
1688             echo "export AAI_IP2=__aai2_ip_addr__" >> /opt/config/onap_ips.txt
1689             echo "export APPC_IP=__appc_ip_addr__" >> /opt/config/onap_ips.txt
1690             echo "export DCAE_IP=__dcae_ip_addr__" >> /opt/config/onap_ips.txt
1691             echo "export DCAE_COLL_IP=__dcae_coll_ip_addr__" >> /opt/config/onap_ips.txt
1692             echo "export SO_IP=__so_ip_addr__" >> /opt/config/onap_ips.txt
1693             echo "export MR_IP=__mr_ip_addr__" >> /opt/config/onap_ips.txt
1694             echo "export POLICY_IP=__policy_ip_addr__" >> /opt/config/onap_ips.txt
1695             echo "export PORTAL_IP=__portal_ip_addr__" >> /opt/config/onap_ips.txt
1696             echo "export ROBOT_IP=__robot_ip_addr__" >> /opt/config/onap_ips.txt
1697             echo "export SDC_IP=__sdc_ip_addr__" >> /opt/config/onap_ips.txt
1698             echo "export SDNC_IP=__sdnc_ip_addr__" >> /opt/config/onap_ips.txt
1699             echo "export VID_IP=__vid_ip_addr__" >> /opt/config/onap_ips.txt
1700             echo "export CLAMP_IP=__clamp_ip_addr__" >> /opt/config/onap_ips.txt
1701             echo "export OPENO_IP=__openo_ip_addr__" >> /opt/config/onap_ips.txt
1702
1703             # Download and run install script
1704             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/openo_install.sh -o /opt/openo_install.sh
1705             cd /opt
1706             chmod +x openo_install.sh
1707             ./openo_install.sh
1708
1709
1710   # DCAE GEN 2 Controller instantiation
1711   dcae_c_private_port:
1712     type: OS::Neutron::Port
1713     properties:
1714       network: { get_resource: oam_onap }
1715       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1716
1717   dcae_c_floating_ip:
1718     type: OS::Neutron::FloatingIP
1719     properties:
1720       floating_network_id: { get_param: public_net_id }
1721       port_id: { get_resource: dcae_c_private_port }
1722
1723   dcae_c_vm:
1724     type: OS::Nova::Server
1725     properties:
1726       image: { get_param: ubuntu_1604_image }
1727       flavor: { get_param: flavor_medium }
1728       name:
1729         str_replace: 
1730           template: base-dcae-controller
1731           params:
1732             base: { get_param: vm_base_name }
1733       key_name: { get_resource: dcae_vm_key }
1734       networks:
1735         - port: { get_resource: dcae_c_private_port }
1736       user_data_format: RAW
1737       user_data:
1738         str_replace:
1739           params:
1740             __nexus_repo__: { get_param: nexus_repo }
1741             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1742             __nexus_username__: { get_param: nexus_username }
1743             __nexus_password__: { get_param: nexus_password }
1744             __dns_ip_addr__: { get_param: dns_ip_addr }
1745             __dcae_zone__: { get_param: dcae_zone }
1746             __artifacts_version__: { get_param: artifacts_version }
1747             __tenant_id__: { get_param: openstack_tenant_id }
1748             __openstack_private_network_name__: { get_attr: [oam_onap, name] }
1749             __openstack_user__: { get_param: openstack_username }
1750             __openstack_password__: { get_param: openstack_api_key }
1751             __key_name__: { get_param: dcae_key_name }
1752             __pub_key__: { get_param: dcae_pub_key }
1753             __private_key__: { get_attr: [ dcae_vm_key, private_key ] }
1754             __openstack_region__: { get_param: openstack_region }
1755             __keystone_url__: { get_param: keystone_url }
1756             __docker_version__: { get_param: dcae_docker }
1757             __dcae_repo__: { get_param: dcae_repo }
1758             __gerrit_branch__: { get_param: dcae_branch }
1759             __cloud_env__: { get_param: cloud_env }
1760             __public_net_id__: { get_param: public_net_id }
1761             __dcae_ip_addr__: { get_param: dcae_ip_addr }
1762             __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
1763             __external_dns__: { get_param: external_dns }
1764             __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1765             __centos_7_image__: { get_param: centos_7_image }
1766             __security_group__ : { get_param: security_group }
1767             __flavor_medium__: { get_param: flavor_medium }
1768             __mac_addr__: { get_attr: [dcae_c_private_port, mac_address] }
1769             __rand_str__: { get_resource: random-str }
1770
1771           template: |
1772             #!/bin/bash
1773
1774             # Create configuration files
1775             mkdir -p /opt/config
1776             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1777             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1778             echo "__nexus_username__" > /opt/config/nexus_username.txt
1779             echo "__nexus_password__" > /opt/config/nexus_password.txt
1780             echo "__docker_version__" > /opt/config/docker_version.txt
1781             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1782             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1783             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1784             echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1785             echo "__tenant_id__" > /opt/config/tenant_id.txt
1786             echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1787             echo "__openstack_user__" > /opt/config/openstack_user.txt
1788             echo "__openstack_password__" > /opt/config/openstack_password.txt
1789             echo "__key_name__" > /opt/config/key_name.txt
1790             echo "__pub_key__" > /opt/config/pub_key.txt
1791             echo "__private_key__" > /opt/config/priv_key
1792             echo "__openstack_region__" > /opt/config/openstack_region.txt
1793             echo "__keystone_url__" > /opt/config/keystone_url.txt
1794             echo "__cloud_env__" > /opt/config/cloud_env.txt
1795             echo "__public_net_id__" > /opt/config/public_net_id.txt
1796             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1797             echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1798             echo "__external_dns__" > /opt/config/external_dns.txt
1799             echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1800             echo "__centos_7_image__" > /opt/config/centos_7_image.txt
1801             echo "__security_group__" > /opt/config/security_group.txt
1802             echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1803             echo "__dcae_repo__" > /opt/config/remote_repo.txt
1804             echo "__mac_addr__" > /opt/config/mac_addr.txt
1805             echo "__rand_str__" > /opt/config/rand_str.txt
1806
1807             # Download and run install script
1808             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae2_install.sh -o /opt/dcae2_install.sh
1809             cd /opt
1810             chmod +x dcae2_install.sh
1811             ./dcae2_install.sh