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: Public network subnet id
53 description: Public network gateway IP address
57 description: Name of the Ubuntu 14.04 image
61 description: Name of the Ubuntu 16.04 image
65 description: Name of the Small Flavor supported by the cloud provider
69 description: Name of the Medium Flavor supported by the cloud provider
73 description: Name of the Large Flavor supported by the cloud provider
77 description: Name of the Extra Large Flavor supported by the cloud provider
81 description: Base name of ONAP VMs
85 description: Public/Private key pair name
89 description: Public key to be installed on the compute instance
93 description: Complete URL for the Nexus repository.
97 description: Complete URL for the Nexus repository for docker images.
101 description: Nexus Repository username
105 description: Nexus Repository Password
109 description: Artifacts version of ONAP components
113 label: Version number of ONAP docker images
117 label: Gerrit code branch
118 description: Gerrit branch where to download the code from
122 description: DMaaP Topic name
126 description: Openstack tenant ID
130 description: Openstack username
132 openstack_auth_method:
134 description: Openstack authentication method (password VS. api-key)
138 description: Openstack API Key
142 description: URL of Openstack Horizon
146 description: URL of Openstack Keystone
150 description: Cloud Provider Name
152 ######################
154 # Network parameters #
156 ######################
159 type: comma_delimited_list
160 description: List of External DNS for OAM ONAP network
164 description: First element of the dns_list for ONAP network
166 ### Floating IP addresses ###
169 description: AAI Instance 1 Floating IP Address
173 description: AAI Instance 2 Floating IP Address
177 description: APP-C Floating IP Address
181 description: DCAE Floating IP Address
185 description: DCAE Collector Floating IP Address
189 description: DCAE Collector Database Floating IP Address
193 description: Hadoop VM1 Floating IP Address
197 description: Hadoop VM2 Floating IP Address
201 description: Hadoop VM3 Floating IP Address
205 description: DNS Floating IP Address
209 description: MSO Floating IP Address
213 description: Message Router Floating IP Address
217 description: Policy Engine Floating IP Address
221 description: Portal Floating IP Address
225 description: Robot Framework Floating IP Address
229 description: SDC Floating IP Address
233 description: SDN-C Floating IP Address
237 description: VID Floating IP Address
239 ### Private IP addresses ###
242 description: CIDR of the OAM ONAP network
246 description: AAI Instance 1 IP Address
250 description: AAI Instance 2 IP Address
254 description: APP-C IP Address
258 description: DCAE IP Address
262 description: DCAE Collector IP Address
266 description: DCAE Database IP Address
270 description: Hadoop VM1 IP Address
274 description: Hadoop VM2 IP Address
278 description: Hadoop VM3 IP Address
282 description: DNS IP Address
286 description: MSO IP Address
290 description: Message Router IP Address
294 description: Policy Engine IP Address
298 description: Portal IP Address
302 description: Robot Framework IP Address
306 description: SDC IP Address
310 description: SDN-C IP Address
314 description: VID IP Address
317 ###########################
319 # Parameters used by DCAE #
321 ###########################
323 dcae_base_environment:
325 description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS)
329 description: DCAE Zone to use in VM names created by DCAE controller
333 description: DCAE State to use in VM names created by DCAE controller
337 description: Root URL of Nexus repository
341 description: Snapshot of Maven repository for DCAE deployment
345 description: Region where the DCAE controller will spin the VMs
349 description: Branch of the Gitlab repository
353 description: DCAE Code Version Number
364 type: OS::Heat::RandomString
369 # Public key used to access ONAP components
371 type: OS::Nova::KeyPair
377 base: { get_param: key_name }
378 rand: { get_resource: random-str }
379 public_key: { get_param: pub_key }
380 save_private_key: false
383 # ONAP management private network
385 type: OS::Neutron::Net
389 template: oam_ecomp_rand
391 rand: { get_resource: random-str }
394 type: OS::Neutron::Subnet
398 template: oam_ecomp_rand
400 rand: { get_resource: random-str }
401 network_id: { get_resource: oam_ecomp }
402 cidr: { get_param: oam_network_cidr }
403 dns_nameservers: { get_param: dns_list }
406 type: OS::Neutron::Router
408 external_gateway_info:
409 network: { get_param: public_net_id }
411 - ip_address: { get_param: router_gateway_ip }
412 subnet: { get_param: public_subnet_id }
415 type: OS::Neutron::RouterInterface
417 router_id: { get_resource: router }
418 subnet_id: { get_resource: oam_ecomp_subnet }
421 # DNS Server instantiation
423 type: OS::Neutron::Port
425 network: { get_resource: oam_ecomp }
426 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dns_ip_addr }}]
429 type: OS::Neutron::FloatingIP
431 floating_network_id: { get_param: public_net_id }
432 port_id: { get_resource: dns_private_port }
433 floating_ip_address: { get_param: dns_float_ip }
436 type: OS::Nova::Server
438 image: { get_param: ubuntu_1404_image }
439 flavor: { get_param: flavor_small }
442 template: base-dns-server
444 base: { get_param: vm_base_name }
445 key_name: { get_resource: vm_key }
447 - port: { get_resource: dns_private_port }
448 user_data_format: RAW
452 __nexus_repo__: { get_param: nexus_repo }
453 __artifacts_version__: { get_param: artifacts_version }
454 __oam_network_cidr__: { get_attr: [oam_ecomp_subnet, cidr] }
455 __dns_ip_addr__: { get_param: dns_ip_addr }
456 __aai1_ip_addr__: { get_param: aai1_ip_addr }
457 __aai2_ip_addr__: { get_param: aai2_ip_addr }
458 __appc_ip_addr__: { get_param: appc_ip_addr }
459 __dcae_ip_addr__: { get_param: dcae_ip_addr }
460 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
461 __mso_ip_addr__: { get_param: mso_ip_addr }
462 __mr_ip_addr__: { get_param: mr_ip_addr }
463 __policy_ip_addr__: { get_param: policy_ip_addr }
464 __portal_ip_addr__: { get_param: portal_ip_addr }
465 __robot_ip_addr__: { get_param: robot_ip_addr }
466 __sdc_ip_addr__: { get_param: sdc_ip_addr }
467 __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
468 __vid_ip_addr__: { get_param: vid_ip_addr }
469 __cloud_env__: { get_param: cloud_env }
470 __external_dns__: { get_param: external_dns }
474 # Create configuration files
476 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
477 echo "__cloud_env__" > /opt/config/cloud_env.txt
478 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
479 echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
480 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
481 echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
482 echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
483 echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
484 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
485 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
486 echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
487 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
488 echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
489 echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
490 echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt
491 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
492 echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
493 echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
494 echo "__external_dns__" > /opt/config/external_dns.txt
496 # Download and run install script
497 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
499 chmod +x dns_install.sh
503 # A&AI instantiation (2 VMs)
505 type: OS::Neutron::Port
507 network: { get_resource: oam_ecomp }
508 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai1_ip_addr }}]
511 type: OS::Neutron::FloatingIP
513 floating_network_id: { get_param: public_net_id }
514 port_id: { get_resource: aai1_private_port }
515 floating_ip_address: { get_param: aai1_float_ip }
518 type: OS::Nova::Server
521 image: { get_param: ubuntu_1404_image }
522 flavor: { get_param: flavor_xlarge }
525 template: base-aai-inst1
527 base: { get_param: vm_base_name }
528 key_name: { get_resource: vm_key }
530 - port: { get_resource: aai1_private_port }
531 user_data_format: RAW
535 __nexus_repo__: { get_param: nexus_repo }
536 __nexus_docker_repo__: { get_param: nexus_docker_repo }
537 __nexus_username__: { get_param: nexus_username }
538 __nexus_password__: { get_param: nexus_password }
539 __dmaap_topic__: { get_param: dmaap_topic }
540 __artifacts_version__: { get_param: artifacts_version }
541 __dns_ip_addr__: { get_param: dns_ip_addr }
542 __docker_version__: { get_param: docker_version }
543 __cloud_env__: { get_param: cloud_env }
544 __gerrit_branch__: { get_param: gerrit_branch }
545 __external_dns__: { get_param: external_dns }
549 # Create configuration files
551 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
552 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
553 echo "__nexus_username__" > /opt/config/nexus_username.txt
554 echo "__nexus_password__" > /opt/config/nexus_password.txt
555 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
556 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
557 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
558 echo "__docker_version__" > /opt/config/docker_version.txt
559 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
560 echo "aai_instance_1" > /opt/config/aai_instance.txt
561 echo "__cloud_env__" > /opt/config/cloud_env.txt
562 echo "__external_dns__" > /opt/config/external_dns.txt
564 # Download and run install script
565 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai2_install.sh -o /opt/aai2_install.sh
567 chmod +x aai2_install.sh
572 type: OS::Neutron::Port
574 network: { get_resource: oam_ecomp }
575 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai2_ip_addr }}]
578 type: OS::Neutron::FloatingIP
580 floating_network_id: { get_param: public_net_id }
581 port_id: { get_resource: aai2_private_port }
582 floating_ip_address: { get_param: aai2_float_ip }
585 type: OS::Nova::Server
587 image: { get_param: ubuntu_1404_image }
588 flavor: { get_param: flavor_xlarge }
591 template: base-aai-inst2
593 base: { get_param: vm_base_name }
594 key_name: { get_resource: vm_key }
596 - port: { get_resource: aai2_private_port }
597 user_data_format: RAW
601 __nexus_repo__: { get_param: nexus_repo }
602 __nexus_docker_repo__: { get_param: nexus_docker_repo }
603 __nexus_username__: { get_param: nexus_username }
604 __nexus_password__: { get_param: nexus_password }
605 __dmaap_topic__: { get_param: dmaap_topic }
606 __artifacts_version__: { get_param: artifacts_version }
607 __dns_ip_addr__: { get_param: dns_ip_addr }
608 __docker_version__: { get_param: docker_version }
609 __cloud_env__: { get_param: cloud_env }
610 __gerrit_branch__: { get_param: gerrit_branch }
611 __external_dns__: { get_param: external_dns }
615 # Create configuration files
617 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
618 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
619 echo "__nexus_username__" > /opt/config/nexus_username.txt
620 echo "__nexus_password__" > /opt/config/nexus_password.txt
621 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
622 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
623 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
624 echo "__docker_version__" > /opt/config/docker_version.txt
625 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
626 echo "aai_instance_2" > /opt/config/aai_instance.txt
627 echo "__cloud_env__" > /opt/config/cloud_env.txt
628 echo "__external_dns__" > /opt/config/external_dns.txt
630 # Download and run install script
631 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai2_install.sh -o /opt/aai2_install.sh
633 chmod +x aai2_install.sh
639 type: OS::Neutron::Port
641 network: { get_resource: oam_ecomp }
642 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mso_ip_addr }}]
645 type: OS::Neutron::FloatingIP
647 floating_network_id: { get_param: public_net_id }
648 port_id: { get_resource: mso_private_port }
649 floating_ip_address: { get_param: mso_float_ip }
652 type: OS::Nova::Server
654 image: { get_param: ubuntu_1604_image }
655 flavor: { get_param: flavor_large }
660 base: { get_param: vm_base_name }
661 key_name: { get_resource: vm_key }
663 - port: { get_resource: mso_private_port }
664 user_data_format: RAW
668 __nexus_repo__: { get_param: nexus_repo }
669 __nexus_docker_repo__: { get_param: nexus_docker_repo }
670 __nexus_username__: { get_param: nexus_username }
671 __nexus_password__: { get_param: nexus_password }
672 __openstack_username__: { get_param: openstack_username }
673 __openstack_tenant_id__: { get_param: openstack_tenant_id }
674 __openstack_api_key__: { get_param: openstack_api_key }
675 __openstack_region__: { get_param: openstack_region }
676 __keystone_url__: { get_param: keystone_url }
677 __dmaap_topic__: { get_param: dmaap_topic }
678 __artifacts_version__: { get_param: artifacts_version }
679 __dns_ip_addr__: { get_param: dns_ip_addr }
680 __docker_version__: { get_param: docker_version }
681 __gerrit_branch__: { get_param: gerrit_branch }
682 __cloud_env__: { get_param: cloud_env }
683 __external_dns__: { get_param: external_dns }
687 # Create configuration files
689 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
690 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
691 echo "__nexus_username__" > /opt/config/nexus_username.txt
692 echo "__nexus_password__" > /opt/config/nexus_password.txt
693 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
694 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
695 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
696 echo "__openstack_username__" > /opt/config/openstack_username.txt
697 echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
698 echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
699 echo "__openstack_region__" > /opt/config/openstack_region.txt
700 echo "__keystone_url__" > /opt/config/keystone.txt
701 echo "__docker_version__" > /opt/config/docker_version.txt
702 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
703 echo "__cloud_env__" > /opt/config/cloud_env.txt
704 echo "__external_dns__" > /opt/config/external_dns.txt
706 # Download and run install script
707 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_install.sh -o /opt/mso_install.sh
709 chmod +x mso_install.sh
713 # Message Router instantiation
714 mrouter_private_port:
715 type: OS::Neutron::Port
717 network: { get_resource: oam_ecomp }
718 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mr_ip_addr }}]
721 type: OS::Neutron::FloatingIP
723 floating_network_id: { get_param: public_net_id }
724 port_id: { get_resource: mrouter_private_port }
725 floating_ip_address: { get_param: mr_float_ip }
728 type: OS::Nova::Server
730 image: { get_param: ubuntu_1404_image }
731 flavor: { get_param: flavor_large }
734 template: base-message-router
736 base: { get_param: vm_base_name }
737 key_name: { get_resource: vm_key }
739 - port: { get_resource: mrouter_private_port }
740 user_data_format: RAW
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 __artifacts_version__: { get_param: artifacts_version }
749 __dns_ip_addr__: { get_param: dns_ip_addr }
750 __gerrit_branch__: { get_param: gerrit_branch }
751 __cloud_env__: { get_param: cloud_env }
752 __external_dns__: { get_param: external_dns }
756 # Create configuration files
758 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
759 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
760 echo "__nexus_username__" > /opt/config/nexus_username.txt
761 echo "__nexus_password__" > /opt/config/nexus_password.txt
762 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
763 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
764 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
765 echo "__cloud_env__" > /opt/config/cloud_env.txt
766 echo "__external_dns__" > /opt/config/external_dns.txt
768 # Download and run install script
769 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
771 chmod +x mr_install.sh
775 # Robot Framework instantiation
777 type: OS::Neutron::Port
779 network: { get_resource: oam_ecomp }
780 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: robot_ip_addr }}]
783 type: OS::Neutron::FloatingIP
785 floating_network_id: { get_param: public_net_id }
786 port_id: { get_resource: robot_private_port }
787 floating_ip_address: { get_param: robot_float_ip }
790 type: OS::Nova::Server
792 image: { get_param: ubuntu_1604_image }
793 flavor: { get_param: flavor_small }
798 base: { get_param: vm_base_name }
799 key_name: { get_resource: vm_key }
801 - port: { get_resource: robot_private_port }
802 user_data_format: RAW
806 __nexus_repo__: { get_param: nexus_repo }
807 __nexus_docker_repo__: { get_param: nexus_docker_repo }
808 __nexus_username__: { get_param: nexus_username }
809 __nexus_password__: { get_param: nexus_password }
810 __network_name__: { get_attr: [oam_ecomp, name] }
811 __openstack_username__: { get_param: openstack_username }
812 __openstack_api_key__: { get_param : openstack_api_key }
813 __artifacts_version__: { get_param: artifacts_version }
814 __openstack_region__: { get_param: openstack_region }
815 __dns_ip_addr__: { get_param: dns_ip_addr }
816 __docker_version__: { get_param: docker_version }
817 __gerrit_branch__: { get_param: gerrit_branch }
818 __cloud_env__: { get_param: cloud_env }
819 __external_dns__: { get_param: external_dns }
823 # Create configuration files
825 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
826 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
827 echo "__nexus_username__" > /opt/config/nexus_username.txt
828 echo "__nexus_password__" > /opt/config/nexus_password.txt
829 echo "__network_name__" > /opt/config/network.txt
830 echo "__openstack_username__" > /opt/config/openstack_username.txt
831 echo "__openstack_api_key__" > /opt/config/openstack_password.txt
832 echo "__openstack_region__" > /opt/config/region.txt
833 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
834 echo "__docker_version__" > /opt/config/docker_version.txt
835 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
836 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
837 echo "__cloud_env__" > /opt/config/cloud_env.txt
838 echo "__external_dns__" > /opt/config/external_dns.txt
840 # Download and run install script
841 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
843 chmod +x robot_install.sh
849 type: OS::Neutron::Port
851 network: { get_resource: oam_ecomp }
852 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: vid_ip_addr }}]
855 type: OS::Neutron::FloatingIP
857 floating_network_id: { get_param: public_net_id }
858 port_id: { get_resource: vid_private_port }
859 floating_ip_address: { get_param: vid_float_ip }
862 type: OS::Nova::Server
864 image: { get_param: ubuntu_1404_image }
865 flavor: { get_param: flavor_medium }
870 base: { get_param: vm_base_name }
871 key_name: { get_resource: vm_key }
873 - port: { get_resource: vid_private_port }
874 user_data_format: RAW
878 __nexus_repo__: { get_param: nexus_repo }
879 __nexus_docker_repo__: { get_param: nexus_docker_repo }
880 __nexus_username__: { get_param: nexus_username }
881 __nexus_password__: { get_param: nexus_password }
882 __artifacts_version__: { get_param: artifacts_version }
883 __dns_ip_addr__: { get_param: dns_ip_addr }
884 __docker_version__: { get_param: docker_version }
885 __gerrit_branch__: { get_param: gerrit_branch }
886 __cloud_env__: { get_param: cloud_env }
887 __external_dns__: { get_param: external_dns }
891 # Create configuration files
893 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
894 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
895 echo "__nexus_username__" > /opt/config/nexus_username.txt
896 echo "__nexus_password__" > /opt/config/nexus_password.txt
897 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
898 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
899 echo "__docker_version__" > /opt/config/docker_version.txt
900 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
901 echo "__cloud_env__" > /opt/config/cloud_env.txt
902 echo "__external_dns__" > /opt/config/external_dns.txt
904 # Download and run install script
905 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
907 chmod +x vid_install.sh
911 # SDN-C instantiation
913 type: OS::Neutron::Port
915 network: { get_resource: oam_ecomp }
916 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
919 type: OS::Neutron::FloatingIP
921 floating_network_id: { get_param: public_net_id }
922 port_id: { get_resource: sdnc_private_port }
923 floating_ip_address: { get_param: sdnc_float_ip }
926 type: OS::Nova::Server
928 image: { get_param: ubuntu_1404_image }
929 flavor: { get_param: flavor_large }
934 base: { get_param: vm_base_name }
935 key_name: { get_resource: vm_key }
937 - port: { get_resource: sdnc_private_port }
938 user_data_format: RAW
942 __nexus_repo__: { get_param: nexus_repo }
943 __nexus_docker_repo__: { get_param: nexus_docker_repo }
944 __nexus_username__: { get_param: nexus_username }
945 __nexus_password__: { get_param: nexus_password }
946 __artifacts_version__: { get_param: artifacts_version }
947 __dns_ip_addr__: { get_param: dns_ip_addr }
948 __docker_version__: { get_param: docker_version }
949 __gerrit_branch__: { get_param: gerrit_branch }
950 __cloud_env__: { get_param: cloud_env }
951 __external_dns__: { get_param: external_dns }
955 # Create configuration files
957 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
958 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
959 echo "__nexus_username__" > /opt/config/nexus_username.txt
960 echo "__nexus_password__" > /opt/config/nexus_password.txt
961 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
962 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
963 echo "__docker_version__" > /opt/config/docker_version.txt
964 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
965 echo "__cloud_env__" > /opt/config/cloud_env.txt
966 echo "__external_dns__" > /opt/config/external_dns.txt
968 # Download and run install script
969 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
971 chmod +x sdnc_install.sh
977 type: OS::Neutron::Port
979 network: { get_resource: oam_ecomp }
980 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
983 type: OS::Neutron::FloatingIP
985 floating_network_id: { get_param: public_net_id }
986 port_id: { get_resource: sdc_private_port }
987 floating_ip_address: { get_param: sdc_float_ip }
990 type: OS::Cinder::Volume
996 type: OS::Nova::Server
998 image: { get_param: ubuntu_1604_image }
999 flavor: { get_param: flavor_xlarge }
1004 base: { get_param: vm_base_name }
1005 key_name: { get_resource: vm_key }
1007 - port: { get_resource: sdc_private_port }
1008 block_device_mapping:
1009 - device_name: /dev/vdb
1010 volume_id: {get_resource: sdc_volume_data}
1011 user_data_format: RAW
1015 __nexus_repo__: { get_param: nexus_repo }
1016 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1017 __nexus_username__: { get_param: nexus_username }
1018 __nexus_password__: { get_param: nexus_password }
1019 __env_name__: { get_param: dmaap_topic }
1020 __artifacts_version__: { get_param: artifacts_version }
1021 __dns_ip_addr__: { get_param: dns_ip_addr }
1022 __mr_ip_addr__: { get_param: mr_ip_addr }
1023 __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
1024 __docker_version__: { get_param: docker_version }
1025 __gerrit_branch__: { get_param: gerrit_branch }
1026 __cloud_env__: { get_param: cloud_env }
1027 __external_dns__: { get_param: external_dns }
1031 # Create configuration files
1032 mkdir -p /opt/config
1033 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1034 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1035 echo "__nexus_username__" > /opt/config/nexus_username.txt
1036 echo "__nexus_password__" > /opt/config/nexus_password.txt
1037 echo "__env_name__" > /opt/config/env_name.txt
1038 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
1039 echo "__public_ip__" > /opt/config/public_ip.txt
1040 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1041 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1042 echo "__docker_version__" > /opt/config/docker_version.txt
1043 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1044 echo "__cloud_env__" > /opt/config/cloud_env.txt
1045 echo "__external_dns__" > /opt/config/external_dns.txt
1047 # Download and run install script
1048 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh
1050 chmod +x asdc_install.sh
1054 # PORTAL instantiation
1055 portal_private_port:
1056 type: OS::Neutron::Port
1058 network: { get_resource: oam_ecomp }
1059 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
1062 type: OS::Neutron::FloatingIP
1064 floating_network_id: { get_param: public_net_id }
1065 port_id: { get_resource: portal_private_port }
1066 floating_ip_address: { get_param: portal_float_ip }
1069 type: OS::Nova::Server
1071 image: { get_param: ubuntu_1404_image }
1072 flavor: { get_param: flavor_large }
1075 template: base-portal
1077 base: { get_param: vm_base_name }
1078 key_name: { get_resource: vm_key }
1080 - port: { get_resource: portal_private_port }
1081 user_data_format: RAW
1085 __nexus_repo__: { get_param: nexus_repo }
1086 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1087 __nexus_username__: { get_param: nexus_username }
1088 __nexus_password__: { get_param: nexus_password }
1089 __artifacts_version__: { get_param: artifacts_version }
1090 __dns_ip_addr__: { get_param: dns_ip_addr }
1091 __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1092 __docker_version__: { get_param: docker_version }
1093 __gerrit_branch__: { get_param: gerrit_branch }
1094 __cloud_env__: { get_param: cloud_env }
1095 __external_dns__: { get_param: external_dns }
1099 # Create configuration files
1100 mkdir -p /opt/config
1101 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1102 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1103 echo "__nexus_username__" > /opt/config/nexus_username.txt
1104 echo "__nexus_password__" > /opt/config/nexus_password.txt
1105 echo "__public_ip__" > /opt/config/public_ip.txt
1106 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1107 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1108 echo "__docker_version__" > /opt/config/docker_version.txt
1109 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1110 echo "__cloud_env__" > /opt/config/cloud_env.txt
1111 echo "__external_dns__" > /opt/config/external_dns.txt
1113 # Download and run install script
1114 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1116 chmod +x portal_install.sh
1120 # DCAE Controller instantiation
1121 dcae_c_private_port:
1122 type: OS::Neutron::Port
1124 network: { get_resource: oam_ecomp }
1125 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1128 type: OS::Neutron::FloatingIP
1130 floating_network_id: { get_param: public_net_id }
1131 port_id: { get_resource: dcae_c_private_port }
1132 floating_ip_address: { get_param: dcae_float_ip }
1135 type: OS::Nova::Server
1137 image: { get_param: ubuntu_1404_image }
1138 flavor: { get_param: flavor_medium }
1141 template: base-dcae-controller
1143 base: { get_param: vm_base_name }
1144 key_name: { get_resource: vm_key }
1146 - port: { get_resource: dcae_c_private_port }
1147 user_data_format: RAW
1151 __nexus_repo__: { get_param: nexus_repo }
1152 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1153 __nexus_username__: { get_param: nexus_username }
1154 __nexus_password__: { get_param: nexus_password }
1155 __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1156 __gitlab_branch__: { get_param: gitlab_branch }
1157 __dns_ip_addr__: { get_param: dns_ip_addr }
1158 __dcae_zone__: { get_param: dcae_zone }
1159 __dcae_state__: { get_param: dcae_state }
1160 __artifacts_version__: { get_param: artifacts_version }
1161 __tenant_id__: { get_param: openstack_tenant_id }
1162 __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
1163 __openstack_user__: { get_param: openstack_username }
1164 __openstack_password__: { get_param: openstack_api_key }
1165 __openstack_auth_method__: { get_param: openstack_auth_method }
1166 __key_name__: { get_param: key_name }
1167 __rand_str__: { get_resource: random-str }
1168 __pub_key__: { get_param: pub_key }
1169 __nexus_repo_root__: { get_param: nexus_repo_root }
1170 __openstack_region__: { get_param: openstack_region }
1171 __horizon_url__: { get_param: horizon_url }
1172 __keystone_url__: { get_param: keystone_url }
1173 __docker_version__: { get_param: docker_version }
1174 __gerrit_branch__: { get_param: gerrit_branch }
1175 __dcae_code_version__: { get_param: dcae_code_version }
1176 __cloud_env__: { get_param: cloud_env }
1177 __public_net_id__: { get_param: public_net_id }
1178 __dcae_base_environment__: { get_param: dcae_base_environment }
1179 __dcae_ip_addr__: { get_param: dcae_ip_addr }
1180 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1181 __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1182 __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1183 __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1184 __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1185 __dcae_float_ip__: { get_param: dcae_float_ip }
1186 __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip }
1187 __dcae_db_float_ip__: { get_param: dcae_db_float_ip }
1188 __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip }
1189 __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip }
1190 __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip }
1191 __external_dns__: { get_param: external_dns }
1192 __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1193 __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1194 __flavor_small__: { get_param: flavor_small }
1195 __flavor_medium__: { get_param: flavor_medium }
1196 __flavor_large__: { get_param: flavor_large }
1197 __flavor_xlarge__: { get_param: flavor_xlarge }
1201 # Create configuration files
1202 mkdir -p /opt/config
1203 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1204 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1205 echo "__nexus_username__" > /opt/config/nexus_username.txt
1206 echo "__nexus_password__" > /opt/config/nexus_password.txt
1207 echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1208 echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1209 echo "__docker_version__" > /opt/config/docker_version.txt
1210 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1211 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1212 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1213 echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1214 echo "__dcae_state__" > /opt/config/dcae_state.txt
1215 echo "__tenant_id__" > /opt/config/tenant_id.txt
1216 echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1217 echo "__openstack_user__" > /opt/config/openstack_user.txt
1218 echo "__openstack_password__" > /opt/config/openstack_password.txt
1219 echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1220 echo "__key_name__" > /opt/config/key_name.txt
1221 echo "__rand_str__" > /opt/config/rand_str.txt
1222 echo "__pub_key__" > /opt/config/pub_key.txt
1223 echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1224 echo "__openstack_region__" > /opt/config/openstack_region.txt
1225 echo "__horizon_url__" > /opt/config/horizon_url.txt
1226 echo "__keystone_url__" > /opt/config/keystone_url.txt
1227 echo "__cloud_env__" > /opt/config/cloud_env.txt
1228 echo "__public_net_id__" > /opt/config/public_net_id.txt
1229 echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1230 echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1231 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1232 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1233 echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1234 echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1235 echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1236 echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1237 echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1238 echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt
1239 echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt
1240 echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt
1241 echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt
1242 echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt
1243 echo "__external_dns__" > /opt/config/external_dns.txt
1244 echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1245 echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1246 echo "__flavor_small__" > /opt/config/flavor_small.txt
1247 echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1248 echo "__flavor_large__" > /opt/config/flavor_large.txt
1249 echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1251 # Download and run install script
1252 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1254 chmod +x dcae_install.sh
1258 # Policy Engine instantiation
1259 policy_private_port:
1260 type: OS::Neutron::Port
1262 network: { get_resource: oam_ecomp }
1263 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1266 type: OS::Neutron::FloatingIP
1268 floating_network_id: { get_param: public_net_id }
1269 port_id: { get_resource: policy_private_port }
1270 floating_ip_address: { get_param: policy_float_ip }
1273 type: OS::Nova::Server
1275 image: { get_param: ubuntu_1404_image }
1276 flavor: { get_param: flavor_xlarge }
1279 template: base-policy
1281 base: { get_param: vm_base_name }
1282 key_name: { get_resource: vm_key }
1284 - port: { get_resource: policy_private_port }
1285 user_data_format: RAW
1289 __nexus_repo__: { get_param: nexus_repo }
1290 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1291 __nexus_username__: { get_param: nexus_username }
1292 __nexus_password__: { get_param: nexus_password }
1293 __artifacts_version__: { get_param: artifacts_version }
1294 __dns_ip_addr__: { get_param: dns_ip_addr }
1295 __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1296 __docker_version__: { get_param: docker_version }
1297 __gerrit_branch__: { get_param: gerrit_branch }
1298 __cloud_env__: { get_param: cloud_env }
1299 __external_dns__: { get_param: external_dns }
1303 # Create configuration files
1304 mkdir -p /opt/config
1305 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1306 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1307 echo "__nexus_username__" > /opt/config/nexus_username.txt
1308 echo "__nexus_password__" > /opt/config/nexus_password.txt
1309 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1310 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1311 echo "__public_ip__" > /opt/config/public_ip.txt
1312 echo "__docker_version__" > /opt/config/docker_version.txt
1313 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1314 echo "__cloud_env__" > /opt/config/cloud_env.txt
1315 echo "__external_dns__" > /opt/config/external_dns.txt
1317 # Download and run install script
1318 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1320 chmod +x policy_install.sh
1324 # APP-C instantiation
1326 type: OS::Neutron::Port
1328 network: { get_resource: oam_ecomp }
1329 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1332 type: OS::Neutron::FloatingIP
1334 floating_network_id: { get_param: public_net_id }
1335 port_id: { get_resource: appc_private_port }
1336 floating_ip_address: { get_param: appc_float_ip }
1339 type: OS::Nova::Server
1341 image: { get_param: ubuntu_1404_image }
1342 flavor: { get_param: flavor_large }
1347 base: { get_param: vm_base_name }
1348 key_name: { get_resource: vm_key }
1350 - port: { get_resource: appc_private_port }
1351 user_data_format: RAW
1355 __nexus_repo__: { get_param: nexus_repo }
1356 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1357 __nexus_username__: { get_param: nexus_username }
1358 __nexus_password__: { get_param: nexus_password }
1359 __dmaap_topic__: { get_param: dmaap_topic }
1360 __artifacts_version__: { get_param: artifacts_version }
1361 __dns_ip_addr__: { get_param: dns_ip_addr }
1362 __docker_version__: { get_param: docker_version }
1363 __gerrit_branch__: { get_param: gerrit_branch }
1364 __cloud_env__: { get_param: cloud_env }
1365 __external_dns__: { get_param: external_dns }
1369 # Create configuration files
1370 mkdir -p /opt/config
1371 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1372 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1373 echo "__nexus_username__" > /opt/config/nexus_username.txt
1374 echo "__nexus_password__" > /opt/config/nexus_password.txt
1375 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1376 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1377 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1378 echo "__docker_version__" > /opt/config/docker_version.txt
1379 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1380 echo "__cloud_env__" > /opt/config/cloud_env.txt
1381 echo "__external_dns__" > /opt/config/external_dns.txt
1383 # Download and run install script
1384 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1386 chmod +x appc_install.sh