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 ### Private IP addresses ###
161 description: CIDR of the OAM ONAP network
165 description: AAI Instance 1 IP Address
169 description: AAI Instance 2 IP Address
173 description: APP-C IP Address
177 description: DCAE IP Address
181 description: DCAE Collector IP Address
185 description: DCAE Database IP Address
189 description: Hadoop VM1 IP Address
193 description: Hadoop VM2 IP Address
197 description: Hadoop VM3 IP Address
201 description: DNS IP Address
205 description: MSO IP Address
209 description: Message Router IP Address
213 description: Policy Engine IP Address
217 description: Portal IP Address
221 description: Robot Framework IP Address
225 description: SDC IP Address
229 description: SDN-C IP Address
233 description: VID IP Address
237 description: DCAE Collector Floating IP Address
241 description: DCAE Collector Database Floating IP Address
245 description: Hadoop VM1 Floating IP Address
249 description: Hadoop VM2 Floating IP Address
253 description: Hadoop VM3 Floating IP Address
255 ###########################
257 # Parameters used by DCAE #
259 ###########################
261 dcae_base_environment:
263 description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS)
267 description: DCAE Zone to use in VM names created by DCAE controller
271 description: DCAE State to use in VM names created by DCAE controller
275 description: Root URL of Nexus repository
279 description: Snapshot of Maven repository for DCAE deployment
283 description: Region where the DCAE controller will spin the VMs
287 description: Branch of the Gitlab repository
291 description: DCAE Code Version Number
302 type: OS::Heat::RandomString
307 # Public key used to access ONAP components
309 type: OS::Nova::KeyPair
315 base: { get_param: key_name }
316 rand: { get_resource: random-str }
317 public_key: { get_param: pub_key }
318 save_private_key: false
321 # ONAP management private network
323 type: OS::Neutron::Net
327 template: oam_ecomp_rand
329 rand: { get_resource: random-str }
332 type: OS::Neutron::Subnet
336 template: oam_ecomp_rand
338 rand: { get_resource: random-str }
339 network_id: { get_resource: oam_ecomp }
340 cidr: { get_param: oam_network_cidr }
341 dns_nameservers: { get_param: dns_list }
344 type: OS::Neutron::Router
346 external_gateway_info:
347 network: { get_param: public_net_id }
350 type: OS::Neutron::RouterInterface
352 router_id: { get_resource: router }
353 subnet_id: { get_resource: oam_ecomp_subnet }
356 # DNS Server instantiation
358 type: OS::Neutron::Port
360 network: { get_resource: oam_ecomp }
361 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dns_ip_addr }}]
364 type: OS::Neutron::FloatingIP
366 floating_network_id: { get_param: public_net_id }
367 port_id: { get_resource: dns_private_port }
370 type: OS::Nova::Server
372 image: { get_param: ubuntu_1404_image }
373 flavor: { get_param: flavor_small }
376 template: base-dns-server
378 base: { get_param: vm_base_name }
379 key_name: { get_resource: vm_key }
381 - port: { get_resource: dns_private_port }
382 user_data_format: RAW
386 __nexus_repo__: { get_param: nexus_repo }
387 __artifacts_version__: { get_param: artifacts_version }
388 __oam_network_cidr__: { get_attr: [oam_ecomp_subnet, cidr] }
389 __dns_ip_addr__: { get_param: dns_ip_addr }
390 __aai1_ip_addr__: { get_param: aai1_ip_addr }
391 __aai2_ip_addr__: { get_param: aai2_ip_addr }
392 __appc_ip_addr__: { get_param: appc_ip_addr }
393 __dcae_ip_addr__: { get_param: dcae_ip_addr }
394 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
395 __mso_ip_addr__: { get_param: mso_ip_addr }
396 __mr_ip_addr__: { get_param: mr_ip_addr }
397 __policy_ip_addr__: { get_param: policy_ip_addr }
398 __portal_ip_addr__: { get_param: portal_ip_addr }
399 __robot_ip_addr__: { get_param: robot_ip_addr }
400 __sdc_ip_addr__: { get_param: sdc_ip_addr }
401 __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
402 __vid_ip_addr__: { get_param: vid_ip_addr }
403 __cloud_env__: { get_param: cloud_env }
404 __external_dns__: { get_param: external_dns }
408 # Create configuration files
410 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
411 echo "__cloud_env__" > /opt/config/cloud_env.txt
412 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
413 echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
414 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
415 echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
416 echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
417 echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
418 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
419 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
420 echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
421 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
422 echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
423 echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
424 echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt
425 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
426 echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
427 echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
428 echo "__external_dns__" > /opt/config/external_dns.txt
430 # Download and run install script
431 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
433 chmod +x dns_install.sh
437 # A&AI instantiation (2 VMs)
439 type: OS::Neutron::Port
441 network: { get_resource: oam_ecomp }
442 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai1_ip_addr }}]
445 type: OS::Neutron::FloatingIP
447 floating_network_id: { get_param: public_net_id }
448 port_id: { get_resource: aai1_private_port }
451 type: OS::Nova::Server
454 image: { get_param: ubuntu_1404_image }
455 flavor: { get_param: flavor_xlarge }
458 template: base-aai-inst1
460 base: { get_param: vm_base_name }
461 key_name: { get_resource: vm_key }
463 - port: { get_resource: aai1_private_port }
464 user_data_format: RAW
468 __nexus_repo__: { get_param: nexus_repo }
469 __nexus_docker_repo__: { get_param: nexus_docker_repo }
470 __nexus_username__: { get_param: nexus_username }
471 __nexus_password__: { get_param: nexus_password }
472 __dmaap_topic__: { get_param: dmaap_topic }
473 __artifacts_version__: { get_param: artifacts_version }
474 __dns_ip_addr__: { get_param: dns_ip_addr }
475 __docker_version__: { get_param: docker_version }
476 __gerrit_branch__: { get_param: gerrit_branch }
477 __cloud_env__: { get_param: cloud_env }
478 __external_dns__: { get_param: external_dns }
482 # Create configuration files
484 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
485 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
486 echo "__nexus_username__" > /opt/config/nexus_username.txt
487 echo "__nexus_password__" > /opt/config/nexus_password.txt
488 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
489 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
490 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
491 echo "__docker_version__" > /opt/config/docker_version.txt
492 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
493 echo "aai_instance_1" > /opt/config/aai_instance.txt
494 echo "__cloud_env__" > /opt/config/cloud_env.txt
495 echo "__external_dns__" > /opt/config/external_dns.txt
497 # Download and run install script
498 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
500 chmod +x aai_install.sh
505 type: OS::Neutron::Port
507 network: { get_resource: oam_ecomp }
508 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai2_ip_addr }}]
511 type: OS::Neutron::FloatingIP
513 floating_network_id: { get_param: public_net_id }
514 port_id: { get_resource: aai2_private_port }
517 type: OS::Nova::Server
519 image: { get_param: ubuntu_1404_image }
520 flavor: { get_param: flavor_xlarge }
523 template: base-aai-inst2
525 base: { get_param: vm_base_name }
526 key_name: { get_resource: vm_key }
528 - port: { get_resource: aai2_private_port }
529 user_data_format: RAW
533 __nexus_repo__: { get_param: nexus_repo }
534 __nexus_docker_repo__: { get_param: nexus_docker_repo }
535 __nexus_username__: { get_param: nexus_username }
536 __nexus_password__: { get_param: nexus_password }
537 __dmaap_topic__: { get_param: dmaap_topic }
538 __artifacts_version__: { get_param: artifacts_version }
539 __dns_ip_addr__: { get_param: dns_ip_addr }
540 __docker_version__: { get_param: docker_version }
541 __gerrit_branch__: { get_param: gerrit_branch }
542 __cloud_env__: { get_param: cloud_env }
543 __external_dns__: { get_param: external_dns }
547 # Create configuration files
549 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
550 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
551 echo "__nexus_username__" > /opt/config/nexus_username.txt
552 echo "__nexus_password__" > /opt/config/nexus_password.txt
553 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
554 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
555 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
556 echo "__docker_version__" > /opt/config/docker_version.txt
557 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
558 echo "aai_instance_2" > /opt/config/aai_instance.txt
559 echo "__cloud_env__" > /opt/config/cloud_env.txt
560 echo "__external_dns__" > /opt/config/external_dns.txt
562 # Download and run install script
563 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
565 chmod +x aai_install.sh
571 type: OS::Neutron::Port
573 network: { get_resource: oam_ecomp }
574 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mso_ip_addr }}]
577 type: OS::Neutron::FloatingIP
579 floating_network_id: { get_param: public_net_id }
580 port_id: { get_resource: mso_private_port }
583 type: OS::Nova::Server
585 image: { get_param: ubuntu_1604_image }
586 flavor: { get_param: flavor_large }
591 base: { get_param: vm_base_name }
592 key_name: { get_resource: vm_key }
594 - port: { get_resource: mso_private_port }
595 user_data_format: RAW
599 __nexus_repo__: { get_param: nexus_repo }
600 __nexus_docker_repo__: { get_param: nexus_docker_repo }
601 __nexus_username__: { get_param: nexus_username }
602 __nexus_password__: { get_param: nexus_password }
603 __openstack_username__: { get_param: openstack_username }
604 __openstack_tenant_id__: { get_param: openstack_tenant_id }
605 __openstack_api_key__: { get_param: openstack_api_key }
606 __openstack_region__: { get_param: openstack_region }
607 __keystone_url__: { get_param: keystone_url }
608 __dmaap_topic__: { get_param: dmaap_topic }
609 __artifacts_version__: { get_param: artifacts_version }
610 __dns_ip_addr__: { get_param: dns_ip_addr }
611 __docker_version__: { get_param: docker_version }
612 __gerrit_branch__: { get_param: gerrit_branch }
613 __cloud_env__: { get_param: cloud_env }
614 __external_dns__: { get_param: external_dns }
618 # Create configuration files
620 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
621 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
622 echo "__nexus_username__" > /opt/config/nexus_username.txt
623 echo "__nexus_password__" > /opt/config/nexus_password.txt
624 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
625 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
626 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
627 echo "__openstack_username__" > /opt/config/openstack_username.txt
628 echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
629 echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
630 echo "__openstack_region__" > /opt/config/openstack_region.txt
631 echo "__keystone_url__" > /opt/config/keystone.txt
632 echo "__docker_version__" > /opt/config/docker_version.txt
633 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
634 echo "__cloud_env__" > /opt/config/cloud_env.txt
635 echo "__external_dns__" > /opt/config/external_dns.txt
637 # Download and run install script
638 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mso_install.sh -o /opt/mso_install.sh
640 chmod +x mso_install.sh
644 # Message Router instantiation
645 mrouter_private_port:
646 type: OS::Neutron::Port
648 network: { get_resource: oam_ecomp }
649 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mr_ip_addr }}]
652 type: OS::Neutron::FloatingIP
654 floating_network_id: { get_param: public_net_id }
655 port_id: { get_resource: mrouter_private_port }
658 type: OS::Nova::Server
660 image: { get_param: ubuntu_1404_image }
661 flavor: { get_param: flavor_large }
664 template: base-message-router
666 base: { get_param: vm_base_name }
667 key_name: { get_resource: vm_key }
669 - port: { get_resource: mrouter_private_port }
670 user_data_format: RAW
674 __nexus_repo__: { get_param: nexus_repo }
675 __nexus_docker_repo__: { get_param: nexus_docker_repo }
676 __nexus_username__: { get_param: nexus_username }
677 __nexus_password__: { get_param: nexus_password }
678 __artifacts_version__: { get_param: artifacts_version }
679 __dns_ip_addr__: { get_param: dns_ip_addr }
680 __gerrit_branch__: { get_param: gerrit_branch }
681 __cloud_env__: { get_param: cloud_env }
682 __external_dns__: { get_param: external_dns }
686 # Create configuration files
688 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
689 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
690 echo "__nexus_username__" > /opt/config/nexus_username.txt
691 echo "__nexus_password__" > /opt/config/nexus_password.txt
692 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
693 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
694 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
695 echo "__cloud_env__" > /opt/config/cloud_env.txt
696 echo "__external_dns__" > /opt/config/external_dns.txt
698 # Download and run install script
699 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
701 chmod +x mr_install.sh
705 # Robot Framework instantiation
707 type: OS::Neutron::Port
709 network: { get_resource: oam_ecomp }
710 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: robot_ip_addr }}]
713 type: OS::Neutron::FloatingIP
715 floating_network_id: { get_param: public_net_id }
716 port_id: { get_resource: robot_private_port }
719 type: OS::Nova::Server
721 image: { get_param: ubuntu_1604_image }
722 flavor: { get_param: flavor_small }
727 base: { get_param: vm_base_name }
728 key_name: { get_resource: vm_key }
730 - port: { get_resource: robot_private_port }
731 user_data_format: RAW
735 __nexus_repo__: { get_param: nexus_repo }
736 __nexus_docker_repo__: { get_param: nexus_docker_repo }
737 __nexus_username__: { get_param: nexus_username }
738 __nexus_password__: { get_param: nexus_password }
739 __network_name__: { get_attr: [oam_ecomp, name] }
740 __openstack_username__: { get_param: openstack_username }
741 __openstack_api_key__: { get_param : openstack_api_key }
742 __artifacts_version__: { get_param: artifacts_version }
743 __openstack_region__: { get_param: openstack_region }
744 __dns_ip_addr__: { get_param: dns_ip_addr }
745 __docker_version__: { get_param: docker_version }
746 __gerrit_branch__: { get_param: gerrit_branch }
747 __cloud_env__: { get_param: cloud_env }
748 __keystone_url__: { get_param: keystone_url }
749 __aai1_ip_addr__: { get_param: aai1_ip_addr }
750 __aai2_ip_addr__: { get_param: aai2_ip_addr }
751 __appc_ip_addr__: { get_param: appc_ip_addr }
752 __dcae_ip_addr__: { get_param: dcae_ip_addr }
753 __mso_ip_addr__: { get_param: mso_ip_addr }
754 __mr_ip_addr__: { get_param: mr_ip_addr }
755 __policy_ip_addr__: { get_param: policy_ip_addr }
756 __portal_ip_addr__: { get_param: portal_ip_addr }
757 __sdc_ip_addr__: { get_param: sdc_ip_addr }
758 __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
759 __vid_ip_addr__: { get_param: vid_ip_addr }
760 __external_dns__: { get_param: external_dns }
761 __vm_image_name__: { get_param: ubuntu_1404_image}
762 __vm_flavor__: { get_param: flavor_medium}
766 # Create configuration files
768 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
769 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
770 echo "__nexus_username__" > /opt/config/nexus_username.txt
771 echo "__nexus_password__" > /opt/config/nexus_password.txt
772 echo "__network_name__" > /opt/config/network.txt
773 echo "__openstack_username__" > /opt/config/openstack_username.txt
774 echo "__openstack_api_key__" > /opt/config/openstack_password.txt
775 echo "__openstack_region__" > /opt/config/region.txt
776 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
777 echo "__docker_version__" > /opt/config/docker_version.txt
778 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
779 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
780 echo "__keystone_url__" > /opt/config/keystone.txt
781 echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
782 echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
783 echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
784 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
785 echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
786 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
787 echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
788 echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
789 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
790 echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
791 echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
792 echo "__cloud_env__" > /opt/config/cloud_env.txt
793 echo "__external_dns__" > /opt/config/external_dns.txt
794 echo "__vm_image_name__" > /opt/config/vm_image_name.txt
795 echo "__vm_flavor__" > /opt/config/vm_flavor.txt
797 # Download and run install script
798 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
800 chmod +x robot_install.sh
806 type: OS::Neutron::Port
808 network: { get_resource: oam_ecomp }
809 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: vid_ip_addr }}]
812 type: OS::Neutron::FloatingIP
814 floating_network_id: { get_param: public_net_id }
815 port_id: { get_resource: vid_private_port }
818 type: OS::Nova::Server
820 image: { get_param: ubuntu_1404_image }
821 flavor: { get_param: flavor_medium }
826 base: { get_param: vm_base_name }
827 key_name: { get_resource: vm_key }
829 - port: { get_resource: vid_private_port }
830 user_data_format: RAW
834 __nexus_repo__: { get_param: nexus_repo }
835 __nexus_docker_repo__: { get_param: nexus_docker_repo }
836 __nexus_username__: { get_param: nexus_username }
837 __nexus_password__: { get_param: nexus_password }
838 __artifacts_version__: { get_param: artifacts_version }
839 __dns_ip_addr__: { get_param: dns_ip_addr }
840 __docker_version__: { get_param: docker_version }
841 __gerrit_branch__: { get_param: gerrit_branch }
842 __cloud_env__: { get_param: cloud_env }
843 __external_dns__: { get_param: external_dns }
847 # Create configuration files
849 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
850 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
851 echo "__nexus_username__" > /opt/config/nexus_username.txt
852 echo "__nexus_password__" > /opt/config/nexus_password.txt
853 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
854 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
855 echo "__docker_version__" > /opt/config/docker_version.txt
856 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
857 echo "__cloud_env__" > /opt/config/cloud_env.txt
858 echo "__external_dns__" > /opt/config/external_dns.txt
860 # Download and run install script
861 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
863 chmod +x vid_install.sh
867 # SDN-C instantiation
869 type: OS::Neutron::Port
871 network: { get_resource: oam_ecomp }
872 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
875 type: OS::Neutron::FloatingIP
877 floating_network_id: { get_param: public_net_id }
878 port_id: { get_resource: sdnc_private_port }
881 type: OS::Nova::Server
883 image: { get_param: ubuntu_1404_image }
884 flavor: { get_param: flavor_large }
889 base: { get_param: vm_base_name }
890 key_name: { get_resource: vm_key }
892 - port: { get_resource: sdnc_private_port }
893 user_data_format: RAW
897 __nexus_repo__: { get_param: nexus_repo }
898 __nexus_docker_repo__: { get_param: nexus_docker_repo }
899 __nexus_username__: { get_param: nexus_username }
900 __nexus_password__: { get_param: nexus_password }
901 __artifacts_version__: { get_param: artifacts_version }
902 __dns_ip_addr__: { get_param: dns_ip_addr }
903 __docker_version__: { get_param: docker_version }
904 __gerrit_branch__: { get_param: gerrit_branch }
905 __cloud_env__: { get_param: cloud_env }
906 __external_dns__: { get_param: external_dns }
910 # Create configuration files
912 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
913 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
914 echo "__nexus_username__" > /opt/config/nexus_username.txt
915 echo "__nexus_password__" > /opt/config/nexus_password.txt
916 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
917 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
918 echo "__docker_version__" > /opt/config/docker_version.txt
919 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
920 echo "__cloud_env__" > /opt/config/cloud_env.txt
921 echo "__external_dns__" > /opt/config/external_dns.txt
923 # Download and run install script
924 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
926 chmod +x sdnc_install.sh
932 type: OS::Neutron::Port
934 network: { get_resource: oam_ecomp }
935 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
938 type: OS::Neutron::FloatingIP
940 floating_network_id: { get_param: public_net_id }
941 port_id: { get_resource: sdc_private_port }
944 type: OS::Cinder::Volume
950 type: OS::Nova::Server
952 image: { get_param: ubuntu_1604_image }
953 flavor: { get_param: flavor_xlarge }
958 base: { get_param: vm_base_name }
959 key_name: { get_resource: vm_key }
961 - port: { get_resource: sdc_private_port }
962 block_device_mapping:
963 - device_name: /dev/vdb
964 volume_id: {get_resource: sdc_volume_data}
965 user_data_format: RAW
969 __nexus_repo__: { get_param: nexus_repo }
970 __nexus_docker_repo__: { get_param: nexus_docker_repo }
971 __nexus_username__: { get_param: nexus_username }
972 __nexus_password__: { get_param: nexus_password }
973 __env_name__: { get_param: dmaap_topic }
974 __artifacts_version__: { get_param: artifacts_version }
975 __dns_ip_addr__: { get_param: dns_ip_addr }
976 __mr_ip_addr__: { get_param: mr_ip_addr }
977 __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
978 __docker_version__: { get_param: docker_version }
979 __gerrit_branch__: { get_param: gerrit_branch }
980 __cloud_env__: { get_param: cloud_env }
981 __external_dns__: { get_param: external_dns }
985 # Create configuration files
987 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
988 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
989 echo "__nexus_username__" > /opt/config/nexus_username.txt
990 echo "__nexus_password__" > /opt/config/nexus_password.txt
991 echo "__env_name__" > /opt/config/env_name.txt
992 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
993 echo "__public_ip__" > /opt/config/public_ip.txt
994 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
995 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
996 echo "__docker_version__" > /opt/config/docker_version.txt
997 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
998 echo "__cloud_env__" > /opt/config/cloud_env.txt
999 echo "__external_dns__" > /opt/config/external_dns.txt
1001 # Download and run install script
1002 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh
1004 chmod +x asdc_install.sh
1008 # PORTAL instantiation
1009 portal_private_port:
1010 type: OS::Neutron::Port
1012 network: { get_resource: oam_ecomp }
1013 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
1016 type: OS::Neutron::FloatingIP
1018 floating_network_id: { get_param: public_net_id }
1019 port_id: { get_resource: portal_private_port }
1022 type: OS::Nova::Server
1024 image: { get_param: ubuntu_1404_image }
1025 flavor: { get_param: flavor_large }
1028 template: base-portal
1030 base: { get_param: vm_base_name }
1031 key_name: { get_resource: vm_key }
1033 - port: { get_resource: portal_private_port }
1034 user_data_format: RAW
1038 __nexus_repo__: { get_param: nexus_repo }
1039 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1040 __nexus_username__: { get_param: nexus_username }
1041 __nexus_password__: { get_param: nexus_password }
1042 __artifacts_version__: { get_param: artifacts_version }
1043 __dns_ip_addr__: { get_param: dns_ip_addr }
1044 __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1045 __docker_version__: { get_param: docker_version }
1046 __gerrit_branch__: { get_param: gerrit_branch }
1047 __cloud_env__: { get_param: cloud_env }
1048 __external_dns__: { get_param: external_dns }
1052 # Create configuration files
1053 mkdir -p /opt/config
1054 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1055 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1056 echo "__nexus_username__" > /opt/config/nexus_username.txt
1057 echo "__nexus_password__" > /opt/config/nexus_password.txt
1058 echo "__public_ip__" > /opt/config/public_ip.txt
1059 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1060 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1061 echo "__docker_version__" > /opt/config/docker_version.txt
1062 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1063 echo "__cloud_env__" > /opt/config/cloud_env.txt
1064 echo "__external_dns__" > /opt/config/external_dns.txt
1066 # Download and run install script
1067 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1069 chmod +x portal_install.sh
1073 # DCAE Controller instantiation
1074 dcae_c_private_port:
1075 type: OS::Neutron::Port
1077 network: { get_resource: oam_ecomp }
1078 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1081 type: OS::Neutron::FloatingIP
1083 floating_network_id: { get_param: public_net_id }
1084 port_id: { get_resource: dcae_c_private_port }
1087 type: OS::Nova::Server
1089 image: { get_param: ubuntu_1404_image }
1090 flavor: { get_param: flavor_medium }
1093 template: base-dcae-controller
1095 base: { get_param: vm_base_name }
1096 key_name: { get_resource: vm_key }
1098 - port: { get_resource: dcae_c_private_port }
1099 user_data_format: RAW
1103 __nexus_repo__: { get_param: nexus_repo }
1104 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1105 __nexus_username__: { get_param: nexus_username }
1106 __nexus_password__: { get_param: nexus_password }
1107 __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1108 __gitlab_branch__: { get_param: gitlab_branch }
1109 __dns_ip_addr__: { get_param: dns_ip_addr }
1110 __dcae_zone__: { get_param: dcae_zone }
1111 __dcae_state__: { get_param: dcae_state }
1112 __artifacts_version__: { get_param: artifacts_version }
1113 __tenant_id__: { get_param: openstack_tenant_id }
1114 __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
1115 __openstack_user__: { get_param: openstack_username }
1116 __openstack_password__: { get_param: openstack_api_key }
1117 __openstack_auth_method__: { get_param: openstack_auth_method }
1118 __key_name__: { get_param: key_name }
1119 __rand_str__: { get_resource: random-str }
1120 __pub_key__: { get_param: pub_key }
1121 __nexus_repo_root__: { get_param: nexus_repo_root }
1122 __openstack_region__: { get_param: openstack_region }
1123 __horizon_url__: { get_param: horizon_url }
1124 __keystone_url__: { get_param: keystone_url }
1125 __docker_version__: { get_param: docker_version }
1126 __gerrit_branch__: { get_param: gerrit_branch }
1127 __dcae_code_version__: { get_param: dcae_code_version }
1128 __cloud_env__: { get_param: cloud_env }
1129 __public_net_id__: { get_param: public_net_id }
1130 __dcae_base_environment__: { get_param: dcae_base_environment }
1131 __dcae_ip_addr__: { get_param: dcae_ip_addr }
1132 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1133 __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1134 __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1135 __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1136 __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1137 __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
1138 __dcae_coll_float_ip__: { get_param: dcae_coll_float_ip }
1139 __dcae_db_float_ip__: { get_param: dcae_db_float_ip }
1140 __dcae_hdp1_float_ip__: { get_param: dcae_hdp1_float_ip }
1141 __dcae_hdp2_float_ip__: { get_param: dcae_hdp2_float_ip }
1142 __dcae_hdp3_float_ip__: { get_param: dcae_hdp3_float_ip }
1143 __external_dns__: { get_param: external_dns }
1144 __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1145 __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1146 __flavor_small__: { get_param: flavor_small }
1147 __flavor_medium__: { get_param: flavor_medium }
1148 __flavor_large__: { get_param: flavor_large }
1149 __flavor_xlarge__: { get_param: flavor_xlarge }
1153 # Create configuration files
1154 mkdir -p /opt/config
1155 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1156 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1157 echo "__nexus_username__" > /opt/config/nexus_username.txt
1158 echo "__nexus_password__" > /opt/config/nexus_password.txt
1159 echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1160 echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1161 echo "__docker_version__" > /opt/config/docker_version.txt
1162 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1163 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1164 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1165 echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1166 echo "__dcae_state__" > /opt/config/dcae_state.txt
1167 echo "__tenant_id__" > /opt/config/tenant_id.txt
1168 echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1169 echo "__openstack_user__" > /opt/config/openstack_user.txt
1170 echo "__openstack_password__" > /opt/config/openstack_password.txt
1171 echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1172 echo "__key_name__" > /opt/config/key_name.txt
1173 echo "__rand_str__" > /opt/config/rand_str.txt
1174 echo "__pub_key__" > /opt/config/pub_key.txt
1175 echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1176 echo "__openstack_region__" > /opt/config/openstack_region.txt
1177 echo "__horizon_url__" > /opt/config/horizon_url.txt
1178 echo "__keystone_url__" > /opt/config/keystone_url.txt
1179 echo "__cloud_env__" > /opt/config/cloud_env.txt
1180 echo "__public_net_id__" > /opt/config/public_net_id.txt
1181 echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1182 echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1183 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1184 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1185 echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1186 echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1187 echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1188 echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1189 echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
1190 echo "__dcae_coll_float_ip__" > /opt/config/dcae_coll_float_ip.txt
1191 echo "__dcae_db_float_ip__" > /opt/config/dcae_db_float_ip.txt
1192 echo "__dcae_hdp1_float_ip__" > /opt/config/dcae_hdp1_float_ip.txt
1193 echo "__dcae_hdp2_float_ip__" > /opt/config/dcae_hdp2_float_ip.txt
1194 echo "__dcae_hdp3_float_ip__" > /opt/config/dcae_hdp3_float_ip.txt
1195 echo "__external_dns__" > /opt/config/external_dns.txt
1196 echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1197 echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1198 echo "__flavor_small__" > /opt/config/flavor_small.txt
1199 echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1200 echo "__flavor_large__" > /opt/config/flavor_large.txt
1201 echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1203 # Download and run install script
1204 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1206 chmod +x dcae_install.sh
1210 # Policy Engine instantiation
1211 policy_private_port:
1212 type: OS::Neutron::Port
1214 network: { get_resource: oam_ecomp }
1215 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1218 type: OS::Neutron::FloatingIP
1220 floating_network_id: { get_param: public_net_id }
1221 port_id: { get_resource: policy_private_port }
1224 type: OS::Nova::Server
1226 image: { get_param: ubuntu_1404_image }
1227 flavor: { get_param: flavor_xlarge }
1230 template: base-policy
1232 base: { get_param: vm_base_name }
1233 key_name: { get_resource: vm_key }
1235 - port: { get_resource: policy_private_port }
1236 user_data_format: RAW
1240 __nexus_repo__: { get_param: nexus_repo }
1241 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1242 __nexus_username__: { get_param: nexus_username }
1243 __nexus_password__: { get_param: nexus_password }
1244 __artifacts_version__: { get_param: artifacts_version }
1245 __dns_ip_addr__: { get_param: dns_ip_addr }
1246 __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1247 __docker_version__: { get_param: docker_version }
1248 __gerrit_branch__: { get_param: gerrit_branch }
1249 __cloud_env__: { get_param: cloud_env }
1250 __external_dns__: { get_param: external_dns }
1254 # Create configuration files
1255 mkdir -p /opt/config
1256 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1257 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1258 echo "__nexus_username__" > /opt/config/nexus_username.txt
1259 echo "__nexus_password__" > /opt/config/nexus_password.txt
1260 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1261 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1262 echo "__public_ip__" > /opt/config/public_ip.txt
1263 echo "__docker_version__" > /opt/config/docker_version.txt
1264 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1265 echo "__cloud_env__" > /opt/config/cloud_env.txt
1266 echo "__external_dns__" > /opt/config/external_dns.txt
1268 # Download and run install script
1269 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1271 chmod +x policy_install.sh
1275 # APP-C instantiation
1277 type: OS::Neutron::Port
1279 network: { get_resource: oam_ecomp }
1280 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1283 type: OS::Neutron::FloatingIP
1285 floating_network_id: { get_param: public_net_id }
1286 port_id: { get_resource: appc_private_port }
1289 type: OS::Nova::Server
1291 image: { get_param: ubuntu_1404_image }
1292 flavor: { get_param: flavor_large }
1297 base: { get_param: vm_base_name }
1298 key_name: { get_resource: vm_key }
1300 - port: { get_resource: appc_private_port }
1301 user_data_format: RAW
1305 __nexus_repo__: { get_param: nexus_repo }
1306 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1307 __nexus_username__: { get_param: nexus_username }
1308 __nexus_password__: { get_param: nexus_password }
1309 __dmaap_topic__: { get_param: dmaap_topic }
1310 __artifacts_version__: { get_param: artifacts_version }
1311 __dns_ip_addr__: { get_param: dns_ip_addr }
1312 __docker_version__: { get_param: docker_version }
1313 __gerrit_branch__: { get_param: gerrit_branch }
1314 __cloud_env__: { get_param: cloud_env }
1315 __external_dns__: { get_param: external_dns }
1319 # Create configuration files
1320 mkdir -p /opt/config
1321 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1322 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1323 echo "__nexus_username__" > /opt/config/nexus_username.txt
1324 echo "__nexus_password__" > /opt/config/nexus_password.txt
1325 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1326 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1327 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1328 echo "__docker_version__" > /opt/config/docker_version.txt
1329 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1330 echo "__cloud_env__" > /opt/config/cloud_env.txt
1331 echo "__external_dns__" > /opt/config/external_dns.txt
1333 # Download and run install script
1334 curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1336 chmod +x appc_install.sh