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