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 __keystone_url__: { get_param: keystone_url }
819 __aai1_ip_addr__: { get_param: aai1_ip_addr }
820 __aai2_ip_addr__: { get_param: aai2_ip_addr }
821 __appc_ip_addr__: { get_param: appc_ip_addr }
822 __dcae_ip_addr__: { get_param: dcae_ip_addr }
823 __mso_ip_addr__: { get_param: mso_ip_addr }
824 __mr_ip_addr__: { get_param: mr_ip_addr }
825 __policy_ip_addr__: { get_param: policy_ip_addr }
826 __portal_ip_addr__: { get_param: portal_ip_addr }
827 __sdc_ip_addr__: { get_param: sdc_ip_addr }
828 __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
829 __vid_ip_addr__: { get_param: vid_ip_addr }
830 __cloud_env__: { get_param: cloud_env }
831 __external_dns__: { get_param: external_dns }
835 # Create configuration files
837 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
838 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
839 echo "__nexus_username__" > /opt/config/nexus_username.txt
840 echo "__nexus_password__" > /opt/config/nexus_password.txt
841 echo "__network_name__" > /opt/config/network.txt
842 echo "__openstack_username__" > /opt/config/openstack_username.txt
843 echo "__openstack_api_key__" > /opt/config/openstack_password.txt
844 echo "__openstack_region__" > /opt/config/region.txt
845 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
846 echo "__docker_version__" > /opt/config/docker_version.txt
847 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
848 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
849 echo "__keystone_url__" > /opt/config/keystone.txt
850 echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
851 echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
852 echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
853 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
854 echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
855 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
856 echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
857 echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
858 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
859 echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
860 echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
861 echo "__cloud_env__" > /opt/config/cloud_env.txt
862 echo "__external_dns__" > /opt/config/external_dns.txt
864 # Download and run install script
865 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
867 chmod +x robot_install.sh
873 type: OS::Neutron::Port
875 network: { get_resource: oam_ecomp }
876 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: vid_ip_addr }}]
879 type: OS::Neutron::FloatingIP
881 floating_network_id: { get_param: public_net_id }
882 port_id: { get_resource: vid_private_port }
883 floating_ip_address: { get_param: vid_float_ip }
886 type: OS::Nova::Server
888 image: { get_param: ubuntu_1404_image }
889 flavor: { get_param: flavor_medium }
894 base: { get_param: vm_base_name }
895 key_name: { get_resource: vm_key }
897 - port: { get_resource: vid_private_port }
898 user_data_format: RAW
902 __nexus_repo__: { get_param: nexus_repo }
903 __nexus_docker_repo__: { get_param: nexus_docker_repo }
904 __nexus_username__: { get_param: nexus_username }
905 __nexus_password__: { get_param: nexus_password }
906 __artifacts_version__: { get_param: artifacts_version }
907 __dns_ip_addr__: { get_param: dns_ip_addr }
908 __docker_version__: { get_param: docker_version }
909 __gerrit_branch__: { get_param: gerrit_branch }
910 __cloud_env__: { get_param: cloud_env }
911 __external_dns__: { get_param: external_dns }
915 # Create configuration files
917 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
918 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
919 echo "__nexus_username__" > /opt/config/nexus_username.txt
920 echo "__nexus_password__" > /opt/config/nexus_password.txt
921 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
922 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
923 echo "__docker_version__" > /opt/config/docker_version.txt
924 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
925 echo "__cloud_env__" > /opt/config/cloud_env.txt
926 echo "__external_dns__" > /opt/config/external_dns.txt
928 # Download and run install script
929 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
931 chmod +x vid_install.sh
935 # SDN-C instantiation
937 type: OS::Neutron::Port
939 network: { get_resource: oam_ecomp }
940 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
943 type: OS::Neutron::FloatingIP
945 floating_network_id: { get_param: public_net_id }
946 port_id: { get_resource: sdnc_private_port }
947 floating_ip_address: { get_param: sdnc_float_ip }
950 type: OS::Nova::Server
952 image: { get_param: ubuntu_1404_image }
953 flavor: { get_param: flavor_large }
958 base: { get_param: vm_base_name }
959 key_name: { get_resource: vm_key }
961 - port: { get_resource: sdnc_private_port }
962 user_data_format: RAW
966 __nexus_repo__: { get_param: nexus_repo }
967 __nexus_docker_repo__: { get_param: nexus_docker_repo }
968 __nexus_username__: { get_param: nexus_username }
969 __nexus_password__: { get_param: nexus_password }
970 __artifacts_version__: { get_param: artifacts_version }
971 __dns_ip_addr__: { get_param: dns_ip_addr }
972 __docker_version__: { get_param: docker_version }
973 __gerrit_branch__: { get_param: gerrit_branch }
974 __cloud_env__: { get_param: cloud_env }
975 __external_dns__: { get_param: external_dns }
979 # Create configuration files
981 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
982 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
983 echo "__nexus_username__" > /opt/config/nexus_username.txt
984 echo "__nexus_password__" > /opt/config/nexus_password.txt
985 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
986 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
987 echo "__docker_version__" > /opt/config/docker_version.txt
988 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
989 echo "__cloud_env__" > /opt/config/cloud_env.txt
990 echo "__external_dns__" > /opt/config/external_dns.txt
992 # Download and run install script
993 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
995 chmod +x sdnc_install.sh
1001 type: OS::Neutron::Port
1003 network: { get_resource: oam_ecomp }
1004 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
1007 type: OS::Neutron::FloatingIP
1009 floating_network_id: { get_param: public_net_id }
1010 port_id: { get_resource: sdc_private_port }
1011 floating_ip_address: { get_param: sdc_float_ip }
1014 type: OS::Cinder::Volume
1020 type: OS::Nova::Server
1022 image: { get_param: ubuntu_1604_image }
1023 flavor: { get_param: flavor_xlarge }
1028 base: { get_param: vm_base_name }
1029 key_name: { get_resource: vm_key }
1031 - port: { get_resource: sdc_private_port }
1032 block_device_mapping:
1033 - device_name: /dev/vdb
1034 volume_id: {get_resource: sdc_volume_data}
1035 user_data_format: RAW
1039 __nexus_repo__: { get_param: nexus_repo }
1040 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1041 __nexus_username__: { get_param: nexus_username }
1042 __nexus_password__: { get_param: nexus_password }
1043 __env_name__: { get_param: dmaap_topic }
1044 __artifacts_version__: { get_param: artifacts_version }
1045 __dns_ip_addr__: { get_param: dns_ip_addr }
1046 __mr_ip_addr__: { get_param: mr_ip_addr }
1047 __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
1048 __docker_version__: { get_param: docker_version }
1049 __gerrit_branch__: { get_param: gerrit_branch }
1050 __cloud_env__: { get_param: cloud_env }
1051 __external_dns__: { get_param: external_dns }
1055 # Create configuration files
1056 mkdir -p /opt/config
1057 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1058 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1059 echo "__nexus_username__" > /opt/config/nexus_username.txt
1060 echo "__nexus_password__" > /opt/config/nexus_password.txt
1061 echo "__env_name__" > /opt/config/env_name.txt
1062 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
1063 echo "__public_ip__" > /opt/config/public_ip.txt
1064 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1065 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1066 echo "__docker_version__" > /opt/config/docker_version.txt
1067 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1068 echo "__cloud_env__" > /opt/config/cloud_env.txt
1069 echo "__external_dns__" > /opt/config/external_dns.txt
1071 # Download and run install script
1072 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh
1074 chmod +x asdc_install.sh
1078 # PORTAL instantiation
1079 portal_private_port:
1080 type: OS::Neutron::Port
1082 network: { get_resource: oam_ecomp }
1083 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
1086 type: OS::Neutron::FloatingIP
1088 floating_network_id: { get_param: public_net_id }
1089 port_id: { get_resource: portal_private_port }
1090 floating_ip_address: { get_param: portal_float_ip }
1093 type: OS::Nova::Server
1095 image: { get_param: ubuntu_1404_image }
1096 flavor: { get_param: flavor_large }
1099 template: base-portal
1101 base: { get_param: vm_base_name }
1102 key_name: { get_resource: vm_key }
1104 - port: { get_resource: portal_private_port }
1105 user_data_format: RAW
1109 __nexus_repo__: { get_param: nexus_repo }
1110 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1111 __nexus_username__: { get_param: nexus_username }
1112 __nexus_password__: { get_param: nexus_password }
1113 __artifacts_version__: { get_param: artifacts_version }
1114 __dns_ip_addr__: { get_param: dns_ip_addr }
1115 __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1116 __docker_version__: { get_param: docker_version }
1117 __gerrit_branch__: { get_param: gerrit_branch }
1118 __cloud_env__: { get_param: cloud_env }
1119 __external_dns__: { get_param: external_dns }
1123 # Create configuration files
1124 mkdir -p /opt/config
1125 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1126 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1127 echo "__nexus_username__" > /opt/config/nexus_username.txt
1128 echo "__nexus_password__" > /opt/config/nexus_password.txt
1129 echo "__public_ip__" > /opt/config/public_ip.txt
1130 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1131 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1132 echo "__docker_version__" > /opt/config/docker_version.txt
1133 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1134 echo "__cloud_env__" > /opt/config/cloud_env.txt
1135 echo "__external_dns__" > /opt/config/external_dns.txt
1137 # Download and run install script
1138 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1140 chmod +x portal_install.sh
1144 # DCAE Controller instantiation
1145 dcae_c_private_port:
1146 type: OS::Neutron::Port
1148 network: { get_resource: oam_ecomp }
1149 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1152 type: OS::Neutron::FloatingIP
1154 floating_network_id: { get_param: public_net_id }
1155 port_id: { get_resource: dcae_c_private_port }
1156 floating_ip_address: { get_param: dcae_float_ip }
1159 type: OS::Nova::Server
1161 image: { get_param: ubuntu_1404_image }
1162 flavor: { get_param: flavor_medium }
1165 template: base-dcae-controller
1167 base: { get_param: vm_base_name }
1168 key_name: { get_resource: vm_key }
1170 - port: { get_resource: dcae_c_private_port }
1171 user_data_format: RAW
1175 __nexus_repo__: { get_param: nexus_repo }
1176 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1177 __nexus_username__: { get_param: nexus_username }
1178 __nexus_password__: { get_param: nexus_password }
1179 __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1180 __gitlab_branch__: { get_param: gitlab_branch }
1181 __dns_ip_addr__: { get_param: dns_ip_addr }
1182 __dcae_zone__: { get_param: dcae_zone }
1183 __dcae_state__: { get_param: dcae_state }
1184 __artifacts_version__: { get_param: artifacts_version }
1185 __tenant_id__: { get_param: openstack_tenant_id }
1186 __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
1187 __openstack_user__: { get_param: openstack_username }
1188 __openstack_password__: { get_param: openstack_api_key }
1189 __openstack_auth_method__: { get_param: openstack_auth_method }
1190 __key_name__: { get_param: key_name }
1191 __rand_str__: { get_resource: random-str }
1192 __pub_key__: { get_param: pub_key }
1193 __nexus_repo_root__: { get_param: nexus_repo_root }
1194 __openstack_region__: { get_param: openstack_region }
1195 __horizon_url__: { get_param: horizon_url }
1196 __keystone_url__: { get_param: keystone_url }
1197 __docker_version__: { get_param: docker_version }
1198 __gerrit_branch__: { get_param: gerrit_branch }
1199 __dcae_code_version__: { get_param: dcae_code_version }
1200 __cloud_env__: { get_param: cloud_env }
1201 __public_net_id__: { get_param: public_net_id }
1202 __dcae_base_environment__: { get_param: dcae_base_environment }
1203 __dcae_ip_addr__: { get_param: dcae_ip_addr }
1204 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1205 __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1206 __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1207 __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1208 __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1209 __dcae_float_ip__: { get_param: dcae_float_ip }
1210 __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip }
1211 __dcae_db_float_ip__: { get_param: dcae_db_float_ip }
1212 __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip }
1213 __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip }
1214 __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip }
1215 __external_dns__: { get_param: external_dns }
1216 __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1217 __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1218 __flavor_small__: { get_param: flavor_small }
1219 __flavor_medium__: { get_param: flavor_medium }
1220 __flavor_large__: { get_param: flavor_large }
1221 __flavor_xlarge__: { get_param: flavor_xlarge }
1225 # Create configuration files
1226 mkdir -p /opt/config
1227 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1228 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1229 echo "__nexus_username__" > /opt/config/nexus_username.txt
1230 echo "__nexus_password__" > /opt/config/nexus_password.txt
1231 echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1232 echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1233 echo "__docker_version__" > /opt/config/docker_version.txt
1234 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1235 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1236 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1237 echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1238 echo "__dcae_state__" > /opt/config/dcae_state.txt
1239 echo "__tenant_id__" > /opt/config/tenant_id.txt
1240 echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1241 echo "__openstack_user__" > /opt/config/openstack_user.txt
1242 echo "__openstack_password__" > /opt/config/openstack_password.txt
1243 echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1244 echo "__key_name__" > /opt/config/key_name.txt
1245 echo "__rand_str__" > /opt/config/rand_str.txt
1246 echo "__pub_key__" > /opt/config/pub_key.txt
1247 echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1248 echo "__openstack_region__" > /opt/config/openstack_region.txt
1249 echo "__horizon_url__" > /opt/config/horizon_url.txt
1250 echo "__keystone_url__" > /opt/config/keystone_url.txt
1251 echo "__cloud_env__" > /opt/config/cloud_env.txt
1252 echo "__public_net_id__" > /opt/config/public_net_id.txt
1253 echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1254 echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1255 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1256 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1257 echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1258 echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1259 echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1260 echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1261 echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1262 echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt
1263 echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt
1264 echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt
1265 echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt
1266 echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt
1267 echo "__external_dns__" > /opt/config/external_dns.txt
1268 echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1269 echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1270 echo "__flavor_small__" > /opt/config/flavor_small.txt
1271 echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1272 echo "__flavor_large__" > /opt/config/flavor_large.txt
1273 echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1275 # Download and run install script
1276 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1278 chmod +x dcae_install.sh
1282 # Policy Engine instantiation
1283 policy_private_port:
1284 type: OS::Neutron::Port
1286 network: { get_resource: oam_ecomp }
1287 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1290 type: OS::Neutron::FloatingIP
1292 floating_network_id: { get_param: public_net_id }
1293 port_id: { get_resource: policy_private_port }
1294 floating_ip_address: { get_param: policy_float_ip }
1297 type: OS::Nova::Server
1299 image: { get_param: ubuntu_1404_image }
1300 flavor: { get_param: flavor_xlarge }
1303 template: base-policy
1305 base: { get_param: vm_base_name }
1306 key_name: { get_resource: vm_key }
1308 - port: { get_resource: policy_private_port }
1309 user_data_format: RAW
1313 __nexus_repo__: { get_param: nexus_repo }
1314 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1315 __nexus_username__: { get_param: nexus_username }
1316 __nexus_password__: { get_param: nexus_password }
1317 __artifacts_version__: { get_param: artifacts_version }
1318 __dns_ip_addr__: { get_param: dns_ip_addr }
1319 __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1320 __docker_version__: { get_param: docker_version }
1321 __gerrit_branch__: { get_param: gerrit_branch }
1322 __cloud_env__: { get_param: cloud_env }
1323 __external_dns__: { get_param: external_dns }
1327 # Create configuration files
1328 mkdir -p /opt/config
1329 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1330 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1331 echo "__nexus_username__" > /opt/config/nexus_username.txt
1332 echo "__nexus_password__" > /opt/config/nexus_password.txt
1333 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1334 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1335 echo "__public_ip__" > /opt/config/public_ip.txt
1336 echo "__docker_version__" > /opt/config/docker_version.txt
1337 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1338 echo "__cloud_env__" > /opt/config/cloud_env.txt
1339 echo "__external_dns__" > /opt/config/external_dns.txt
1341 # Download and run install script
1342 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1344 chmod +x policy_install.sh
1348 # APP-C instantiation
1350 type: OS::Neutron::Port
1352 network: { get_resource: oam_ecomp }
1353 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1356 type: OS::Neutron::FloatingIP
1358 floating_network_id: { get_param: public_net_id }
1359 port_id: { get_resource: appc_private_port }
1360 floating_ip_address: { get_param: appc_float_ip }
1363 type: OS::Nova::Server
1365 image: { get_param: ubuntu_1404_image }
1366 flavor: { get_param: flavor_large }
1371 base: { get_param: vm_base_name }
1372 key_name: { get_resource: vm_key }
1374 - port: { get_resource: appc_private_port }
1375 user_data_format: RAW
1379 __nexus_repo__: { get_param: nexus_repo }
1380 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1381 __nexus_username__: { get_param: nexus_username }
1382 __nexus_password__: { get_param: nexus_password }
1383 __dmaap_topic__: { get_param: dmaap_topic }
1384 __artifacts_version__: { get_param: artifacts_version }
1385 __dns_ip_addr__: { get_param: dns_ip_addr }
1386 __docker_version__: { get_param: docker_version }
1387 __gerrit_branch__: { get_param: gerrit_branch }
1388 __cloud_env__: { get_param: cloud_env }
1389 __external_dns__: { get_param: external_dns }
1393 # Create configuration files
1394 mkdir -p /opt/config
1395 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1396 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1397 echo "__nexus_username__" > /opt/config/nexus_username.txt
1398 echo "__nexus_password__" > /opt/config/nexus_password.txt
1399 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1400 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1401 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1402 echo "__docker_version__" > /opt/config/docker_version.txt
1403 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1404 echo "__cloud_env__" > /opt/config/cloud_env.txt
1405 echo "__external_dns__" > /opt/config/external_dns.txt
1407 # Download and run install script
1408 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1410 chmod +x appc_install.sh