1 ##########################################################################
3 #==================LICENSE_START==========================================
6 # Copyright © 2017 AT&T Intellectual Property. All rights reserved.
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
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.
19 #==================LICENSE_END============================================
21 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
23 ##########################################################################
25 heat_template_version: 2015-10-15
27 description: Heat template to install ONAP components
37 ##############################################
39 # Parameters used across all ONAP components #
41 ##############################################
45 description: Public network for floating IP address allocation
49 description: Name of the Ubuntu 14.04 image
53 description: Name of the Ubuntu 16.04 image
57 description: Name of the Small Flavor supported by the cloud provider
61 description: Name of the Medium Flavor supported by the cloud provider
65 description: Name of the Large Flavor supported by the cloud provider
69 description: Name of the Extra Large Flavor supported by the cloud provider
73 description: Base name of ONAP VMs
77 description: Public/Private key pair name
81 description: Public key to be installed on the compute instance
85 description: Complete URL for the Nexus repository.
89 description: Complete URL for the Nexus repository for docker images.
93 description: Nexus Repository username
97 description: Nexus Repository Password
101 description: Artifacts version of ONAP components
105 label: Version number of ONAP docker images
109 label: Gerrit code branch
110 description: Gerrit branch where to download the code from
114 description: DMaaP Topic name
118 description: Openstack tenant ID
122 description: Openstack username
124 openstack_auth_method:
126 description: Openstack authentication method (password VS. api-key)
130 description: Openstack API Key
134 description: URL of Openstack Horizon
138 description: URL of Openstack Keystone
142 description: Cloud Provider Name
144 ######################
146 # Network parameters #
148 ######################
151 type: comma_delimited_list
152 description: List of External DNS for OAM ONAP network
156 description: First element of the dns_list for ONAP network
158 ### Floating IP addresses ###
161 description: AAI Instance 1 Floating IP Address
165 description: AAI Instance 2 Floating IP Address
169 description: APP-C Floating IP Address
173 description: DCAE Floating IP Address
177 description: DCAE Collector Floating IP Address
181 description: DCAE Collector Database Floating IP Address
185 description: Hadoop VM1 Floating IP Address
189 description: Hadoop VM2 Floating IP Address
193 description: Hadoop VM3 Floating IP Address
197 description: DNS Floating IP Address
201 description: MSO Floating IP Address
205 description: Message Router Floating IP Address
209 description: Policy Engine Floating IP Address
213 description: Portal Floating IP Address
217 description: Robot Framework Floating IP Address
221 description: SDC Floating IP Address
225 description: SDN-C Floating IP Address
229 description: VID Floating IP Address
231 ### Private IP addresses ###
234 description: CIDR of the OAM ONAP network
238 description: AAI Instance 1 IP Address
242 description: AAI Instance 2 IP Address
246 description: APP-C IP Address
250 description: DCAE IP Address
254 description: DCAE Collector IP Address
258 description: DCAE Database IP Address
262 description: Hadoop VM1 IP Address
266 description: Hadoop VM2 IP Address
270 description: Hadoop VM3 IP Address
274 description: DNS IP Address
278 description: MSO IP Address
282 description: Message Router IP Address
286 description: Policy Engine IP Address
290 description: Portal IP Address
294 description: Robot Framework IP Address
298 description: SDC IP Address
302 description: SDN-C IP Address
306 description: VID IP Address
309 ###########################
311 # Parameters used by DCAE #
313 ###########################
315 dcae_base_environment:
317 description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS)
321 description: DCAE Zone to use in VM names created by DCAE controller
325 description: DCAE State to use in VM names created by DCAE controller
329 description: Root URL of Nexus repository
333 description: Snapshot of Maven repository for DCAE deployment
337 description: Region where the DCAE controller will spin the VMs
341 description: Branch of the Gitlab repository
345 description: DCAE Code Version Number
356 type: OS::Heat::RandomString
361 # Public key used to access ONAP components
363 type: OS::Nova::KeyPair
369 base: { get_param: key_name }
370 rand: { get_resource: random-str }
371 public_key: { get_param: pub_key }
372 save_private_key: false
375 # ONAP management private network
377 type: OS::Neutron::Net
381 template: oam_ecomp_rand
383 rand: { get_resource: random-str }
386 type: OS::Neutron::Subnet
390 template: oam_ecomp_rand
392 rand: { get_resource: random-str }
393 network_id: { get_resource: oam_ecomp }
394 cidr: { get_param: oam_network_cidr }
395 dns_nameservers: { get_param: dns_list }
398 type: OS::Neutron::Router
400 external_gateway_info:
401 network: { get_param: public_net_id }
404 type: OS::Neutron::RouterInterface
406 router_id: { get_resource: router }
407 subnet_id: { get_resource: oam_ecomp_subnet }
410 # DNS Server instantiation
412 type: OS::Neutron::Port
414 network: { get_resource: oam_ecomp }
415 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dns_ip_addr }}]
418 type: OS::Neutron::FloatingIP
420 floating_network_id: { get_param: public_net_id }
421 port_id: { get_resource: dns_private_port }
422 floating_ip_address: { get_param: dns_float_ip }
425 type: OS::Nova::Server
427 image: { get_param: ubuntu_1404_image }
428 flavor: { get_param: flavor_small }
431 template: base-dns-server
433 base: { get_param: vm_base_name }
434 key_name: { get_resource: vm_key }
436 - port: { get_resource: dns_private_port }
437 user_data_format: RAW
441 __nexus_repo__: { get_param: nexus_repo }
442 __artifacts_version__: { get_param: artifacts_version }
443 __oam_network_cidr__: { get_attr: [oam_ecomp_subnet, cidr] }
444 __dns_ip_addr__: { get_param: dns_ip_addr }
445 __aai1_ip_addr__: { get_param: aai1_ip_addr }
446 __aai2_ip_addr__: { get_param: aai2_ip_addr }
447 __appc_ip_addr__: { get_param: appc_ip_addr }
448 __dcae_ip_addr__: { get_param: dcae_ip_addr }
449 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
450 __mso_ip_addr__: { get_param: mso_ip_addr }
451 __mr_ip_addr__: { get_param: mr_ip_addr }
452 __policy_ip_addr__: { get_param: policy_ip_addr }
453 __portal_ip_addr__: { get_param: portal_ip_addr }
454 __robot_ip_addr__: { get_param: robot_ip_addr }
455 __sdc_ip_addr__: { get_param: sdc_ip_addr }
456 __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
457 __vid_ip_addr__: { get_param: vid_ip_addr }
458 __cloud_env__: { get_param: cloud_env }
459 __external_dns__: { get_param: external_dns }
463 # Create configuration files
465 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
466 echo "__cloud_env__" > /opt/config/cloud_env.txt
467 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
468 echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
469 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
470 echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
471 echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
472 echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
473 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
474 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
475 echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
476 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
477 echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
478 echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
479 echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt
480 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
481 echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
482 echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
483 echo "__external_dns__" > /opt/config/external_dns.txt
485 # Download and run install script
486 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
488 chmod +x dns_install.sh
492 # A&AI instantiation (2 VMs)
494 type: OS::Neutron::Port
496 network: { get_resource: oam_ecomp }
497 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai1_ip_addr }}]
500 type: OS::Neutron::FloatingIP
502 floating_network_id: { get_param: public_net_id }
503 port_id: { get_resource: aai1_private_port }
504 floating_ip_address: { get_param: aai1_float_ip }
507 type: OS::Nova::Server
510 image: { get_param: ubuntu_1404_image }
511 flavor: { get_param: flavor_xlarge }
514 template: base-aai-inst1
516 base: { get_param: vm_base_name }
517 key_name: { get_resource: vm_key }
519 - port: { get_resource: aai1_private_port }
520 user_data_format: RAW
524 __nexus_repo__: { get_param: nexus_repo }
525 __nexus_docker_repo__: { get_param: nexus_docker_repo }
526 __nexus_username__: { get_param: nexus_username }
527 __nexus_password__: { get_param: nexus_password }
528 __dmaap_topic__: { get_param: dmaap_topic }
529 __artifacts_version__: { get_param: artifacts_version }
530 __dns_ip_addr__: { get_param: dns_ip_addr }
531 __docker_version__: { get_param: docker_version }
532 __cloud_env__: { get_param: cloud_env }
533 __gerrit_branch__: { get_param: gerrit_branch }
534 __external_dns__: { get_param: external_dns }
538 # Create configuration files
540 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
541 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
542 echo "__nexus_username__" > /opt/config/nexus_username.txt
543 echo "__nexus_password__" > /opt/config/nexus_password.txt
544 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
545 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
546 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
547 echo "__docker_version__" > /opt/config/docker_version.txt
548 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
549 echo "aai_instance_1" > /opt/config/aai_instance.txt
550 echo "__cloud_env__" > /opt/config/cloud_env.txt
551 echo "__external_dns__" > /opt/config/external_dns.txt
553 # Download and run install script
554 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai2_install.sh -o /opt/aai2_install.sh
556 chmod +x aai2_install.sh
561 type: OS::Neutron::Port
563 network: { get_resource: oam_ecomp }
564 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai2_ip_addr }}]
567 type: OS::Neutron::FloatingIP
569 floating_network_id: { get_param: public_net_id }
570 port_id: { get_resource: aai2_private_port }
571 floating_ip_address: { get_param: aai2_float_ip }
574 type: OS::Nova::Server
576 image: { get_param: ubuntu_1404_image }
577 flavor: { get_param: flavor_xlarge }
580 template: base-aai-inst2
582 base: { get_param: vm_base_name }
583 key_name: { get_resource: vm_key }
585 - port: { get_resource: aai2_private_port }
586 user_data_format: RAW
590 __nexus_repo__: { get_param: nexus_repo }
591 __nexus_docker_repo__: { get_param: nexus_docker_repo }
592 __nexus_username__: { get_param: nexus_username }
593 __nexus_password__: { get_param: nexus_password }
594 __dmaap_topic__: { get_param: dmaap_topic }
595 __artifacts_version__: { get_param: artifacts_version }
596 __dns_ip_addr__: { get_param: dns_ip_addr }
597 __docker_version__: { get_param: docker_version }
598 __cloud_env__: { get_param: cloud_env }
599 __gerrit_branch__: { get_param: gerrit_branch }
600 __external_dns__: { get_param: external_dns }
604 # Create configuration files
606 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
607 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
608 echo "__nexus_username__" > /opt/config/nexus_username.txt
609 echo "__nexus_password__" > /opt/config/nexus_password.txt
610 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
611 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
612 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
613 echo "__docker_version__" > /opt/config/docker_version.txt
614 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
615 echo "aai_instance_2" > /opt/config/aai_instance.txt
616 echo "__cloud_env__" > /opt/config/cloud_env.txt
617 echo "__external_dns__" > /opt/config/external_dns.txt
619 # Download and run install script
620 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai2_install.sh -o /opt/aai2_install.sh
622 chmod +x aai2_install.sh
628 type: OS::Neutron::Port
630 network: { get_resource: oam_ecomp }
631 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mso_ip_addr }}]
634 type: OS::Neutron::FloatingIP
636 floating_network_id: { get_param: public_net_id }
637 port_id: { get_resource: mso_private_port }
638 floating_ip_address: { get_param: mso_float_ip }
641 type: OS::Nova::Server
643 image: { get_param: ubuntu_1604_image }
644 flavor: { get_param: flavor_large }
649 base: { get_param: vm_base_name }
650 key_name: { get_resource: vm_key }
652 - port: { get_resource: mso_private_port }
653 user_data_format: RAW
657 __nexus_repo__: { get_param: nexus_repo }
658 __nexus_docker_repo__: { get_param: nexus_docker_repo }
659 __nexus_username__: { get_param: nexus_username }
660 __nexus_password__: { get_param: nexus_password }
661 __openstack_username__: { get_param: openstack_username }
662 __openstack_tenant_id__: { get_param: openstack_tenant_id }
663 __openstack_api_key__: { get_param: openstack_api_key }
664 __openstack_region__: { get_param: openstack_region }
665 __keystone_url__: { get_param: keystone_url }
666 __dmaap_topic__: { get_param: dmaap_topic }
667 __artifacts_version__: { get_param: artifacts_version }
668 __dns_ip_addr__: { get_param: dns_ip_addr }
669 __docker_version__: { get_param: docker_version }
670 __gerrit_branch__: { get_param: gerrit_branch }
671 __cloud_env__: { get_param: cloud_env }
672 __external_dns__: { get_param: external_dns }
676 # Create configuration files
678 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
679 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
680 echo "__nexus_username__" > /opt/config/nexus_username.txt
681 echo "__nexus_password__" > /opt/config/nexus_password.txt
682 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
683 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
684 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
685 echo "__openstack_username__" > /opt/config/openstack_username.txt
686 echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
687 echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
688 echo "__openstack_region__" > /opt/config/openstack_region.txt
689 echo "__keystone_url__" > /opt/config/keystone.txt
690 echo "__docker_version__" > /opt/config/docker_version.txt
691 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
692 echo "__cloud_env__" > /opt/config/cloud_env.txt
693 echo "__external_dns__" > /opt/config/external_dns.txt
695 # Download and run install script
696 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_install.sh -o /opt/mso_install.sh
698 chmod +x mso_install.sh
702 # Message Router instantiation
703 mrouter_private_port:
704 type: OS::Neutron::Port
706 network: { get_resource: oam_ecomp }
707 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mr_ip_addr }}]
710 type: OS::Neutron::FloatingIP
712 floating_network_id: { get_param: public_net_id }
713 port_id: { get_resource: mrouter_private_port }
714 floating_ip_address: { get_param: mr_float_ip }
717 type: OS::Nova::Server
719 image: { get_param: ubuntu_1404_image }
720 flavor: { get_param: flavor_large }
723 template: base-message-router
725 base: { get_param: vm_base_name }
726 key_name: { get_resource: vm_key }
728 - port: { get_resource: mrouter_private_port }
729 user_data_format: RAW
733 __nexus_repo__: { get_param: nexus_repo }
734 __nexus_docker_repo__: { get_param: nexus_docker_repo }
735 __nexus_username__: { get_param: nexus_username }
736 __nexus_password__: { get_param: nexus_password }
737 __artifacts_version__: { get_param: artifacts_version }
738 __dns_ip_addr__: { get_param: dns_ip_addr }
739 __gerrit_branch__: { get_param: gerrit_branch }
740 __cloud_env__: { get_param: cloud_env }
741 __external_dns__: { get_param: external_dns }
745 # Create configuration files
747 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
748 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
749 echo "__nexus_username__" > /opt/config/nexus_username.txt
750 echo "__nexus_password__" > /opt/config/nexus_password.txt
751 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
752 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
753 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
754 echo "__cloud_env__" > /opt/config/cloud_env.txt
755 echo "__external_dns__" > /opt/config/external_dns.txt
757 # Download and run install script
758 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
760 chmod +x mr_install.sh
764 # Robot Framework instantiation
766 type: OS::Neutron::Port
768 network: { get_resource: oam_ecomp }
769 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: robot_ip_addr }}]
772 type: OS::Neutron::FloatingIP
774 floating_network_id: { get_param: public_net_id }
775 port_id: { get_resource: robot_private_port }
776 floating_ip_address: { get_param: robot_float_ip }
779 type: OS::Nova::Server
781 image: { get_param: ubuntu_1604_image }
782 flavor: { get_param: flavor_small }
787 base: { get_param: vm_base_name }
788 key_name: { get_resource: vm_key }
790 - port: { get_resource: robot_private_port }
791 user_data_format: RAW
795 __nexus_repo__: { get_param: nexus_repo }
796 __nexus_docker_repo__: { get_param: nexus_docker_repo }
797 __nexus_username__: { get_param: nexus_username }
798 __nexus_password__: { get_param: nexus_password }
799 __network_name__: { get_attr: [oam_ecomp, name] }
800 __openstack_username__: { get_param: openstack_username }
801 __openstack_api_key__: { get_param : openstack_api_key }
802 __artifacts_version__: { get_param: artifacts_version }
803 __openstack_region__: { get_param: openstack_region }
804 __dns_ip_addr__: { get_param: dns_ip_addr }
805 __docker_version__: { get_param: docker_version }
806 __gerrit_branch__: { get_param: gerrit_branch }
807 __cloud_env__: { get_param: cloud_env }
808 __external_dns__: { get_param: external_dns }
812 # Create configuration files
814 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
815 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
816 echo "__nexus_username__" > /opt/config/nexus_username.txt
817 echo "__nexus_password__" > /opt/config/nexus_password.txt
818 echo "__network_name__" > /opt/config/network.txt
819 echo "__openstack_username__" > /opt/config/openstack_username.txt
820 echo "__openstack_api_key__" > /opt/config/openstack_password.txt
821 echo "__openstack_region__" > /opt/config/region.txt
822 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
823 echo "__docker_version__" > /opt/config/docker_version.txt
824 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
825 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
826 echo "__cloud_env__" > /opt/config/cloud_env.txt
827 echo "__external_dns__" > /opt/config/external_dns.txt
829 # Download and run install script
830 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
832 chmod +x robot_install.sh
838 type: OS::Neutron::Port
840 network: { get_resource: oam_ecomp }
841 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: vid_ip_addr }}]
844 type: OS::Neutron::FloatingIP
846 floating_network_id: { get_param: public_net_id }
847 port_id: { get_resource: vid_private_port }
848 floating_ip_address: { get_param: vid_float_ip }
851 type: OS::Nova::Server
853 image: { get_param: ubuntu_1404_image }
854 flavor: { get_param: flavor_medium }
859 base: { get_param: vm_base_name }
860 key_name: { get_resource: vm_key }
862 - port: { get_resource: vid_private_port }
863 user_data_format: RAW
867 __nexus_repo__: { get_param: nexus_repo }
868 __nexus_docker_repo__: { get_param: nexus_docker_repo }
869 __nexus_username__: { get_param: nexus_username }
870 __nexus_password__: { get_param: nexus_password }
871 __artifacts_version__: { get_param: artifacts_version }
872 __dns_ip_addr__: { get_param: dns_ip_addr }
873 __docker_version__: { get_param: docker_version }
874 __gerrit_branch__: { get_param: gerrit_branch }
875 __cloud_env__: { get_param: cloud_env }
876 __external_dns__: { get_param: external_dns }
880 # Create configuration files
882 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
883 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
884 echo "__nexus_username__" > /opt/config/nexus_username.txt
885 echo "__nexus_password__" > /opt/config/nexus_password.txt
886 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
887 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
888 echo "__docker_version__" > /opt/config/docker_version.txt
889 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
890 echo "__cloud_env__" > /opt/config/cloud_env.txt
891 echo "__external_dns__" > /opt/config/external_dns.txt
893 # Download and run install script
894 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
896 chmod +x vid_install.sh
900 # SDN-C instantiation
902 type: OS::Neutron::Port
904 network: { get_resource: oam_ecomp }
905 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
908 type: OS::Neutron::FloatingIP
910 floating_network_id: { get_param: public_net_id }
911 port_id: { get_resource: sdnc_private_port }
912 floating_ip_address: { get_param: sdnc_float_ip }
915 type: OS::Nova::Server
917 image: { get_param: ubuntu_1404_image }
918 flavor: { get_param: flavor_large }
923 base: { get_param: vm_base_name }
924 key_name: { get_resource: vm_key }
926 - port: { get_resource: sdnc_private_port }
927 user_data_format: RAW
931 __nexus_repo__: { get_param: nexus_repo }
932 __nexus_docker_repo__: { get_param: nexus_docker_repo }
933 __nexus_username__: { get_param: nexus_username }
934 __nexus_password__: { get_param: nexus_password }
935 __artifacts_version__: { get_param: artifacts_version }
936 __dns_ip_addr__: { get_param: dns_ip_addr }
937 __docker_version__: { get_param: docker_version }
938 __gerrit_branch__: { get_param: gerrit_branch }
939 __cloud_env__: { get_param: cloud_env }
940 __external_dns__: { get_param: external_dns }
944 # Create configuration files
946 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
947 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
948 echo "__nexus_username__" > /opt/config/nexus_username.txt
949 echo "__nexus_password__" > /opt/config/nexus_password.txt
950 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
951 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
952 echo "__docker_version__" > /opt/config/docker_version.txt
953 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
954 echo "__cloud_env__" > /opt/config/cloud_env.txt
955 echo "__external_dns__" > /opt/config/external_dns.txt
957 # Download and run install script
958 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
960 chmod +x sdnc_install.sh
966 type: OS::Neutron::Port
968 network: { get_resource: oam_ecomp }
969 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
972 type: OS::Neutron::FloatingIP
974 floating_network_id: { get_param: public_net_id }
975 port_id: { get_resource: sdc_private_port }
976 floating_ip_address: { get_param: sdc_float_ip }
979 type: OS::Cinder::Volume
985 type: OS::Nova::Server
987 image: { get_param: ubuntu_1604_image }
988 flavor: { get_param: flavor_xlarge }
993 base: { get_param: vm_base_name }
994 key_name: { get_resource: vm_key }
996 - port: { get_resource: sdc_private_port }
997 block_device_mapping:
998 - device_name: /dev/vdb
999 volume_id: {get_resource: sdc_volume_data}
1000 user_data_format: RAW
1004 __nexus_repo__: { get_param: nexus_repo }
1005 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1006 __nexus_username__: { get_param: nexus_username }
1007 __nexus_password__: { get_param: nexus_password }
1008 __env_name__: { get_param: dmaap_topic }
1009 __artifacts_version__: { get_param: artifacts_version }
1010 __dns_ip_addr__: { get_param: dns_ip_addr }
1011 __mr_ip_addr__: { get_param: mr_ip_addr }
1012 __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
1013 __docker_version__: { get_param: docker_version }
1014 __gerrit_branch__: { get_param: gerrit_branch }
1015 __cloud_env__: { get_param: cloud_env }
1016 __external_dns__: { get_param: external_dns }
1020 # Create configuration files
1021 mkdir -p /opt/config
1022 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1023 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1024 echo "__nexus_username__" > /opt/config/nexus_username.txt
1025 echo "__nexus_password__" > /opt/config/nexus_password.txt
1026 echo "__env_name__" > /opt/config/env_name.txt
1027 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
1028 echo "__public_ip__" > /opt/config/public_ip.txt
1029 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1030 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1031 echo "__docker_version__" > /opt/config/docker_version.txt
1032 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1033 echo "__cloud_env__" > /opt/config/cloud_env.txt
1034 echo "__external_dns__" > /opt/config/external_dns.txt
1036 # Download and run install script
1037 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh
1039 chmod +x asdc_install.sh
1043 # PORTAL instantiation
1044 portal_private_port:
1045 type: OS::Neutron::Port
1047 network: { get_resource: oam_ecomp }
1048 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
1051 type: OS::Neutron::FloatingIP
1053 floating_network_id: { get_param: public_net_id }
1054 port_id: { get_resource: portal_private_port }
1055 floating_ip_address: { get_param: portal_float_ip }
1058 type: OS::Nova::Server
1060 image: { get_param: ubuntu_1404_image }
1061 flavor: { get_param: flavor_large }
1064 template: base-portal
1066 base: { get_param: vm_base_name }
1067 key_name: { get_resource: vm_key }
1069 - port: { get_resource: portal_private_port }
1070 user_data_format: RAW
1074 __nexus_repo__: { get_param: nexus_repo }
1075 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1076 __nexus_username__: { get_param: nexus_username }
1077 __nexus_password__: { get_param: nexus_password }
1078 __artifacts_version__: { get_param: artifacts_version }
1079 __dns_ip_addr__: { get_param: dns_ip_addr }
1080 __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1081 __docker_version__: { get_param: docker_version }
1082 __gerrit_branch__: { get_param: gerrit_branch }
1083 __cloud_env__: { get_param: cloud_env }
1084 __external_dns__: { get_param: external_dns }
1088 # Create configuration files
1089 mkdir -p /opt/config
1090 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1091 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1092 echo "__nexus_username__" > /opt/config/nexus_username.txt
1093 echo "__nexus_password__" > /opt/config/nexus_password.txt
1094 echo "__public_ip__" > /opt/config/public_ip.txt
1095 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1096 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1097 echo "__docker_version__" > /opt/config/docker_version.txt
1098 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1099 echo "__cloud_env__" > /opt/config/cloud_env.txt
1100 echo "__external_dns__" > /opt/config/external_dns.txt
1102 # Download and run install script
1103 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1105 chmod +x portal_install.sh
1109 # DCAE Controller instantiation
1110 dcae_c_private_port:
1111 type: OS::Neutron::Port
1113 network: { get_resource: oam_ecomp }
1114 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1117 type: OS::Neutron::FloatingIP
1119 floating_network_id: { get_param: public_net_id }
1120 port_id: { get_resource: dcae_c_private_port }
1121 floating_ip_address: { get_param: dcae_float_ip }
1124 type: OS::Nova::Server
1126 image: { get_param: ubuntu_1404_image }
1127 flavor: { get_param: flavor_medium }
1130 template: base-dcae-controller
1132 base: { get_param: vm_base_name }
1133 key_name: { get_resource: vm_key }
1135 - port: { get_resource: dcae_c_private_port }
1136 user_data_format: RAW
1140 __nexus_repo__: { get_param: nexus_repo }
1141 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1142 __nexus_username__: { get_param: nexus_username }
1143 __nexus_password__: { get_param: nexus_password }
1144 __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1145 __gitlab_branch__: { get_param: gitlab_branch }
1146 __dns_ip_addr__: { get_param: dns_ip_addr }
1147 __dcae_zone__: { get_param: dcae_zone }
1148 __dcae_state__: { get_param: dcae_state }
1149 __artifacts_version__: { get_param: artifacts_version }
1150 __tenant_id__: { get_param: openstack_tenant_id }
1151 __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
1152 __openstack_user__: { get_param: openstack_username }
1153 __openstack_password__: { get_param: openstack_api_key }
1154 __openstack_auth_method__: { get_param: openstack_auth_method }
1155 __key_name__: { get_param: key_name }
1156 __rand_str__: { get_resource: random-str }
1157 __pub_key__: { get_param: pub_key }
1158 __nexus_repo_root__: { get_param: nexus_repo_root }
1159 __openstack_region__: { get_param: openstack_region }
1160 __horizon_url__: { get_param: horizon_url }
1161 __keystone_url__: { get_param: keystone_url }
1162 __docker_version__: { get_param: docker_version }
1163 __gerrit_branch__: { get_param: gerrit_branch }
1164 __dcae_code_version__: { get_param: dcae_code_version }
1165 __cloud_env__: { get_param: cloud_env }
1166 __public_net_id__: { get_param: public_net_id }
1167 __dcae_base_environment__: { get_param: dcae_base_environment }
1168 __dcae_ip_addr__: { get_param: dcae_ip_addr }
1169 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1170 __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1171 __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1172 __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1173 __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1174 __dcae_float_ip__: { get_param: dcae_float_ip }
1175 __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip }
1176 __dcae_db_float_ip__: { get_param: dcae_db_float_ip }
1177 __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip }
1178 __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip }
1179 __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip }
1180 __external_dns__: { get_param: external_dns }
1181 __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1182 __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1183 __flavor_small__: { get_param: flavor_small }
1184 __flavor_medium__: { get_param: flavor_medium }
1185 __flavor_large__: { get_param: flavor_large }
1186 __flavor_xlarge__: { get_param: flavor_xlarge }
1190 # Create configuration files
1191 mkdir -p /opt/config
1192 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1193 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1194 echo "__nexus_username__" > /opt/config/nexus_username.txt
1195 echo "__nexus_password__" > /opt/config/nexus_password.txt
1196 echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1197 echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1198 echo "__docker_version__" > /opt/config/docker_version.txt
1199 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1200 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1201 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1202 echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1203 echo "__dcae_state__" > /opt/config/dcae_state.txt
1204 echo "__tenant_id__" > /opt/config/tenant_id.txt
1205 echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1206 echo "__openstack_user__" > /opt/config/openstack_user.txt
1207 echo "__openstack_password__" > /opt/config/openstack_password.txt
1208 echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1209 echo "__key_name__" > /opt/config/key_name.txt
1210 echo "__rand_str__" > /opt/config/rand_str.txt
1211 echo "__pub_key__" > /opt/config/pub_key.txt
1212 echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1213 echo "__openstack_region__" > /opt/config/openstack_region.txt
1214 echo "__horizon_url__" > /opt/config/horizon_url.txt
1215 echo "__keystone_url__" > /opt/config/keystone_url.txt
1216 echo "__cloud_env__" > /opt/config/cloud_env.txt
1217 echo "__public_net_id__" > /opt/config/public_net_id.txt
1218 echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1219 echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1220 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1221 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1222 echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1223 echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1224 echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1225 echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1226 echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1227 echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt
1228 echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt
1229 echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt
1230 echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt
1231 echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt
1232 echo "__external_dns__" > /opt/config/external_dns.txt
1233 echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1234 echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1235 echo "__flavor_small__" > /opt/config/flavor_small.txt
1236 echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1237 echo "__flavor_large__" > /opt/config/flavor_large.txt
1238 echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1240 # Download and run install script
1241 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1243 chmod +x dcae_install.sh
1247 # Policy Engine instantiation
1248 policy_private_port:
1249 type: OS::Neutron::Port
1251 network: { get_resource: oam_ecomp }
1252 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1255 type: OS::Neutron::FloatingIP
1257 floating_network_id: { get_param: public_net_id }
1258 port_id: { get_resource: policy_private_port }
1259 floating_ip_address: { get_param: policy_float_ip }
1262 type: OS::Nova::Server
1264 image: { get_param: ubuntu_1404_image }
1265 flavor: { get_param: flavor_xlarge }
1268 template: base-policy
1270 base: { get_param: vm_base_name }
1271 key_name: { get_resource: vm_key }
1273 - port: { get_resource: policy_private_port }
1274 user_data_format: RAW
1278 __nexus_repo__: { get_param: nexus_repo }
1279 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1280 __nexus_username__: { get_param: nexus_username }
1281 __nexus_password__: { get_param: nexus_password }
1282 __artifacts_version__: { get_param: artifacts_version }
1283 __dns_ip_addr__: { get_param: dns_ip_addr }
1284 __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1285 __docker_version__: { get_param: docker_version }
1286 __gerrit_branch__: { get_param: gerrit_branch }
1287 __cloud_env__: { get_param: cloud_env }
1288 __external_dns__: { get_param: external_dns }
1292 # Create configuration files
1293 mkdir -p /opt/config
1294 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1295 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1296 echo "__nexus_username__" > /opt/config/nexus_username.txt
1297 echo "__nexus_password__" > /opt/config/nexus_password.txt
1298 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1299 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1300 echo "__public_ip__" > /opt/config/public_ip.txt
1301 echo "__docker_version__" > /opt/config/docker_version.txt
1302 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1303 echo "__cloud_env__" > /opt/config/cloud_env.txt
1304 echo "__external_dns__" > /opt/config/external_dns.txt
1306 # Download and run install script
1307 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1309 chmod +x policy_install.sh
1313 # APP-C instantiation
1315 type: OS::Neutron::Port
1317 network: { get_resource: oam_ecomp }
1318 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1321 type: OS::Neutron::FloatingIP
1323 floating_network_id: { get_param: public_net_id }
1324 port_id: { get_resource: appc_private_port }
1325 floating_ip_address: { get_param: appc_float_ip }
1328 type: OS::Nova::Server
1330 image: { get_param: ubuntu_1404_image }
1331 flavor: { get_param: flavor_large }
1336 base: { get_param: vm_base_name }
1337 key_name: { get_resource: vm_key }
1339 - port: { get_resource: appc_private_port }
1340 user_data_format: RAW
1344 __nexus_repo__: { get_param: nexus_repo }
1345 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1346 __nexus_username__: { get_param: nexus_username }
1347 __nexus_password__: { get_param: nexus_password }
1348 __dmaap_topic__: { get_param: dmaap_topic }
1349 __artifacts_version__: { get_param: artifacts_version }
1350 __dns_ip_addr__: { get_param: dns_ip_addr }
1351 __docker_version__: { get_param: docker_version }
1352 __gerrit_branch__: { get_param: gerrit_branch }
1353 __cloud_env__: { get_param: cloud_env }
1354 __external_dns__: { get_param: external_dns }
1358 # Create configuration files
1359 mkdir -p /opt/config
1360 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1361 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1362 echo "__nexus_username__" > /opt/config/nexus_username.txt
1363 echo "__nexus_password__" > /opt/config/nexus_password.txt
1364 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1365 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1366 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1367 echo "__docker_version__" > /opt/config/docker_version.txt
1368 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1369 echo "__cloud_env__" > /opt/config/cloud_env.txt
1370 echo "__external_dns__" > /opt/config/external_dns.txt
1372 # Download and run install script
1373 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1375 chmod +x appc_install.sh