ff9b1c52c18d751504e8084bf9372ee4c8098bc6
[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: robot_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             __docker_version__: { get_param: robot_docker }
904           template: |
905             #!/bin/bash
906
907             # Create configuration files
908             mkdir -p /opt/config
909             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
910             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
911             echo "__nexus_username__" > /opt/config/nexus_username.txt
912             echo "__nexus_password__" > /opt/config/nexus_password.txt
913             echo "__network_name__" > /opt/config/network.txt
914             echo "__openstack_username__" > /opt/config/openstack_username.txt
915             echo "__openstack_api_key__" > /opt/config/openstack_password.txt
916             echo "__openstack_tenant_id__" > /opt/config/openstack_tenant_id.txt
917             echo "__openstack_region__" > /opt/config/region.txt
918             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
919             echo "__docker_version__" > /opt/config/docker_version.txt
920             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
921             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
922             echo "__keystone_url__" > /opt/config/keystone.txt
923             echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
924             echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
925             echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
926             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
927             echo "__so_ip_addr__" > /opt/config/so_ip_addr.txt
928             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
929             echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
930             echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
931             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
932             echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
933             echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
934             echo "__clamp_ip_addr__" > /opt/config/clamp_ip_addr.txt
935             echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
936             echo "__cloud_env__" > /opt/config/cloud_env.txt
937             echo "__external_dns__" > /opt/config/external_dns.txt
938             echo "__vm_image_name__" > /opt/config/vm_image_name.txt
939             echo "__vm_flavor__" > /opt/config/vm_flavor.txt
940             echo "__script_version__" > /opt/config/script_version.txt
941             echo "__public_net_id__" > /opt/config/public_net_id.txt
942             echo "__robot_repo__" > /opt/config/remote_repo.txt
943
944             # Download and run install script
945             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
946             cd /opt
947             chmod +x robot_install.sh
948             ./robot_install.sh
949
950
951   # VID instantiation
952   vid_private_port:
953     type: OS::Neutron::Port
954     properties:
955       network: { get_resource: oam_onap }
956       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: vid_ip_addr }}]
957
958   vid_floating_ip:
959     type: OS::Neutron::FloatingIP
960     properties:
961       floating_network_id: { get_param: public_net_id }
962       port_id: { get_resource: vid_private_port }
963
964   vid_vm:
965     type: OS::Nova::Server
966     properties:
967       image: { get_param: ubuntu_1404_image }
968       flavor: { get_param: flavor_medium }
969       name:
970         str_replace: 
971           template: base-vid
972           params:
973             base: { get_param: vm_base_name }
974       key_name: { get_resource: vm_key }
975       networks:
976         - port: { get_resource: vid_private_port }
977       user_data_format: RAW
978       user_data:
979         str_replace:
980           params:
981             __nexus_repo__: { get_param: nexus_repo }
982             __nexus_docker_repo__: { get_param: nexus_docker_repo }
983             __nexus_username__: { get_param: nexus_username }
984             __nexus_password__: { get_param: nexus_password }
985             __artifacts_version__: { get_param: artifacts_version }
986             __dns_ip_addr__: { get_param: dns_ip_addr }
987             __docker_version__: { get_param: vid_docker }
988             __gerrit_branch__: { get_param: vid_branch }
989             __cloud_env__: { get_param: cloud_env }
990             __external_dns__: { get_param: external_dns }
991             __vid_repo__: { get_param: vid_repo }
992           template: |
993             #!/bin/bash
994
995             # Create configuration files
996             mkdir -p /opt/config
997             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
998             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
999             echo "__nexus_username__" > /opt/config/nexus_username.txt
1000             echo "__nexus_password__" > /opt/config/nexus_password.txt
1001             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1002             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1003             echo "__docker_version__" > /opt/config/docker_version.txt
1004             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1005             echo "__cloud_env__" > /opt/config/cloud_env.txt
1006             echo "__external_dns__" > /opt/config/external_dns.txt
1007             echo "__vid_repo__" > /opt/config/remote_repo.txt
1008
1009             # Download and run install script
1010             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
1011             cd /opt
1012             chmod +x vid_install.sh
1013             ./vid_install.sh
1014
1015  
1016   # SDN-C instantiation
1017   sdnc_private_port:
1018     type: OS::Neutron::Port
1019     properties:
1020       network: { get_resource: oam_onap }
1021       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
1022
1023   sdnc_floating_ip:
1024     type: OS::Neutron::FloatingIP
1025     properties:
1026       floating_network_id: { get_param: public_net_id }
1027       port_id: { get_resource: sdnc_private_port }
1028
1029   sdnc_vm:
1030     type: OS::Nova::Server
1031     properties:
1032       image: { get_param: ubuntu_1404_image }
1033       flavor: { get_param: flavor_large }
1034       name:
1035         str_replace: 
1036           template: base-sdnc
1037           params:
1038             base: { get_param: vm_base_name }
1039       key_name: { get_resource: vm_key }
1040       networks:
1041         - port: { get_resource: sdnc_private_port }
1042       user_data_format: RAW
1043       user_data:
1044         str_replace:
1045           params:
1046             __nexus_repo__: { get_param: nexus_repo }
1047             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1048             __nexus_username__: { get_param: nexus_username }
1049             __nexus_password__: { get_param: nexus_password }
1050             __artifacts_version__: { get_param: artifacts_version }
1051             __dns_ip_addr__: { get_param: dns_ip_addr }
1052             __docker_version__: { get_param: sdnc_docker }
1053             __gerrit_branch__: { get_param: sdnc_branch }
1054             __dgbuilder_docker__: { get_param: dgbuilder_docker }
1055             __cloud_env__: { get_param: cloud_env }
1056             __external_dns__: { get_param: external_dns }
1057             __sdnc_repo__: { get_param: sdnc_repo }
1058           template: |
1059             #!/bin/bash
1060
1061             # Create configuration files
1062             mkdir -p /opt/config
1063             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1064             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1065             echo "__nexus_username__" > /opt/config/nexus_username.txt
1066             echo "__nexus_password__" > /opt/config/nexus_password.txt
1067             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1068             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1069             echo "__docker_version__" > /opt/config/docker_version.txt
1070             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1071             echo "__dgbuilder_docker__" > /opt/config/dgbuilder_version.txt
1072             echo "__cloud_env__" > /opt/config/cloud_env.txt
1073             echo "__external_dns__" > /opt/config/external_dns.txt
1074             echo "__sdnc_repo__" > /opt/config/remote_repo.txt
1075
1076             # Download and run install script
1077             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
1078             cd /opt
1079             chmod +x sdnc_install.sh
1080             ./sdnc_install.sh
1081
1082
1083   # SDC instantiation
1084   sdc_private_port:
1085     type: OS::Neutron::Port
1086     properties:
1087       network: { get_resource: oam_onap }
1088       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
1089
1090   sdc_floating_ip:
1091     type: OS::Neutron::FloatingIP
1092     properties:
1093       floating_network_id: { get_param: public_net_id }
1094       port_id: { get_resource: sdc_private_port }
1095
1096   sdc_volume_data:
1097     type: OS::Cinder::Volume
1098     properties:
1099       name: vol1-sdc-data
1100       size: 100
1101
1102   sdc_vm:
1103     type: OS::Nova::Server
1104     properties:
1105       image: { get_param: ubuntu_1604_image }
1106       flavor: { get_param: flavor_xlarge }
1107       name:
1108         str_replace: 
1109           template: base-sdc
1110           params:
1111             base: { get_param: vm_base_name }
1112       key_name: { get_resource: vm_key }
1113       networks:
1114         - port: { get_resource: sdc_private_port }
1115       block_device_mapping:
1116         - device_name: /dev/vdb
1117           volume_id: {get_resource: sdc_volume_data}
1118       user_data_format: RAW
1119       user_data:
1120         str_replace:
1121           params:
1122             __nexus_repo__: { get_param: nexus_repo }
1123             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1124             __nexus_username__: { get_param: nexus_username }
1125             __nexus_password__: { get_param: nexus_password }
1126             __env_name__: { get_param: dmaap_topic }
1127             __artifacts_version__: { get_param: artifacts_version }
1128             __dns_ip_addr__: { get_param: dns_ip_addr }
1129             __mr_ip_addr__: { get_param: mr_ip_addr }
1130             __private_ip__: { get_param: sdc_ip_addr }
1131             __docker_version__: { get_param: sdc_docker }
1132             __gerrit_branch__: { get_param: sdc_branch }
1133             __cloud_env__: { get_param: cloud_env }
1134             __external_dns__: { get_param: external_dns }
1135             __sdc_repo__: { get_param: sdc_repo }
1136           template: |
1137             #!/bin/bash
1138
1139             # Create configuration files
1140             mkdir -p /opt/config
1141             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1142             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1143             echo "__nexus_username__" > /opt/config/nexus_username.txt
1144             echo "__nexus_password__" > /opt/config/nexus_password.txt
1145             echo "__env_name__" > /opt/config/env_name.txt
1146             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
1147             echo "__private_ip__" > /opt/config/private_ip.txt
1148             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1149             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1150             echo "__docker_version__" > /opt/config/docker_version.txt
1151             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1152             echo "__cloud_env__" > /opt/config/cloud_env.txt
1153             echo "__external_dns__" > /opt/config/external_dns.txt
1154             echo "__sdc_repo__" > /opt/config/remote_repo.txt
1155
1156             # Download and run install script
1157             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdc_install.sh -o /opt/sdc_install.sh
1158             cd /opt
1159             chmod +x sdc_install.sh
1160             ./sdc_install.sh
1161
1162
1163   # PORTAL instantiation
1164   portal_private_port:
1165     type: OS::Neutron::Port
1166     properties:
1167       network: { get_resource: oam_onap }
1168       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: portal_ip_addr }}]
1169
1170   portal_floating_ip:
1171     type: OS::Neutron::FloatingIP
1172     properties:
1173       floating_network_id: { get_param: public_net_id }
1174       port_id: { get_resource: portal_private_port }
1175
1176   portal_vm:
1177     type: OS::Nova::Server
1178     properties:
1179       image: { get_param: ubuntu_1404_image }
1180       flavor: { get_param: flavor_large }
1181       name:
1182         str_replace: 
1183           template: base-portal
1184           params:
1185             base: { get_param: vm_base_name }
1186       key_name: { get_resource: vm_key }
1187       networks:
1188         - port: { get_resource: portal_private_port }
1189       user_data_format: RAW
1190       user_data:
1191         str_replace:
1192           params:
1193             __nexus_repo__: { get_param: nexus_repo }
1194             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1195             __nexus_username__: { get_param: nexus_username }
1196             __nexus_password__: { get_param: nexus_password }
1197             __artifacts_version__: { get_param: artifacts_version }
1198             __dns_ip_addr__: { get_param: dns_ip_addr }
1199             __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1200             __docker_version__: { get_param: portal_docker }
1201             __gerrit_branch__: { get_param: portal_branch }
1202             __cli_docker__: { get_param: cli_docker }
1203             __cloud_env__: { get_param: cloud_env }
1204             __external_dns__: { get_param: external_dns }
1205             __portal_repo__: { get_param: portal_repo }
1206           template: |
1207             #!/bin/bash
1208
1209             # Create configuration files
1210             mkdir -p /opt/config
1211             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1212             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1213             echo "__nexus_username__" > /opt/config/nexus_username.txt
1214             echo "__nexus_password__" > /opt/config/nexus_password.txt
1215             echo "__public_ip__" > /opt/config/public_ip.txt
1216             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1217             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1218             echo "__docker_version__" > /opt/config/docker_version.txt
1219             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1220             echo "__cli_docker__" > /opt/config/cli_docker_version.txt
1221             echo "__cloud_env__" > /opt/config/cloud_env.txt
1222             echo "__external_dns__" > /opt/config/external_dns.txt
1223             echo "__portal_repo__" > /opt/config/remote_repo.txt
1224
1225             # Download and run install script
1226             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1227             cd /opt
1228             chmod +x portal_install.sh
1229             ./portal_install.sh
1230
1231
1232   # Policy Engine instantiation
1233   policy_private_port:
1234     type: OS::Neutron::Port
1235     properties:
1236       network: { get_resource: oam_onap }
1237       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1238
1239   policy_floating_ip:
1240     type: OS::Neutron::FloatingIP
1241     properties:
1242       floating_network_id: { get_param: public_net_id }
1243       port_id: { get_resource: policy_private_port }
1244
1245   policy_vm:
1246     type: OS::Nova::Server
1247     properties:
1248       image: { get_param: ubuntu_1404_image }
1249       flavor: { get_param: flavor_xlarge }
1250       name:
1251         str_replace: 
1252           template: base-policy
1253           params:
1254             base: { get_param: vm_base_name }
1255       key_name: { get_resource: vm_key }
1256       networks:
1257         - port: { get_resource: policy_private_port }
1258       user_data_format: RAW
1259       user_data:
1260         str_replace:
1261           params:
1262             __nexus_repo__: { get_param: nexus_repo }
1263             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1264             __nexus_username__: { get_param: nexus_username }
1265             __nexus_password__: { get_param: nexus_password }
1266             __artifacts_version__: { get_param: artifacts_version }
1267             __dns_ip_addr__: { get_param: dns_ip_addr }
1268             __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1269             __docker_version__: { get_param: policy_docker }
1270             __gerrit_branch__: { get_param: policy_branch }
1271             __cloud_env__: { get_param: cloud_env }
1272             __external_dns__: { get_param: external_dns }
1273             __policy_repo__: { get_param: policy_repo }
1274           template: |
1275             #!/bin/bash
1276
1277             # Create configuration files
1278             mkdir -p /opt/config
1279             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1280             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1281             echo "__nexus_username__" > /opt/config/nexus_username.txt
1282             echo "__nexus_password__" > /opt/config/nexus_password.txt
1283             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1284             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1285             echo "__public_ip__" > /opt/config/public_ip.txt
1286             echo "__docker_version__" > /opt/config/docker_version.txt
1287             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1288             echo "__cloud_env__" > /opt/config/cloud_env.txt
1289             echo "__external_dns__" > /opt/config/external_dns.txt
1290             echo "__policy_repo__" > /opt/config/remote_repo.txt
1291
1292             # Download and run install script
1293             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1294             cd /opt
1295             chmod +x policy_install.sh
1296             ./policy_install.sh
1297
1298
1299   # APP-C instantiation
1300   appc_private_port:
1301     type: OS::Neutron::Port
1302     properties:
1303       network: { get_resource: oam_onap }
1304       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1305
1306   appc_floating_ip:
1307     type: OS::Neutron::FloatingIP
1308     properties:
1309       floating_network_id: { get_param: public_net_id }
1310       port_id: { get_resource: appc_private_port }
1311
1312   appc_vm:
1313     type: OS::Nova::Server
1314     properties:
1315       image: { get_param: ubuntu_1404_image }
1316       flavor: { get_param: flavor_large }
1317       name:
1318         str_replace: 
1319           template: base-appc
1320           params:
1321             base: { get_param: vm_base_name }
1322       key_name: { get_resource: vm_key }
1323       networks:
1324         - port: { get_resource: appc_private_port }
1325       user_data_format: RAW
1326       user_data:
1327         str_replace:
1328           params:
1329             __nexus_repo__: { get_param: nexus_repo }
1330             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1331             __nexus_username__: { get_param: nexus_username }
1332             __nexus_password__: { get_param: nexus_password }
1333             __dmaap_topic__: { get_param: dmaap_topic }
1334             __artifacts_version__: { get_param: artifacts_version }
1335             __dns_ip_addr__: { get_param: dns_ip_addr }
1336             __docker_version__: { get_param: appc_docker }
1337             __gerrit_branch__: { get_param: appc_branch }
1338             __dgbuilder_docker__: { get_param: dgbuilder_docker }
1339             __cloud_env__: { get_param: cloud_env }
1340             __external_dns__: { get_param: external_dns }
1341             __appc_repo__: { get_param: appc_repo }
1342           template: |
1343             #!/bin/bash
1344
1345             # Create configuration files
1346             mkdir -p /opt/config
1347             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1348             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1349             echo "__nexus_username__" > /opt/config/nexus_username.txt
1350             echo "__nexus_password__" > /opt/config/nexus_password.txt
1351             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1352             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1353             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1354             echo "__docker_version__" > /opt/config/docker_version.txt
1355             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1356             echo "__dgbuilder_docker__" > /opt/config/dgbuilder_version.txt
1357             echo "__cloud_env__" > /opt/config/cloud_env.txt
1358             echo "__external_dns__" > /opt/config/external_dns.txt
1359             echo "__appc_repo__" > /opt/config/remote_repo.txt
1360
1361             # Download and run install script
1362             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1363             cd /opt
1364             chmod +x appc_install.sh
1365             ./appc_install.sh
1366
1367
1368   # CLAMP instantiation
1369   clamp_private_port:
1370     type: OS::Neutron::Port
1371     properties:
1372       network: { get_resource: oam_onap }
1373       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: clamp_ip_addr }}]
1374
1375   clamp_floating_ip:
1376     type: OS::Neutron::FloatingIP
1377     properties:
1378       floating_network_id: { get_param: public_net_id }
1379       port_id: { get_resource: clamp_private_port }
1380
1381   clamp_vm:
1382     type: OS::Nova::Server
1383     properties:
1384       image: { get_param: ubuntu_1604_image }
1385       flavor: { get_param: flavor_medium }
1386       name:
1387         str_replace:
1388           template: base-clamp
1389           params:
1390             base: { get_param: vm_base_name }      
1391       key_name: { get_resource: vm_key }
1392       networks:
1393         - port: { get_resource: clamp_private_port }
1394       user_data_format: RAW
1395       user_data:
1396         str_replace:
1397           params:
1398             __nexus_repo__: { get_param: nexus_repo }
1399             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1400             __nexus_username__: { get_param: nexus_username }
1401             __nexus_password__: { get_param: nexus_password }
1402             __openstack_username__: { get_param: openstack_username }
1403             __openstack_tenant_id__: { get_param: openstack_tenant_id }
1404             __openstack_api_key__: { get_param: openstack_api_key }
1405             __openstack_region__: { get_param: openstack_region }
1406             __keystone_url__: { get_param: keystone_url }
1407             __dmaap_topic__: { get_param: dmaap_topic }
1408             __artifacts_version__: { get_param: artifacts_version }
1409             __dns_ip_addr__: { get_param: dns_ip_addr }
1410             __docker_version__: { get_param: clamp_docker }
1411             __gerrit_branch__: { get_param: clamp_branch }
1412             __cloud_env__: { get_param: cloud_env }
1413             __external_dns__: { get_param: external_dns }
1414             __clamp_repo__: { get_param: clamp_repo }
1415           template: |
1416             #!/bin/bash
1417
1418             # Create configuration files
1419             mkdir -p /opt/config
1420             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1421             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1422             echo "__nexus_username__" > /opt/config/nexus_username.txt
1423             echo "__nexus_password__" > /opt/config/nexus_password.txt
1424             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1425             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1426             echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1427             echo "__openstack_username__" > /opt/config/openstack_username.txt
1428             echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
1429             echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
1430             echo "__openstack_region__" > /opt/config/openstack_region.txt
1431             echo "__keystone_url__" > /opt/config/keystone.txt
1432             echo "__docker_version__" > /opt/config/docker_version.txt
1433             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1434             echo "__cloud_env__" > /opt/config/cloud_env.txt
1435             echo "__external_dns__" > /opt/config/external_dns.txt
1436             echo "__clamp_repo__" > /opt/config/remote_repo.txt
1437
1438             # Download and run install script
1439             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/clamp_install.sh -o /opt/clamp_install.sh
1440             cd /opt
1441             chmod +x clamp_install.sh
1442             ./clamp_install.sh
1443
1444
1445   # OPEN-O VM instantiation
1446   openo_private_port:
1447     type: OS::Neutron::Port
1448     properties:
1449       network: { get_resource: oam_onap }
1450       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: openo_ip_addr }}]
1451
1452   openo_floating_ip:
1453     type: OS::Neutron::FloatingIP
1454     properties:
1455       floating_network_id: { get_param: public_net_id }
1456       port_id: { get_resource: openo_private_port }
1457
1458   openo_vm:
1459     type: OS::Nova::Server
1460     properties:
1461       image: { get_param: ubuntu_1604_image }
1462       flavor: { get_param: flavor_xxlarge }
1463       name:
1464         str_replace:
1465           template: base-multi-service
1466           params:
1467             base: { get_param: vm_base_name }
1468       key_name: { get_resource: vm_key }
1469       networks:
1470         - port: { get_resource: openo_private_port }
1471       user_data_format: RAW
1472       user_data:
1473         str_replace:
1474           params:
1475             __nexus_repo__: { get_param: nexus_repo }
1476             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1477             __nexus_username__: { get_param: nexus_username }
1478             __nexus_password__: { get_param: nexus_password }
1479             __artifacts_version__: { get_param: artifacts_version }
1480             __dns_ip_addr__: { get_param: dns_ip_addr }
1481             __oam_network_cidr__: { get_param: oam_network_cidr }
1482             __aai1_ip_addr__: { get_param: aai1_ip_addr }
1483             __aai2_ip_addr__: { get_param: aai2_ip_addr }
1484             __appc_ip_addr__: { get_param: appc_ip_addr }
1485             __dcae_ip_addr__: { get_param: dcae_ip_addr }
1486             __so_ip_addr__: { get_param: so_ip_addr }
1487             __mr_ip_addr__: { get_param: mr_ip_addr }
1488             __policy_ip_addr__: { get_param: policy_ip_addr }
1489             __portal_ip_addr__: { get_param: portal_ip_addr }
1490             __robot_ip_addr__: { get_param: robot_ip_addr }
1491             __sdc_ip_addr__: { get_param: sdc_ip_addr }
1492             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
1493             __vid_ip_addr__: { get_param: vid_ip_addr }
1494             __clamp_ip_addr__: { get_param: clamp_ip_addr }
1495             __openo_ip_addr__: { get_param: openo_ip_addr }
1496             __cloud_env__: { get_param: cloud_env }
1497             __external_dns__: { get_param: external_dns }
1498             __vnfsdk_branch__: { get_param: vnfsdk_branch }
1499             __msb_docker__: { get_param: msb_docker }
1500             __mvim_docker__: { get_param: mvim_docker }
1501             __uui_docker__: { get_param: uui_docker }
1502             __esr_docker__: { get_param: esr_docker }
1503             __vnfsdk_repo__: { get_param: vnfsdk_repo }
1504             __vfc_nokia_docker__: { get_param: vfc_nokia_docker }
1505             __vfc_ztevmanagerdriver_docker__: { get_param: vfc_ztevmanagerdriver_docker }
1506             __vfc_ztesdncdriver_docker__: { get_param: vfc_ztesdncdriver_docker }
1507             __vfc_vnfres_docker__: { get_param: vfc_vnfres_docker }
1508             __vfc_vnfmgr_docker__: { get_param: vfc_vnfmgr_docker }
1509             __vfc_vnflcm_docker__: { get_param: vfc_vnflcm_docker }
1510             __vfc_resmanagement_docker__: { get_param: vfc_resmanagement_docker }
1511             __vfc_nslcm_docker__: { get_param: vfc_nslcm_docker }
1512             __vfc_huawei_docker__: { get_param: vfc_huawei_docker }
1513             __vfc_jujudriver_docker__: { get_param: vfc_jujudriver_docker }
1514             __vfc_gvnfmdriver_docker__: { get_param: vfc_gvnfmdriver_docker }
1515             __vfc_emsdriver_docker__: { get_param: vfc_emsdriver_docker }
1516             __vfc_catalog_docker__: { get_param: vfc_catalog_docker }
1517             __vfc_wfengine_mgrservice_docker__: { get_param: vfc_wfengine_mgrservice_docker }
1518             __vfc_wfengine_activiti_docker__: { get_param: vfc_wfengine_activiti_docker }
1519           template: |
1520             #!/bin/bash
1521
1522             # Create configuration files
1523             mkdir -p /opt/config
1524             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1525             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1526             echo "__nexus_username__" > /opt/config/nexus_username.txt
1527             echo "__nexus_password__" > /opt/config/nexus_password.txt
1528             echo "__cloud_env__" > /opt/config/cloud_env.txt
1529             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1530             echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
1531             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1532             echo "__external_dns__" > /opt/config/external_dns.txt
1533             echo "__vnfsdk_branch__" > /opt/config/vnfsdk_branch.txt
1534             echo "__msb_docker__" > /opt/config/msb_docker.txt
1535             echo "__mvim_docker__" > /opt/config/mvim_docker.txt
1536             echo "__uui_docker__" > /opt/config/uui_docker.txt
1537             echo "__esr_docker__" > /opt/config/esr_docker.txt
1538             echo "__vnfsdk_repo__" > /opt/config/vnfsdk_repo.txt
1539
1540             echo "export NOKIA_DOCKER_VER=__vfc_nokia_docker__" >> /opt/config/vfc_docker.txt
1541             echo "export ZTEVMANAGERDRIVER_DOCKER_VER=__vfc_ztevmanagerdriver_docker__" >> /opt/config/vfc_docker.txt
1542             echo "export ZTESDNCDRIVER_DOCKER_VER=__vfc_ztesdncdriver_docker__" >> /opt/config/vfc_docker.txt
1543             echo "export VNFRES_DOCKER_VER=__vfc_vnfres_docker__" >> /opt/config/vfc_docker.txt
1544             echo "export VNFMGR_DOCKER_VER=__vfc_vnfmgr_docker__" >> /opt/config/vfc_docker.txt
1545             echo "export VNFLCM_DOCKER_VER=__vfc_vnflcm_docker__" >> /opt/config/vfc_docker.txt
1546             echo "export RESMANAGEMENT_DOCKER_VER=__vfc_resmanagement_docker__" >> /opt/config/vfc_docker.txt
1547             echo "export NSLCM_DOCKER_VER=__vfc_nslcm_docker__" >> /opt/config/vfc_docker.txt
1548             echo "export HUAWEI_DOCKER_VER=__vfc_huawei_docker__" >> /opt/config/vfc_docker.txt
1549             echo "export JUJUDRIVER_DOCKER_VER=__vfc_jujudriver_docker__" >> /opt/config/vfc_docker.txt
1550             echo "export GVNFMDRIVER_DOCKER_VER=__vfc_gvnfmdriver_docker__" >> /opt/config/vfc_docker.txt
1551             echo "export EMSDRIVER_DOCKER_VER=__vfc_emsdriver_docker__" >> /opt/config/vfc_docker.txt
1552             echo "export CATALOG_DOCKER_VER=__vfc_catalog_docker__" >> /opt/config/vfc_docker.txt
1553             echo "export MGRSERVICE_DOCKER_VER=__vfc_wfengine_mgrservice_docker__" >> /opt/config/vfc_docker.txt
1554             echo "export ACTIVITI_DOCKER_VER=__vfc_wfengine_activiti_docker__" >> /opt/config/vfc_docker.txt
1555
1556             # Create env file with the IP address of all ONAP components
1557             echo "export AAI_IP1=__aai1_ip_addr__" >> /opt/config/onap_ips.txt
1558             echo "export AAI_IP2=__aai2_ip_addr__" >> /opt/config/onap_ips.txt
1559             echo "export APPC_IP=__appc_ip_addr__" >> /opt/config/onap_ips.txt
1560             echo "export DCAE_IP=__dcae_ip_addr__" >> /opt/config/onap_ips.txt
1561             echo "export SO_IP=__so_ip_addr__" >> /opt/config/onap_ips.txt
1562             echo "export MR_IP=__mr_ip_addr__" >> /opt/config/onap_ips.txt
1563             echo "export POLICY_IP=__policy_ip_addr__" >> /opt/config/onap_ips.txt
1564             echo "export PORTAL_IP=__portal_ip_addr__" >> /opt/config/onap_ips.txt
1565             echo "export ROBOT_IP=__robot_ip_addr__" >> /opt/config/onap_ips.txt
1566             echo "export SDC_IP=__sdc_ip_addr__" >> /opt/config/onap_ips.txt
1567             echo "export SDNC_IP=__sdnc_ip_addr__" >> /opt/config/onap_ips.txt
1568             echo "export VID_IP=__vid_ip_addr__" >> /opt/config/onap_ips.txt
1569             echo "export CLAMP_IP=__clamp_ip_addr__" >> /opt/config/onap_ips.txt
1570             echo "export OPENO_IP=__openo_ip_addr__" >> /opt/config/onap_ips.txt
1571
1572             # Download and run install script
1573             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/openo_install.sh -o /opt/openo_install.sh
1574             cd /opt
1575             chmod +x openo_install.sh
1576             ./openo_install.sh
1577
1578
1579   # DCAE GEN 2 Controller instantiation
1580   dcae_c_private_port:
1581     type: OS::Neutron::Port
1582     properties:
1583       network: { get_resource: oam_onap }
1584       fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1585
1586   dcae_c_floating_ip:
1587     type: OS::Neutron::FloatingIP
1588     properties:
1589       floating_network_id: { get_param: public_net_id }
1590       port_id: { get_resource: dcae_c_private_port }
1591
1592   dcae_c_vm:
1593     type: OS::Nova::Server
1594     properties:
1595       image: { get_param: ubuntu_1604_image }
1596       flavor: { get_param: flavor_small }
1597       name:
1598         str_replace:
1599           template: base-dcae-bootstrap
1600           params:
1601             base: { get_param: vm_base_name }
1602       key_name: { get_resource: vm_key }
1603       networks:
1604         - port: { get_resource: dcae_c_private_port }
1605       #security_groups:
1606       #  - { get_resource: onap_sg }
1607       user_data_format: RAW
1608       user_data:
1609         str_replace:
1610           params:
1611             __rand_str__: { get_resource: random-str }
1612             # repo related
1613             __artifacts_version__: { get_param: artifacts_version }
1614             __docker_version__: { get_param: dcae_docker }
1615             __nexus_repo__: { get_param: nexus_repo }
1616             __nexus_docker_repo__: { get_param: nexus_docker_repo }
1617             __nexus_username__: { get_param: nexus_username }
1618             __nexus_password__: { get_param: nexus_password }
1619             # conf for the ONAP environment where the DCAE bootstrap vm/conatiner runs
1620             __mac_addr__: { get_attr: [dcae_c_private_port, mac_address] }
1621             __dcae_ip_addr__: { get_param: dcae_ip_addr }
1622             __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
1623             __dns_ip_addr__: { get_param: dns_ip_addr }
1624             __external_dns__: { get_param: external_dns }
1625             __dns_forwarder__: { get_param: dns_forwarder }
1626             __dcae_domain__: { get_param: dcae_domain }
1627             # conf for VMs DCAE is to bringup
1628             __openstack_keystone_url__: { get_param: keystone_url }
1629             __dcae_keystone_url__: { get_param: dcae_keystone_url }
1630             __dcaeos_cloud_env__: { get_param: cloud_env }
1631             __dcaeos_keystone_url__: { get_param: dcae_keystone_url }
1632             __dcaeos_region__: { get_param: openstack_region }
1633             __dcaeos_tenant_id__: { get_param: openstack_tenant_id }
1634             __dcaeos_tenant_name__: { get_param: openstack_tenant_name }
1635             __dcaeos_security_group__: 
1636               str_replace: 
1637                 template: 'onap_sg_rand'
1638                 params: 
1639                   rand: { get_resource: random-str }
1640             #__dcaeos_security_group__: { get_attr: [onap_sg, name] }
1641             __dcaeos_username__: { get_param: openstack_username }
1642             __dcaeos_password__: { get_param: openstack_api_key }
1643             __dcaeos_key_name__: { get_resource: vm_key }
1644             __dcaeos_public_key__: { get_param: dcae_public_key }
1645             __dcaeos_private_key__: { get_param: dcae_private_key }
1646             __dcaeos_private_network_name__: { get_attr: [oam_onap, name] }
1647             __dcaeos_public_network_name__: { get_param: public_net_name }
1648             __dcaeos_ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1649             __dcaeos_centos_7_image__: { get_param: dcae_centos_7_image }
1650             __dcaeos_flavor_id__: { get_param: flavor_xlarge }
1651             __dcaeos_flavor_id_cdap__: { get_param: flavor_xlarge }
1652             __dcaeos_dnsaas_config_enabled__: { get_param: dnsaas_config_enabled }
1653             __dcaeos_dnsaas_region__: { get_param: dnsaas_region }
1654             __dcaeos_dnsaas_keystone_url__: { get_param: dnsaas_keystone_url }
1655             __dnsaas_tenant_name__: { get_param: dnsaas_tenant_name }
1656             __dcaeos_dnsaas_username__: { get_param: dnsaas_username }
1657             __dcaeos_dnsaas_password__: { get_param: dnsaas_password }
1658             # fixed private IPs
1659             __mr_ip_addr__: { get_param: mr_ip_addr }
1660             __policy_ip_addr__: { get_param: policy_ip_addr }
1661             __sdc_ip_addr__: { get_param: sdc_ip_addr }
1662             __openo_ip_addr__: { get_param: openo_ip_addr }
1663             __aai1_ip_addr__: { get_param: aai1_ip_addr }
1664             __aai2_ip_addr__: { get_param: aai2_ip_addr }
1665             # floating IPs
1666             __dns_floating_ip_addr__: { get_attr: [dns_floating_ip, floating_ip_address] }
1667             __aai1_floating_ip_addr__: { get_attr: [aai1_floating_ip, floating_ip_address] }
1668             __aai2_floating_ip_addr__: { get_attr: [aai2_floating_ip, floating_ip_address] }
1669             __mrouter_floating_ip_addr__: { get_attr: [mrouter_floating_ip, floating_ip_address] }
1670             __sdc_floating_ip_addr__: { get_attr: [sdc_floating_ip, floating_ip_address] }
1671             __policy_floating_ip_addr__: { get_attr: [policy_floating_ip, floating_ip_address] }
1672             __openo_floating_ip_addr__: { get_attr: [openo_floating_ip, floating_ip_address] }
1673             __dcae_c_floating_ip_addr__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
1674
1675           template: |
1676             #!/bin/bash
1677
1678             # Create configuration files
1679             mkdir -p /opt/config
1680             echo "__rand_str__" > /opt/config/dcae_zone.txt
1681             echo "__rand_str__" > /opt/config/rand_str.txt
1682             # repo related
1683             echo "__docker_version__" > /opt/config/docker_version.txt
1684             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1685             echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1686             echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1687             echo "__nexus_username__" > /opt/config/nexus_username.txt
1688             echo "__nexus_password__" > /opt/config/nexus_password.txt
1689             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1690             # conf for the ONAP environment where the DCAE bootstrap vm/conatiner runs
1691             echo "__mac_addr__" > /opt/config/mac_addr.txt
1692             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1693             echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1694             echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1695             echo "__external_dns__" > /opt/config/external_dns.txt
1696             echo "__dns_forwarder__" > /opt/config/dns_forwarder.txt  
1697             echo "__dcae_domain__" > /opt/config/dcae_domain.txt
1698             # conf for the OpenStack env where DCAE is deployed
1699             echo "__openstack_keystone_url__" > /opt/config/openstack_keystone_url.txt
1700             echo "__dcaeos_cloud_env__" > /opt/config/cloud_env.txt
1701             echo "__dcaeos_keystone_url__" > /opt/config/keystone_url.txt
1702             echo "__dcaeos_region__" > /opt/config/openstack_region.txt
1703             echo "__dcaeos_tenant_id__" > /opt/config/tenant_id.txt
1704             echo "__dcaeos_tenant_name__" > /opt/config/tenant_name.txt
1705             echo "__dcaeos_username__" > /opt/config/openstack_user.txt
1706             echo "__dcaeos_password__" > /opt/config/openstack_password.txt
1707             echo "__dcaeos_key_name__" > /opt/config/key_name.txt
1708             echo "__dcaeos_public_key__" > /opt/config/pub_key.txt
1709             echo "__dcaeos_private_key__" > /opt/config/priv_key
1710             echo "__dcaeos_private_network_name__" > /opt/config/openstack_private_network_name.txt
1711             echo "__dcaeos_public_network_name__" > /opt/config/public_net_name.txt
1712             echo "__dcaeos_public_network_name__" > /opt/config/public_net_id.txt
1713             echo "__dcaeos_ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1714             echo "__dcaeos_centos_7_image__" > /opt/config/centos_7_image.txt
1715             echo "__dcaeos_security_group__" > /opt/config/security_group.txt
1716             echo "__dcaeos_flavor_id__" > /opt/config/flavor_id.txt
1717             echo "__dcaeos_flavor_id_cdap__" > /opt/config/flavor_id_cdap.txt
1718             echo "__dcaeos_dnsaas_config_enabled__" > /opt/config/dnsaas_config_enabled.txt
1719             echo "__dcaeos_dnsaas_region__" > /opt/config/dnsaas_region.txt
1720             echo "__dcaeos_dnsaas_keystone_url__" > /opt/config/dnsaas_keystone_url.txt
1721             echo "__dnsaas_tenant_name__" > /opt/config/dnsaas_tenant_name.txt
1722             echo "__dcaeos_dnsaas_username__" > /opt/config/dnsaas_username.txt
1723             echo "__dcaeos_dnsaas_password__" > /opt/config/dnsaas_password.txt
1724             # fixed private IP addresses of other ONAP components
1725             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
1726             echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
1727             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
1728             echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
1729             echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
1730             echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
1731             # floating IPs
1732             echo "__dns_floating_ip_addr__" > /opt/config/dns_floating_ip_addr.txt
1733             echo "__aai1_floating_ip_addr__" > /opt/config/aai1_floating_ip_addr.txt
1734             echo "__aai2_floating_ip_addr__" > /opt/config/aai2_floating_ip_addr.txt
1735             echo "__mrouter_floating_ip_addr__" > /opt/config/mrouter_floating_ip_addr.txt
1736             echo "__sdc_floating_ip_addr__" > /opt/config/sdc_floating_ip_addr.txt
1737             echo "__policy_floating_ip_addr__" > /opt/config/policy_floating_ip_addr.txt
1738             echo "__openo_floating_ip_addr__" > /opt/config/openo_floating_ip_addr.txt
1739             echo "__dcae_c_floating_ip_addr__" > /opt/config/dcae_c_floating_ip_addr.txt
1740
1741             # Download and run install script
1742             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae2_install.sh -o /opt/dcae2_install.sh
1743             cd /opt
1744             chmod +x dcae2_install.sh
1745             ./dcae2_install.sh > /tmp/dcae2_install.log 2>&1