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