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 Floating IP Address
165 description: APP-C Floating IP Address
169 description: DCAE Floating IP Address
173 description: DCAE Collector Floating IP Address
177 description: DCAE Collector Database Floating IP Address
181 description: Hadoop VM1 Floating IP Address
185 description: Hadoop VM2 Floating IP Address
189 description: Hadoop VM3 Floating IP Address
193 description: DNS Floating IP Address
197 description: MSO Floating IP Address
201 description: Message Router Floating IP Address
205 description: Policy Engine Floating IP Address
209 description: Portal Floating IP Address
213 description: Robot Framework Floating IP Address
217 description: SDC Floating IP Address
221 description: SDN-C Floating IP Address
225 description: VID Floating IP Address
227 ### Private IP addresses ###
230 description: CIDR of the OAM ONAP network
234 description: AAI IP Address
238 description: APP-C IP Address
242 description: DCAE IP Address
246 description: DCAE Collector IP Address
250 description: DCAE Database IP Address
254 description: Hadoop VM1 IP Address
258 description: Hadoop VM2 IP Address
262 description: Hadoop VM3 IP Address
266 description: DNS IP Address
270 description: MSO IP Address
274 description: Message Router IP Address
278 description: Policy Engine IP Address
282 description: Portal IP Address
286 description: Robot Framework IP Address
290 description: SDC IP Address
294 description: SDN-C IP Address
298 description: VID IP Address
301 ###########################
303 # Parameters used by DCAE #
305 ###########################
307 dcae_base_environment:
309 description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS)
313 description: DCAE Zone to use in VM names created by DCAE controller
317 description: DCAE State to use in VM names created by DCAE controller
321 description: Root URL of Nexus repository
325 description: Snapshot of Maven repository for DCAE deployment
329 description: Region where the DCAE controller will spin the VMs
333 description: Branch of the Gitlab repository
337 description: DCAE Code Version Number
348 type: OS::Heat::RandomString
353 # Public key used to access ONAP components
355 type: OS::Nova::KeyPair
361 base: { get_param: key_name }
362 rand: { get_resource: random-str }
363 public_key: { get_param: pub_key }
364 save_private_key: false
367 # ONAP management private network
369 type: OS::Neutron::Net
373 template: oam_ecomp_rand
375 rand: { get_resource: random-str }
378 type: OS::Neutron::Subnet
382 template: oam_ecomp_rand
384 rand: { get_resource: random-str }
385 network_id: { get_resource: oam_ecomp }
386 cidr: { get_param: oam_network_cidr }
387 dns_nameservers: { get_param: dns_list }
390 type: OS::Neutron::Router
392 external_gateway_info:
393 network: { get_param: public_net_id }
396 type: OS::Neutron::RouterInterface
398 router_id: { get_resource: router }
399 subnet_id: { get_resource: oam_ecomp_subnet }
402 # DNS Server instantiation
404 type: OS::Neutron::Port
406 network: { get_resource: oam_ecomp }
407 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dns_ip_addr }}]
410 type: OS::Neutron::FloatingIP
412 floating_network_id: { get_param: public_net_id }
413 port_id: { get_resource: dns_private_port }
414 floating_ip_address: { get_param: dns_float_ip }
417 type: OS::Nova::Server
419 image: { get_param: ubuntu_1404_image }
420 flavor: { get_param: flavor_small }
423 template: base-dns-server
425 base: { get_param: vm_base_name }
426 key_name: { get_resource: vm_key }
428 - port: { get_resource: dns_private_port }
429 user_data_format: RAW
433 __nexus_repo__: { get_param: nexus_repo }
434 __artifacts_version__: { get_param: artifacts_version }
435 __oam_network_cidr__: { get_attr: [oam_ecomp_subnet, cidr] }
436 __dns_ip_addr__: { get_param: dns_ip_addr }
437 __aai_ip_addr__: { get_param: aai_ip_addr }
438 __appc_ip_addr__: { get_param: appc_ip_addr }
439 __dcae_ip_addr__: { get_param: dcae_ip_addr }
440 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
441 __mso_ip_addr__: { get_param: mso_ip_addr }
442 __mr_ip_addr__: { get_param: mr_ip_addr }
443 __policy_ip_addr__: { get_param: policy_ip_addr }
444 __portal_ip_addr__: { get_param: portal_ip_addr }
445 __robot_ip_addr__: { get_param: robot_ip_addr }
446 __sdc_ip_addr__: { get_param: sdc_ip_addr }
447 __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
448 __vid_ip_addr__: { get_param: vid_ip_addr }
449 __cloud_env__: { get_param: cloud_env }
454 # Create configuration files
456 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
457 echo "__cloud_env__" > /opt/config/cloud_env.txt
458 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
459 echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
460 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
461 echo "__aai_ip_addr__" > /opt/config/aai_ip_addr.txt
462 echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
463 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
464 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
465 echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
466 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
467 echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
468 echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
469 echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt
470 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
471 echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
472 echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
474 # Download and run install script
475 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
477 chmod +x dns_install.sh
483 type: OS::Neutron::Port
485 network: { get_resource: oam_ecomp }
486 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai_ip_addr }}]
489 type: OS::Neutron::FloatingIP
491 floating_network_id: { get_param: public_net_id }
492 port_id: { get_resource: aai_private_port }
493 floating_ip_address: { get_param: aai_float_ip }
496 type: OS::Nova::Server
498 image: { get_param: ubuntu_1404_image }
499 flavor: { get_param: flavor_xlarge }
504 base: { get_param: vm_base_name }
505 key_name: { get_resource: vm_key }
507 - port: { get_resource: aai_private_port }
508 user_data_format: RAW
512 __nexus_repo__: { get_param: nexus_repo }
513 __nexus_docker_repo__: { get_param: nexus_docker_repo }
514 __nexus_username__: { get_param: nexus_username }
515 __nexus_password__: { get_param: nexus_password }
516 __dmaap_topic__: { get_param: dmaap_topic }
517 __artifacts_version__: { get_param: artifacts_version }
518 __dns_ip_addr__: { get_param: dns_ip_addr }
519 __sdc_ip_addr__: { get_param: sdc_ip_addr }
520 __docker_version__: { get_param: docker_version }
521 __cloud_env__: { get_param: cloud_env }
522 __external_dns__: { get_param: external_dns }
526 # Create configuration files
528 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
529 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
530 echo "__nexus_username__" > /opt/config/nexus_username.txt
531 echo "__nexus_password__" > /opt/config/nexus_password.txt
532 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
533 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
534 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
535 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
536 echo "__docker_version__" > /opt/config/docker_version.txt
537 echo "__cloud_env__" > /opt/config/cloud_env.txt
538 echo "__external_dns__" > /opt/config/external_dns.txt
540 # Download and run install script
541 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
543 chmod +x aai_install.sh
549 type: OS::Neutron::Port
551 network: { get_resource: oam_ecomp }
552 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mso_ip_addr }}]
555 type: OS::Neutron::FloatingIP
557 floating_network_id: { get_param: public_net_id }
558 port_id: { get_resource: mso_private_port }
559 floating_ip_address: { get_param: mso_float_ip }
562 type: OS::Nova::Server
564 image: { get_param: ubuntu_1604_image }
565 flavor: { get_param: flavor_large }
570 base: { get_param: vm_base_name }
571 key_name: { get_resource: vm_key }
573 - port: { get_resource: mso_private_port }
574 user_data_format: RAW
578 __nexus_repo__: { get_param: nexus_repo }
579 __nexus_docker_repo__: { get_param: nexus_docker_repo }
580 __nexus_username__: { get_param: nexus_username }
581 __nexus_password__: { get_param: nexus_password }
582 __openstack_username__: { get_param: openstack_username }
583 __openstack_tenant_id__: { get_param: openstack_tenant_id }
584 __openstack_api_key__: { get_param: openstack_api_key }
585 __openstack_region__: { get_param: openstack_region }
586 __keystone_url__: { get_param: keystone_url }
587 __dmaap_topic__: { get_param: dmaap_topic }
588 __artifacts_version__: { get_param: artifacts_version }
589 __dns_ip_addr__: { get_param: dns_ip_addr }
590 __docker_version__: { get_param: docker_version }
591 __gerrit_branch__: { get_param: gerrit_branch }
592 __cloud_env__: { get_param: cloud_env }
593 __external_dns__: { get_param: external_dns }
597 # Create configuration files
599 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
600 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
601 echo "__nexus_username__" > /opt/config/nexus_username.txt
602 echo "__nexus_password__" > /opt/config/nexus_password.txt
603 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
604 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
605 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
606 echo "__openstack_username__" > /opt/config/openstack_username.txt
607 echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
608 echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
609 echo "__openstack_region__" > /opt/config/openstack_region.txt
610 echo "__keystone_url__" > /opt/config/keystone.txt
611 echo "__docker_version__" > /opt/config/docker_version.txt
612 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
613 echo "__cloud_env__" > /opt/config/cloud_env.txt
614 echo "__external_dns__" > /opt/config/external_dns.txt
616 # Download and run install script
617 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_install.sh -o /opt/mso_install.sh
619 chmod +x mso_install.sh
623 # Message Router instantiation
624 mrouter_private_port:
625 type: OS::Neutron::Port
627 network: { get_resource: oam_ecomp }
628 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mr_ip_addr }}]
631 type: OS::Neutron::FloatingIP
633 floating_network_id: { get_param: public_net_id }
634 port_id: { get_resource: mrouter_private_port }
635 floating_ip_address: { get_param: mr_float_ip }
638 type: OS::Nova::Server
640 image: { get_param: ubuntu_1404_image }
641 flavor: { get_param: flavor_large }
644 template: base-message-router
646 base: { get_param: vm_base_name }
647 key_name: { get_resource: vm_key }
649 - port: { get_resource: mrouter_private_port }
650 user_data_format: RAW
654 __nexus_repo__: { get_param: nexus_repo }
655 __nexus_docker_repo__: { get_param: nexus_docker_repo }
656 __nexus_username__: { get_param: nexus_username }
657 __nexus_password__: { get_param: nexus_password }
658 __artifacts_version__: { get_param: artifacts_version }
659 __dns_ip_addr__: { get_param: dns_ip_addr }
660 __gerrit_branch__: { get_param: gerrit_branch }
661 __cloud_env__: { get_param: cloud_env }
662 __external_dns__: { get_param: external_dns }
666 # Create configuration files
668 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
669 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
670 echo "__nexus_username__" > /opt/config/nexus_username.txt
671 echo "__nexus_password__" > /opt/config/nexus_password.txt
672 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
673 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
674 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
675 echo "__cloud_env__" > /opt/config/cloud_env.txt
676 echo "__external_dns__" > /opt/config/external_dns.txt
678 # Download and run install script
679 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
681 chmod +x mr_install.sh
685 # Robot Framework instantiation
687 type: OS::Neutron::Port
689 network: { get_resource: oam_ecomp }
690 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: robot_ip_addr }}]
693 type: OS::Neutron::FloatingIP
695 floating_network_id: { get_param: public_net_id }
696 port_id: { get_resource: robot_private_port }
697 floating_ip_address: { get_param: robot_float_ip }
700 type: OS::Nova::Server
702 image: { get_param: ubuntu_1604_image }
703 flavor: { get_param: flavor_small }
708 base: { get_param: vm_base_name }
709 key_name: { get_resource: vm_key }
711 - port: { get_resource: robot_private_port }
712 user_data_format: RAW
716 __nexus_repo__: { get_param: nexus_repo }
717 __nexus_docker_repo__: { get_param: nexus_docker_repo }
718 __nexus_username__: { get_param: nexus_username }
719 __nexus_password__: { get_param: nexus_password }
720 __network_name__: { get_attr: [oam_ecomp, name] }
721 __openstack_username__: { get_param: openstack_username }
722 __openstack_api_key__: { get_param : openstack_api_key }
723 __artifacts_version__: { get_param: artifacts_version }
724 __openstack_region__: { get_param: openstack_region }
725 __dns_ip_addr__: { get_param: dns_ip_addr }
726 __docker_version__: { get_param: docker_version }
727 __gerrit_branch__: { get_param: gerrit_branch }
728 __cloud_env__: { get_param: cloud_env }
729 __external_dns__: { get_param: external_dns }
733 # Create configuration files
735 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
736 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
737 echo "__nexus_username__" > /opt/config/nexus_username.txt
738 echo "__nexus_password__" > /opt/config/nexus_password.txt
739 echo "__network_name__" > /opt/config/network.txt
740 echo "__openstack_username__" > /opt/config/openstack_username.txt
741 echo "__openstack_api_key__" > /opt/config/openstack_password.txt
742 echo "__openstack_region__" > /opt/config/region.txt
743 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
744 echo "__docker_version__" > /opt/config/docker_version.txt
745 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
746 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
747 echo "__cloud_env__" > /opt/config/cloud_env.txt
748 echo "__external_dns__" > /opt/config/external_dns.txt
750 # Download and run install script
751 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
753 chmod +x robot_install.sh
759 type: OS::Neutron::Port
761 network: { get_resource: oam_ecomp }
762 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: vid_ip_addr }}]
765 type: OS::Neutron::FloatingIP
767 floating_network_id: { get_param: public_net_id }
768 port_id: { get_resource: vid_private_port }
769 floating_ip_address: { get_param: vid_float_ip }
772 type: OS::Nova::Server
774 image: { get_param: ubuntu_1404_image }
775 flavor: { get_param: flavor_medium }
780 base: { get_param: vm_base_name }
781 key_name: { get_resource: vm_key }
783 - port: { get_resource: vid_private_port }
784 user_data_format: RAW
788 __nexus_repo__: { get_param: nexus_repo }
789 __nexus_docker_repo__: { get_param: nexus_docker_repo }
790 __nexus_username__: { get_param: nexus_username }
791 __nexus_password__: { get_param: nexus_password }
792 __artifacts_version__: { get_param: artifacts_version }
793 __dns_ip_addr__: { get_param: dns_ip_addr }
794 __docker_version__: { get_param: docker_version }
795 __gerrit_branch__: { get_param: gerrit_branch }
796 __cloud_env__: { get_param: cloud_env }
797 __external_dns__: { get_param: external_dns }
801 # Create configuration files
803 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
804 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
805 echo "__nexus_username__" > /opt/config/nexus_username.txt
806 echo "__nexus_password__" > /opt/config/nexus_password.txt
807 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
808 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
809 echo "__docker_version__" > /opt/config/docker_version.txt
810 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
811 echo "__cloud_env__" > /opt/config/cloud_env.txt
812 echo "__external_dns__" > /opt/config/external_dns.txt
814 # Download and run install script
815 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
817 chmod +x vid_install.sh
821 # SDN-C instantiation
823 type: OS::Neutron::Port
825 network: { get_resource: oam_ecomp }
826 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
829 type: OS::Neutron::FloatingIP
831 floating_network_id: { get_param: public_net_id }
832 port_id: { get_resource: sdnc_private_port }
833 floating_ip_address: { get_param: sdnc_float_ip }
836 type: OS::Nova::Server
838 image: { get_param: ubuntu_1404_image }
839 flavor: { get_param: flavor_large }
844 base: { get_param: vm_base_name }
845 key_name: { get_resource: vm_key }
847 - port: { get_resource: sdnc_private_port }
848 user_data_format: RAW
852 __nexus_repo__: { get_param: nexus_repo }
853 __nexus_docker_repo__: { get_param: nexus_docker_repo }
854 __nexus_username__: { get_param: nexus_username }
855 __nexus_password__: { get_param: nexus_password }
856 __artifacts_version__: { get_param: artifacts_version }
857 __dns_ip_addr__: { get_param: dns_ip_addr }
858 __docker_version__: { get_param: docker_version }
859 __gerrit_branch__: { get_param: gerrit_branch }
860 __cloud_env__: { get_param: cloud_env }
861 __external_dns__: { get_param: external_dns }
865 # Create configuration files
867 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
868 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
869 echo "__nexus_username__" > /opt/config/nexus_username.txt
870 echo "__nexus_password__" > /opt/config/nexus_password.txt
871 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
872 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
873 echo "__docker_version__" > /opt/config/docker_version.txt
874 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
875 echo "__cloud_env__" > /opt/config/cloud_env.txt
876 echo "__external_dns__" > /opt/config/external_dns.txt
878 # Download and run install script
879 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
881 chmod +x sdnc_install.sh
887 type: OS::Neutron::Port
889 network: { get_resource: oam_ecomp }
890 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
893 type: OS::Neutron::FloatingIP
895 floating_network_id: { get_param: public_net_id }
896 port_id: { get_resource: sdc_private_port }
897 floating_ip_address: { get_param: sdc_float_ip }
900 type: OS::Cinder::Volume
906 type: OS::Nova::Server
908 image: { get_param: ubuntu_1604_image }
909 flavor: { get_param: flavor_xlarge }
914 base: { get_param: vm_base_name }
915 key_name: { get_resource: vm_key }
917 - port: { get_resource: sdc_private_port }
918 block_device_mapping:
919 - device_name: /dev/vdb
920 volume_id: {get_resource: sdc_volume_data}
921 user_data_format: RAW
925 __nexus_repo__: { get_param: nexus_repo }
926 __nexus_docker_repo__: { get_param: nexus_docker_repo }
927 __nexus_username__: { get_param: nexus_username }
928 __nexus_password__: { get_param: nexus_password }
929 __env_name__: { get_param: dmaap_topic }
930 __artifacts_version__: { get_param: artifacts_version }
931 __dns_ip_addr__: { get_param: dns_ip_addr }
932 __mr_ip_addr__: { get_param: mr_ip_addr }
933 __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
934 __docker_version__: { get_param: docker_version }
935 __gerrit_branch__: { get_param: gerrit_branch }
936 __cloud_env__: { get_param: cloud_env }
937 __external_dns__: { get_param: external_dns }
941 # Create configuration files
943 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
944 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
945 echo "__nexus_username__" > /opt/config/nexus_username.txt
946 echo "__nexus_password__" > /opt/config/nexus_password.txt
947 echo "__env_name__" > /opt/config/env_name.txt
948 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
949 echo "__public_ip__" > /opt/config/public_ip.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__/asdc_install.sh -o /opt/asdc_install.sh
960 chmod +x asdc_install.sh
964 # PORTAL instantiation
966 type: OS::Neutron::Port
968 network: { get_resource: oam_ecomp }
969 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
972 type: OS::Neutron::FloatingIP
974 floating_network_id: { get_param: public_net_id }
975 port_id: { get_resource: portal_private_port }
976 floating_ip_address: { get_param: portal_float_ip }
979 type: OS::Nova::Server
981 image: { get_param: ubuntu_1404_image }
982 flavor: { get_param: flavor_large }
985 template: base-portal
987 base: { get_param: vm_base_name }
988 key_name: { get_resource: vm_key }
990 - port: { get_resource: portal_private_port }
991 user_data_format: RAW
995 __nexus_repo__: { get_param: nexus_repo }
996 __nexus_docker_repo__: { get_param: nexus_docker_repo }
997 __nexus_username__: { get_param: nexus_username }
998 __nexus_password__: { get_param: nexus_password }
999 __artifacts_version__: { get_param: artifacts_version }
1000 __dns_ip_addr__: { get_param: dns_ip_addr }
1001 __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1002 __docker_version__: { get_param: docker_version }
1003 __gerrit_branch__: { get_param: gerrit_branch }
1004 __cloud_env__: { get_param: cloud_env }
1005 __external_dns__: { get_param: external_dns }
1009 # Create configuration files
1010 mkdir -p /opt/config
1011 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1012 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1013 echo "__nexus_username__" > /opt/config/nexus_username.txt
1014 echo "__nexus_password__" > /opt/config/nexus_password.txt
1015 echo "__public_ip__" > /opt/config/public_ip.txt
1016 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1017 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1018 echo "__docker_version__" > /opt/config/docker_version.txt
1019 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1020 echo "__cloud_env__" > /opt/config/cloud_env.txt
1021 echo "__external_dns__" > /opt/config/external_dns.txt
1023 # Download and run install script
1024 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1026 chmod +x portal_install.sh
1030 # DCAE Controller instantiation
1031 dcae_c_private_port:
1032 type: OS::Neutron::Port
1034 network: { get_resource: oam_ecomp }
1035 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1038 type: OS::Neutron::FloatingIP
1040 floating_network_id: { get_param: public_net_id }
1041 port_id: { get_resource: dcae_c_private_port }
1042 floating_ip_address: { get_param: dcae_float_ip }
1045 type: OS::Nova::Server
1047 image: { get_param: ubuntu_1404_image }
1048 flavor: { get_param: flavor_medium }
1051 template: base-dcae-controller
1053 base: { get_param: vm_base_name }
1054 key_name: { get_resource: vm_key }
1056 - port: { get_resource: dcae_c_private_port }
1057 user_data_format: RAW
1061 __nexus_repo__: { get_param: nexus_repo }
1062 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1063 __nexus_username__: { get_param: nexus_username }
1064 __nexus_password__: { get_param: nexus_password }
1065 __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1066 __gitlab_branch__: { get_param: gitlab_branch }
1067 __dns_ip_addr__: { get_param: dns_ip_addr }
1068 __dcae_zone__: { get_param: dcae_zone }
1069 __dcae_state__: { get_param: dcae_state }
1070 __artifacts_version__: { get_param: artifacts_version }
1071 __tenant_id__: { get_param: openstack_tenant_id }
1072 __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
1073 __openstack_user__: { get_param: openstack_username }
1074 __openstack_password__: { get_param: openstack_api_key }
1075 __openstack_auth_method__: { get_param: openstack_auth_method }
1076 __key_name__: { get_param: key_name }
1077 __rand_str__: { get_resource: random-str }
1078 __pub_key__: { get_param: pub_key }
1079 __nexus_repo_root__: { get_param: nexus_repo_root }
1080 __openstack_region__: { get_param: openstack_region }
1081 __horizon_url__: { get_param: horizon_url }
1082 __keystone_url__: { get_param: keystone_url }
1083 __docker_version__: { get_param: docker_version }
1084 __gerrit_branch__: { get_param: gerrit_branch }
1085 __dcae_code_version__: { get_param: dcae_code_version }
1086 __cloud_env__: { get_param: cloud_env }
1087 __public_net_id__: { get_param: public_net_id }
1088 __dcae_base_environment__: { get_param: dcae_base_environment }
1089 __dcae_ip_addr__: { get_param: dcae_ip_addr }
1090 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1091 __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1092 __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1093 __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1094 __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1095 __dcae_float_ip__: { get_param: dcae_float_ip }
1096 __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip }
1097 __dcae_db_float_ip__: { get_param: dcae_db_float_ip }
1098 __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip }
1099 __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip }
1100 __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip }
1101 __external_dns__: { get_param: external_dns }
1102 __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1103 __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1104 __flavor_small__: { get_param: flavor_small }
1105 __flavor_medium__: { get_param: flavor_medium }
1106 __flavor_large__: { get_param: flavor_large }
1107 __flavor_xlarge__: { get_param: flavor_xlarge }
1111 # Create configuration files
1112 mkdir -p /opt/config
1113 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1114 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1115 echo "__nexus_username__" > /opt/config/nexus_username.txt
1116 echo "__nexus_password__" > /opt/config/nexus_password.txt
1117 echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1118 echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1119 echo "__docker_version__" > /opt/config/docker_version.txt
1120 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1121 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1122 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1123 echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1124 echo "__dcae_state__" > /opt/config/dcae_state.txt
1125 echo "__tenant_id__" > /opt/config/tenant_id.txt
1126 echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1127 echo "__openstack_user__" > /opt/config/openstack_user.txt
1128 echo "__openstack_password__" > /opt/config/openstack_password.txt
1129 echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1130 echo "__key_name__" > /opt/config/key_name.txt
1131 echo "__rand_str__" > /opt/config/rand_str.txt
1132 echo "__pub_key__" > /opt/config/pub_key.txt
1133 echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1134 echo "__openstack_region__" > /opt/config/openstack_region.txt
1135 echo "__horizon_url__" > /opt/config/horizon_url.txt
1136 echo "__keystone_url__" > /opt/config/keystone_url.txt
1137 echo "__cloud_env__" > /opt/config/cloud_env.txt
1138 echo "__public_net_id__" > /opt/config/public_net_id.txt
1139 echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1140 echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1141 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1142 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1143 echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1144 echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1145 echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1146 echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1147 echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1148 echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt
1149 echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt
1150 echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt
1151 echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt
1152 echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt
1153 echo "__external_dns__" > /opt/config/external_dns.txt
1154 echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1155 echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1156 echo "__flavor_small__" > /opt/config/flavor_small.txt
1157 echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1158 echo "__flavor_large__" > /opt/config/flavor_large.txt
1159 echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1161 # Download and run install script
1162 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1164 chmod +x dcae_install.sh
1168 # Policy Engine instantiation
1169 policy_private_port:
1170 type: OS::Neutron::Port
1172 network: { get_resource: oam_ecomp }
1173 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1176 type: OS::Neutron::FloatingIP
1178 floating_network_id: { get_param: public_net_id }
1179 port_id: { get_resource: policy_private_port }
1180 floating_ip_address: { get_param: policy_float_ip }
1183 type: OS::Nova::Server
1185 image: { get_param: ubuntu_1404_image }
1186 flavor: { get_param: flavor_xlarge }
1189 template: base-policy
1191 base: { get_param: vm_base_name }
1192 key_name: { get_resource: vm_key }
1194 - port: { get_resource: policy_private_port }
1195 user_data_format: RAW
1199 __nexus_repo__: { get_param: nexus_repo }
1200 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1201 __nexus_username__: { get_param: nexus_username }
1202 __nexus_password__: { get_param: nexus_password }
1203 __artifacts_version__: { get_param: artifacts_version }
1204 __dns_ip_addr__: { get_param: dns_ip_addr }
1205 __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1206 __docker_version__: { get_param: docker_version }
1207 __gerrit_branch__: { get_param: gerrit_branch }
1208 __cloud_env__: { get_param: cloud_env }
1209 __external_dns__: { get_param: external_dns }
1213 # Create configuration files
1214 mkdir -p /opt/config
1215 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1216 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1217 echo "__nexus_username__" > /opt/config/nexus_username.txt
1218 echo "__nexus_password__" > /opt/config/nexus_password.txt
1219 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1220 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1221 echo "__public_ip__" > /opt/config/public_ip.txt
1222 echo "__docker_version__" > /opt/config/docker_version.txt
1223 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1224 echo "__cloud_env__" > /opt/config/cloud_env.txt
1225 echo "__external_dns__" > /opt/config/external_dns.txt
1227 # Download and run install script
1228 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1230 chmod +x policy_install.sh
1234 # APP-C instantiation
1236 type: OS::Neutron::Port
1238 network: { get_resource: oam_ecomp }
1239 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1242 type: OS::Neutron::FloatingIP
1244 floating_network_id: { get_param: public_net_id }
1245 port_id: { get_resource: appc_private_port }
1246 floating_ip_address: { get_param: appc_float_ip }
1249 type: OS::Nova::Server
1251 image: { get_param: ubuntu_1404_image }
1252 flavor: { get_param: flavor_large }
1257 base: { get_param: vm_base_name }
1258 key_name: { get_resource: vm_key }
1260 - port: { get_resource: appc_private_port }
1261 user_data_format: RAW
1265 __nexus_repo__: { get_param: nexus_repo }
1266 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1267 __nexus_username__: { get_param: nexus_username }
1268 __nexus_password__: { get_param: nexus_password }
1269 __dmaap_topic__: { get_param: dmaap_topic }
1270 __artifacts_version__: { get_param: artifacts_version }
1271 __dns_ip_addr__: { get_param: dns_ip_addr }
1272 __docker_version__: { get_param: docker_version }
1273 __gerrit_branch__: { get_param: gerrit_branch }
1274 __cloud_env__: { get_param: cloud_env }
1275 __external_dns__: { get_param: external_dns }
1279 # Create configuration files
1280 mkdir -p /opt/config
1281 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1282 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1283 echo "__nexus_username__" > /opt/config/nexus_username.txt
1284 echo "__nexus_password__" > /opt/config/nexus_password.txt
1285 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1286 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1287 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1288 echo "__docker_version__" > /opt/config/docker_version.txt
1289 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1290 echo "__cloud_env__" > /opt/config/cloud_env.txt
1291 echo "__external_dns__" > /opt/config/external_dns.txt
1293 # Download and run install script
1294 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1296 chmod +x appc_install.sh