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