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
236 ###########################
238 # Parameters used by DCAE #
240 ###########################
242 dcae_base_environment:
244 description: DCAE Base Environment configuration (RACKSPACE/2-NIC/1-NIC-FLOATING-IPS)
248 description: DCAE Zone to use in VM names created by DCAE controller
252 description: DCAE State to use in VM names created by DCAE controller
256 description: Root URL of Nexus repository
260 description: Snapshot of Maven repository for DCAE deployment
264 description: Region where the DCAE controller will spin the VMs
268 description: Branch of the Gitlab repository
272 description: DCAE Code Version Number
283 type: OS::Heat::RandomString
288 # Public key used to access ONAP components
290 type: OS::Nova::KeyPair
296 base: { get_param: key_name }
297 rand: { get_resource: random-str }
298 public_key: { get_param: pub_key }
299 save_private_key: false
302 # ONAP management private network
304 type: OS::Neutron::Net
308 template: oam_ecomp_rand
310 rand: { get_resource: random-str }
313 type: OS::Neutron::Subnet
317 template: oam_ecomp_rand
319 rand: { get_resource: random-str }
320 network_id: { get_resource: oam_ecomp }
321 cidr: { get_param: oam_network_cidr }
322 dns_nameservers: { get_param: dns_list }
325 type: OS::Neutron::Router
327 external_gateway_info:
328 network: { get_param: public_net_id }
331 type: OS::Neutron::RouterInterface
333 router_id: { get_resource: router }
334 subnet_id: { get_resource: oam_ecomp_subnet }
337 # DNS Server instantiation
339 type: OS::Neutron::Port
341 network: { get_resource: oam_ecomp }
342 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dns_ip_addr }}]
345 type: OS::Neutron::FloatingIP
347 floating_network_id: { get_param: public_net_id }
348 port_id: { get_resource: dns_private_port }
351 type: OS::Nova::Server
353 image: { get_param: ubuntu_1404_image }
354 flavor: { get_param: flavor_small }
357 template: base-dns-server
359 base: { get_param: vm_base_name }
360 key_name: { get_resource: vm_key }
362 - port: { get_resource: dns_private_port }
363 user_data_format: RAW
367 __nexus_repo__: { get_param: nexus_repo }
368 __artifacts_version__: { get_param: artifacts_version }
369 __oam_network_cidr__: { get_attr: [oam_ecomp_subnet, cidr] }
370 __dns_ip_addr__: { get_param: dns_ip_addr }
371 __aai1_ip_addr__: { get_param: aai1_ip_addr }
372 __aai2_ip_addr__: { get_param: aai2_ip_addr }
373 __appc_ip_addr__: { get_param: appc_ip_addr }
374 __dcae_ip_addr__: { get_param: dcae_ip_addr }
375 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
376 __mso_ip_addr__: { get_param: mso_ip_addr }
377 __mr_ip_addr__: { get_param: mr_ip_addr }
378 __policy_ip_addr__: { get_param: policy_ip_addr }
379 __portal_ip_addr__: { get_param: portal_ip_addr }
380 __robot_ip_addr__: { get_param: robot_ip_addr }
381 __sdc_ip_addr__: { get_param: sdc_ip_addr }
382 __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
383 __vid_ip_addr__: { get_param: vid_ip_addr }
384 __cloud_env__: { get_param: cloud_env }
385 __external_dns__: { get_param: external_dns }
389 # Create configuration files
391 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
392 echo "__cloud_env__" > /opt/config/cloud_env.txt
393 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
394 echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
395 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
396 echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
397 echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
398 echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
399 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
400 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
401 echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
402 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
403 echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
404 echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
405 echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt
406 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
407 echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
408 echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
409 echo "__external_dns__" > /opt/config/external_dns.txt
411 # Download and run install script
412 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh
414 chmod +x dns_install.sh
418 # A&AI instantiation (2 VMs)
420 type: OS::Neutron::Port
422 network: { get_resource: oam_ecomp }
423 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai1_ip_addr }}]
426 type: OS::Neutron::FloatingIP
428 floating_network_id: { get_param: public_net_id }
429 port_id: { get_resource: aai1_private_port }
432 type: OS::Nova::Server
435 image: { get_param: ubuntu_1404_image }
436 flavor: { get_param: flavor_xlarge }
439 template: base-aai-inst1
441 base: { get_param: vm_base_name }
442 key_name: { get_resource: vm_key }
444 - port: { get_resource: aai1_private_port }
445 user_data_format: RAW
449 __nexus_repo__: { get_param: nexus_repo }
450 __nexus_docker_repo__: { get_param: nexus_docker_repo }
451 __nexus_username__: { get_param: nexus_username }
452 __nexus_password__: { get_param: nexus_password }
453 __dmaap_topic__: { get_param: dmaap_topic }
454 __artifacts_version__: { get_param: artifacts_version }
455 __dns_ip_addr__: { get_param: dns_ip_addr }
456 __docker_version__: { get_param: docker_version }
457 __gerrit_branch__: { get_param: gerrit_branch }
458 __cloud_env__: { get_param: cloud_env }
459 __external_dns__: { get_param: external_dns }
463 # Create configuration files
465 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
466 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
467 echo "__nexus_username__" > /opt/config/nexus_username.txt
468 echo "__nexus_password__" > /opt/config/nexus_password.txt
469 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
470 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
471 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
472 echo "__docker_version__" > /opt/config/docker_version.txt
473 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
474 echo "aai_instance_1" > /opt/config/aai_instance.txt
475 echo "__cloud_env__" > /opt/config/cloud_env.txt
476 echo "__external_dns__" > /opt/config/external_dns.txt
478 # Download and run install script
479 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai2_install.sh -o /opt/aai2_install.sh
481 chmod +x aai2_install.sh
486 type: OS::Neutron::Port
488 network: { get_resource: oam_ecomp }
489 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai2_ip_addr }}]
492 type: OS::Neutron::FloatingIP
494 floating_network_id: { get_param: public_net_id }
495 port_id: { get_resource: aai2_private_port }
498 type: OS::Nova::Server
500 image: { get_param: ubuntu_1404_image }
501 flavor: { get_param: flavor_xlarge }
504 template: base-aai-inst2
506 base: { get_param: vm_base_name }
507 key_name: { get_resource: vm_key }
509 - port: { get_resource: aai2_private_port }
510 user_data_format: RAW
514 __nexus_repo__: { get_param: nexus_repo }
515 __nexus_docker_repo__: { get_param: nexus_docker_repo }
516 __nexus_username__: { get_param: nexus_username }
517 __nexus_password__: { get_param: nexus_password }
518 __dmaap_topic__: { get_param: dmaap_topic }
519 __artifacts_version__: { get_param: artifacts_version }
520 __dns_ip_addr__: { get_param: dns_ip_addr }
521 __docker_version__: { get_param: docker_version }
522 __gerrit_branch__: { get_param: gerrit_branch }
523 __cloud_env__: { get_param: cloud_env }
524 __external_dns__: { get_param: external_dns }
528 # Create configuration files
530 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
531 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
532 echo "__nexus_username__" > /opt/config/nexus_username.txt
533 echo "__nexus_password__" > /opt/config/nexus_password.txt
534 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
535 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
536 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
537 echo "__docker_version__" > /opt/config/docker_version.txt
538 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
539 echo "aai_instance_2" > /opt/config/aai_instance.txt
540 echo "__cloud_env__" > /opt/config/cloud_env.txt
541 echo "__external_dns__" > /opt/config/external_dns.txt
543 # Download and run install script
544 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai2_install.sh -o /opt/aai2_install.sh
546 chmod +x aai2_install.sh
552 type: OS::Neutron::Port
554 network: { get_resource: oam_ecomp }
555 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mso_ip_addr }}]
558 type: OS::Neutron::FloatingIP
560 floating_network_id: { get_param: public_net_id }
561 port_id: { get_resource: mso_private_port }
564 type: OS::Nova::Server
566 image: { get_param: ubuntu_1604_image }
567 flavor: { get_param: flavor_large }
572 base: { get_param: vm_base_name }
573 key_name: { get_resource: vm_key }
575 - port: { get_resource: mso_private_port }
576 user_data_format: RAW
580 __nexus_repo__: { get_param: nexus_repo }
581 __nexus_docker_repo__: { get_param: nexus_docker_repo }
582 __nexus_username__: { get_param: nexus_username }
583 __nexus_password__: { get_param: nexus_password }
584 __openstack_username__: { get_param: openstack_username }
585 __openstack_tenant_id__: { get_param: openstack_tenant_id }
586 __openstack_api_key__: { get_param: openstack_api_key }
587 __openstack_region__: { get_param: openstack_region }
588 __keystone_url__: { get_param: keystone_url }
589 __dmaap_topic__: { get_param: dmaap_topic }
590 __artifacts_version__: { get_param: artifacts_version }
591 __dns_ip_addr__: { get_param: dns_ip_addr }
592 __docker_version__: { get_param: docker_version }
593 __gerrit_branch__: { get_param: gerrit_branch }
594 __cloud_env__: { get_param: cloud_env }
595 __external_dns__: { get_param: external_dns }
599 # Create configuration files
601 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
602 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
603 echo "__nexus_username__" > /opt/config/nexus_username.txt
604 echo "__nexus_password__" > /opt/config/nexus_password.txt
605 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
606 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
607 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
608 echo "__openstack_username__" > /opt/config/openstack_username.txt
609 echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
610 echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
611 echo "__openstack_region__" > /opt/config/openstack_region.txt
612 echo "__keystone_url__" > /opt/config/keystone.txt
613 echo "__docker_version__" > /opt/config/docker_version.txt
614 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
615 echo "__cloud_env__" > /opt/config/cloud_env.txt
616 echo "__external_dns__" > /opt/config/external_dns.txt
618 # Download and run install script
619 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_install.sh -o /opt/mso_install.sh
621 chmod +x mso_install.sh
625 # Message Router instantiation
626 mrouter_private_port:
627 type: OS::Neutron::Port
629 network: { get_resource: oam_ecomp }
630 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mr_ip_addr }}]
633 type: OS::Neutron::FloatingIP
635 floating_network_id: { get_param: public_net_id }
636 port_id: { get_resource: mrouter_private_port }
639 type: OS::Nova::Server
641 image: { get_param: ubuntu_1404_image }
642 flavor: { get_param: flavor_large }
645 template: base-message-router
647 base: { get_param: vm_base_name }
648 key_name: { get_resource: vm_key }
650 - port: { get_resource: mrouter_private_port }
651 user_data_format: RAW
655 __nexus_repo__: { get_param: nexus_repo }
656 __nexus_docker_repo__: { get_param: nexus_docker_repo }
657 __nexus_username__: { get_param: nexus_username }
658 __nexus_password__: { get_param: nexus_password }
659 __artifacts_version__: { get_param: artifacts_version }
660 __dns_ip_addr__: { get_param: dns_ip_addr }
661 __gerrit_branch__: { get_param: gerrit_branch }
662 __cloud_env__: { get_param: cloud_env }
663 __external_dns__: { get_param: external_dns }
667 # Create configuration files
669 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
670 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
671 echo "__nexus_username__" > /opt/config/nexus_username.txt
672 echo "__nexus_password__" > /opt/config/nexus_password.txt
673 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
674 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
675 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
676 echo "__cloud_env__" > /opt/config/cloud_env.txt
677 echo "__external_dns__" > /opt/config/external_dns.txt
679 # Download and run install script
680 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
682 chmod +x mr_install.sh
686 # Robot Framework instantiation
688 type: OS::Neutron::Port
690 network: { get_resource: oam_ecomp }
691 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: robot_ip_addr }}]
694 type: OS::Neutron::FloatingIP
696 floating_network_id: { get_param: public_net_id }
697 port_id: { get_resource: robot_private_port }
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 }
771 type: OS::Nova::Server
773 image: { get_param: ubuntu_1404_image }
774 flavor: { get_param: flavor_medium }
779 base: { get_param: vm_base_name }
780 key_name: { get_resource: vm_key }
782 - port: { get_resource: vid_private_port }
783 user_data_format: RAW
787 __nexus_repo__: { get_param: nexus_repo }
788 __nexus_docker_repo__: { get_param: nexus_docker_repo }
789 __nexus_username__: { get_param: nexus_username }
790 __nexus_password__: { get_param: nexus_password }
791 __artifacts_version__: { get_param: artifacts_version }
792 __dns_ip_addr__: { get_param: dns_ip_addr }
793 __docker_version__: { get_param: docker_version }
794 __gerrit_branch__: { get_param: gerrit_branch }
795 __cloud_env__: { get_param: cloud_env }
796 __external_dns__: { get_param: external_dns }
800 # Create configuration files
802 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
803 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
804 echo "__nexus_username__" > /opt/config/nexus_username.txt
805 echo "__nexus_password__" > /opt/config/nexus_password.txt
806 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
807 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
808 echo "__docker_version__" > /opt/config/docker_version.txt
809 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
810 echo "__cloud_env__" > /opt/config/cloud_env.txt
811 echo "__external_dns__" > /opt/config/external_dns.txt
813 # Download and run install script
814 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
816 chmod +x vid_install.sh
820 # SDN-C instantiation
822 type: OS::Neutron::Port
824 network: { get_resource: oam_ecomp }
825 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
828 type: OS::Neutron::FloatingIP
830 floating_network_id: { get_param: public_net_id }
831 port_id: { get_resource: sdnc_private_port }
834 type: OS::Nova::Server
836 image: { get_param: ubuntu_1404_image }
837 flavor: { get_param: flavor_large }
842 base: { get_param: vm_base_name }
843 key_name: { get_resource: vm_key }
845 - port: { get_resource: sdnc_private_port }
846 user_data_format: RAW
850 __nexus_repo__: { get_param: nexus_repo }
851 __nexus_docker_repo__: { get_param: nexus_docker_repo }
852 __nexus_username__: { get_param: nexus_username }
853 __nexus_password__: { get_param: nexus_password }
854 __artifacts_version__: { get_param: artifacts_version }
855 __dns_ip_addr__: { get_param: dns_ip_addr }
856 __docker_version__: { get_param: docker_version }
857 __gerrit_branch__: { get_param: gerrit_branch }
858 __cloud_env__: { get_param: cloud_env }
859 __external_dns__: { get_param: external_dns }
863 # Create configuration files
865 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
866 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
867 echo "__nexus_username__" > /opt/config/nexus_username.txt
868 echo "__nexus_password__" > /opt/config/nexus_password.txt
869 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
870 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
871 echo "__docker_version__" > /opt/config/docker_version.txt
872 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
873 echo "__cloud_env__" > /opt/config/cloud_env.txt
874 echo "__external_dns__" > /opt/config/external_dns.txt
876 # Download and run install script
877 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
879 chmod +x sdnc_install.sh
885 type: OS::Neutron::Port
887 network: { get_resource: oam_ecomp }
888 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
891 type: OS::Neutron::FloatingIP
893 floating_network_id: { get_param: public_net_id }
894 port_id: { get_resource: sdc_private_port }
897 type: OS::Cinder::Volume
903 type: OS::Nova::Server
905 image: { get_param: ubuntu_1604_image }
906 flavor: { get_param: flavor_xlarge }
911 base: { get_param: vm_base_name }
912 key_name: { get_resource: vm_key }
914 - port: { get_resource: sdc_private_port }
915 block_device_mapping:
916 - device_name: /dev/vdb
917 volume_id: {get_resource: sdc_volume_data}
918 user_data_format: RAW
922 __nexus_repo__: { get_param: nexus_repo }
923 __nexus_docker_repo__: { get_param: nexus_docker_repo }
924 __nexus_username__: { get_param: nexus_username }
925 __nexus_password__: { get_param: nexus_password }
926 __env_name__: { get_param: dmaap_topic }
927 __artifacts_version__: { get_param: artifacts_version }
928 __dns_ip_addr__: { get_param: dns_ip_addr }
929 __mr_ip_addr__: { get_param: mr_ip_addr }
930 __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
931 __docker_version__: { get_param: docker_version }
932 __gerrit_branch__: { get_param: gerrit_branch }
933 __cloud_env__: { get_param: cloud_env }
934 __external_dns__: { get_param: external_dns }
938 # Create configuration files
940 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
941 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
942 echo "__nexus_username__" > /opt/config/nexus_username.txt
943 echo "__nexus_password__" > /opt/config/nexus_password.txt
944 echo "__env_name__" > /opt/config/env_name.txt
945 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
946 echo "__public_ip__" > /opt/config/public_ip.txt
947 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
948 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
949 echo "__docker_version__" > /opt/config/docker_version.txt
950 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
951 echo "__cloud_env__" > /opt/config/cloud_env.txt
952 echo "__external_dns__" > /opt/config/external_dns.txt
954 # Download and run install script
955 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh
957 chmod +x asdc_install.sh
961 # PORTAL instantiation
963 type: OS::Neutron::Port
965 network: { get_resource: oam_ecomp }
966 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
969 type: OS::Neutron::FloatingIP
971 floating_network_id: { get_param: public_net_id }
972 port_id: { get_resource: portal_private_port }
975 type: OS::Nova::Server
977 image: { get_param: ubuntu_1404_image }
978 flavor: { get_param: flavor_large }
981 template: base-portal
983 base: { get_param: vm_base_name }
984 key_name: { get_resource: vm_key }
986 - port: { get_resource: portal_private_port }
987 user_data_format: RAW
991 __nexus_repo__: { get_param: nexus_repo }
992 __nexus_docker_repo__: { get_param: nexus_docker_repo }
993 __nexus_username__: { get_param: nexus_username }
994 __nexus_password__: { get_param: nexus_password }
995 __artifacts_version__: { get_param: artifacts_version }
996 __dns_ip_addr__: { get_param: dns_ip_addr }
997 __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
998 __docker_version__: { get_param: docker_version }
999 __gerrit_branch__: { get_param: gerrit_branch }
1000 __cloud_env__: { get_param: cloud_env }
1001 __external_dns__: { get_param: external_dns }
1005 # Create configuration files
1006 mkdir -p /opt/config
1007 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1008 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1009 echo "__nexus_username__" > /opt/config/nexus_username.txt
1010 echo "__nexus_password__" > /opt/config/nexus_password.txt
1011 echo "__public_ip__" > /opt/config/public_ip.txt
1012 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1013 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1014 echo "__docker_version__" > /opt/config/docker_version.txt
1015 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1016 echo "__cloud_env__" > /opt/config/cloud_env.txt
1017 echo "__external_dns__" > /opt/config/external_dns.txt
1019 # Download and run install script
1020 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1022 chmod +x portal_install.sh
1026 # DCAE Controller instantiation
1027 dcae_c_private_port:
1028 type: OS::Neutron::Port
1030 network: { get_resource: oam_ecomp }
1031 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1034 type: OS::Neutron::FloatingIP
1036 floating_network_id: { get_param: public_net_id }
1037 port_id: { get_resource: dcae_c_private_port }
1040 type: OS::Nova::Server
1042 image: { get_param: ubuntu_1404_image }
1043 flavor: { get_param: flavor_medium }
1046 template: base-dcae-controller
1048 base: { get_param: vm_base_name }
1049 key_name: { get_resource: vm_key }
1051 - port: { get_resource: dcae_c_private_port }
1052 user_data_format: RAW
1056 __nexus_repo__: { get_param: nexus_repo }
1057 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1058 __nexus_username__: { get_param: nexus_username }
1059 __nexus_password__: { get_param: nexus_password }
1060 __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1061 __gitlab_branch__: { get_param: gitlab_branch }
1062 __dns_ip_addr__: { get_param: dns_ip_addr }
1063 __dcae_zone__: { get_param: dcae_zone }
1064 __dcae_state__: { get_param: dcae_state }
1065 __artifacts_version__: { get_param: artifacts_version }
1066 __tenant_id__: { get_param: openstack_tenant_id }
1067 __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
1068 __openstack_user__: { get_param: openstack_username }
1069 __openstack_password__: { get_param: openstack_api_key }
1070 __openstack_auth_method__: { get_param: openstack_auth_method }
1071 __key_name__: { get_param: key_name }
1072 __rand_str__: { get_resource: random-str }
1073 __pub_key__: { get_param: pub_key }
1074 __nexus_repo_root__: { get_param: nexus_repo_root }
1075 __openstack_region__: { get_param: openstack_region }
1076 __horizon_url__: { get_param: horizon_url }
1077 __keystone_url__: { get_param: keystone_url }
1078 __docker_version__: { get_param: docker_version }
1079 __gerrit_branch__: { get_param: gerrit_branch }
1080 __dcae_code_version__: { get_param: dcae_code_version }
1081 __cloud_env__: { get_param: cloud_env }
1082 __public_net_id__: { get_param: public_net_id }
1083 __dcae_base_environment__: { get_param: dcae_base_environment }
1084 __dcae_ip_addr__: { get_param: dcae_ip_addr }
1085 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1086 __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1087 __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1088 __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1089 __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1090 __external_dns__: { get_param: external_dns }
1091 __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1092 __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1093 __flavor_small__: { get_param: flavor_small }
1094 __flavor_medium__: { get_param: flavor_medium }
1095 __flavor_large__: { get_param: flavor_large }
1096 __flavor_xlarge__: { get_param: flavor_xlarge }
1100 # Create configuration files
1101 mkdir -p /opt/config
1102 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1103 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1104 echo "__nexus_username__" > /opt/config/nexus_username.txt
1105 echo "__nexus_password__" > /opt/config/nexus_password.txt
1106 echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1107 echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1108 echo "__docker_version__" > /opt/config/docker_version.txt
1109 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1110 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1111 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1112 echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1113 echo "__dcae_state__" > /opt/config/dcae_state.txt
1114 echo "__tenant_id__" > /opt/config/tenant_id.txt
1115 echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1116 echo "__openstack_user__" > /opt/config/openstack_user.txt
1117 echo "__openstack_password__" > /opt/config/openstack_password.txt
1118 echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1119 echo "__key_name__" > /opt/config/key_name.txt
1120 echo "__rand_str__" > /opt/config/rand_str.txt
1121 echo "__pub_key__" > /opt/config/pub_key.txt
1122 echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1123 echo "__openstack_region__" > /opt/config/openstack_region.txt
1124 echo "__horizon_url__" > /opt/config/horizon_url.txt
1125 echo "__keystone_url__" > /opt/config/keystone_url.txt
1126 echo "__cloud_env__" > /opt/config/cloud_env.txt
1127 echo "__public_net_id__" > /opt/config/public_net_id.txt
1128 echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1129 echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1130 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1131 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1132 echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1133 echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1134 echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1135 echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1136 echo "__external_dns__" > /opt/config/external_dns.txt
1137 echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1138 echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1139 echo "__flavor_small__" > /opt/config/flavor_small.txt
1140 echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1141 echo "__flavor_large__" > /opt/config/flavor_large.txt
1142 echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1144 # Download and run install script
1145 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1147 chmod +x dcae_install.sh
1151 # Policy Engine instantiation
1152 policy_private_port:
1153 type: OS::Neutron::Port
1155 network: { get_resource: oam_ecomp }
1156 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1159 type: OS::Neutron::FloatingIP
1161 floating_network_id: { get_param: public_net_id }
1162 port_id: { get_resource: policy_private_port }
1165 type: OS::Nova::Server
1167 image: { get_param: ubuntu_1404_image }
1168 flavor: { get_param: flavor_xlarge }
1171 template: base-policy
1173 base: { get_param: vm_base_name }
1174 key_name: { get_resource: vm_key }
1176 - port: { get_resource: policy_private_port }
1177 user_data_format: RAW
1181 __nexus_repo__: { get_param: nexus_repo }
1182 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1183 __nexus_username__: { get_param: nexus_username }
1184 __nexus_password__: { get_param: nexus_password }
1185 __artifacts_version__: { get_param: artifacts_version }
1186 __dns_ip_addr__: { get_param: dns_ip_addr }
1187 __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1188 __docker_version__: { get_param: docker_version }
1189 __gerrit_branch__: { get_param: gerrit_branch }
1190 __cloud_env__: { get_param: cloud_env }
1191 __external_dns__: { get_param: external_dns }
1195 # Create configuration files
1196 mkdir -p /opt/config
1197 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1198 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1199 echo "__nexus_username__" > /opt/config/nexus_username.txt
1200 echo "__nexus_password__" > /opt/config/nexus_password.txt
1201 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1202 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1203 echo "__public_ip__" > /opt/config/public_ip.txt
1204 echo "__docker_version__" > /opt/config/docker_version.txt
1205 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1206 echo "__cloud_env__" > /opt/config/cloud_env.txt
1207 echo "__external_dns__" > /opt/config/external_dns.txt
1209 # Download and run install script
1210 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1212 chmod +x policy_install.sh
1216 # APP-C instantiation
1218 type: OS::Neutron::Port
1220 network: { get_resource: oam_ecomp }
1221 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1224 type: OS::Neutron::FloatingIP
1226 floating_network_id: { get_param: public_net_id }
1227 port_id: { get_resource: appc_private_port }
1230 type: OS::Nova::Server
1232 image: { get_param: ubuntu_1404_image }
1233 flavor: { get_param: flavor_large }
1238 base: { get_param: vm_base_name }
1239 key_name: { get_resource: vm_key }
1241 - port: { get_resource: appc_private_port }
1242 user_data_format: RAW
1246 __nexus_repo__: { get_param: nexus_repo }
1247 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1248 __nexus_username__: { get_param: nexus_username }
1249 __nexus_password__: { get_param: nexus_password }
1250 __dmaap_topic__: { get_param: dmaap_topic }
1251 __artifacts_version__: { get_param: artifacts_version }
1252 __dns_ip_addr__: { get_param: dns_ip_addr }
1253 __docker_version__: { get_param: docker_version }
1254 __gerrit_branch__: { get_param: gerrit_branch }
1255 __cloud_env__: { get_param: cloud_env }
1256 __external_dns__: { get_param: external_dns }
1260 # Create configuration files
1261 mkdir -p /opt/config
1262 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1263 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1264 echo "__nexus_username__" > /opt/config/nexus_username.txt
1265 echo "__nexus_password__" > /opt/config/nexus_password.txt
1266 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1267 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1268 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1269 echo "__docker_version__" > /opt/config/docker_version.txt
1270 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1271 echo "__cloud_env__" > /opt/config/cloud_env.txt
1272 echo "__external_dns__" > /opt/config/external_dns.txt
1274 # Download and run install script
1275 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1277 chmod +x appc_install.sh