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 __keystone_url__: { get_param: keystone_url }
730 __aai1_ip_addr__: { get_param: aai1_ip_addr }
731 __aai2_ip_addr__: { get_param: aai2_ip_addr }
732 __appc_ip_addr__: { get_param: appc_ip_addr }
733 __dcae_ip_addr__: { get_param: dcae_ip_addr }
734 __mso_ip_addr__: { get_param: mso_ip_addr }
735 __mr_ip_addr__: { get_param: mr_ip_addr }
736 __policy_ip_addr__: { get_param: policy_ip_addr }
737 __portal_ip_addr__: { get_param: portal_ip_addr }
738 __sdc_ip_addr__: { get_param: sdc_ip_addr }
739 __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
740 __vid_ip_addr__: { get_param: vid_ip_addr }
741 __external_dns__: { get_param: external_dns }
745 # Create configuration files
747 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
748 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
749 echo "__nexus_username__" > /opt/config/nexus_username.txt
750 echo "__nexus_password__" > /opt/config/nexus_password.txt
751 echo "__network_name__" > /opt/config/network.txt
752 echo "__openstack_username__" > /opt/config/openstack_username.txt
753 echo "__openstack_api_key__" > /opt/config/openstack_password.txt
754 echo "__openstack_region__" > /opt/config/region.txt
755 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
756 echo "__docker_version__" > /opt/config/docker_version.txt
757 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
758 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
759 echo "__keystone_url__" > /opt/config/keystone.txt
760 echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
761 echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
762 echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
763 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
764 echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt
765 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
766 echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
767 echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
768 echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
769 echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
770 echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
771 echo "__cloud_env__" > /opt/config/cloud_env.txt
772 echo "__external_dns__" > /opt/config/external_dns.txt
774 # Download and run install script
775 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
777 chmod +x robot_install.sh
783 type: OS::Neutron::Port
785 network: { get_resource: oam_ecomp }
786 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: vid_ip_addr }}]
789 type: OS::Neutron::FloatingIP
791 floating_network_id: { get_param: public_net_id }
792 port_id: { get_resource: vid_private_port }
795 type: OS::Nova::Server
797 image: { get_param: ubuntu_1404_image }
798 flavor: { get_param: flavor_medium }
803 base: { get_param: vm_base_name }
804 key_name: { get_resource: vm_key }
806 - port: { get_resource: vid_private_port }
807 user_data_format: RAW
811 __nexus_repo__: { get_param: nexus_repo }
812 __nexus_docker_repo__: { get_param: nexus_docker_repo }
813 __nexus_username__: { get_param: nexus_username }
814 __nexus_password__: { get_param: nexus_password }
815 __artifacts_version__: { get_param: artifacts_version }
816 __dns_ip_addr__: { get_param: dns_ip_addr }
817 __docker_version__: { get_param: docker_version }
818 __gerrit_branch__: { get_param: gerrit_branch }
819 __cloud_env__: { get_param: cloud_env }
820 __external_dns__: { get_param: external_dns }
824 # Create configuration files
826 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
827 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
828 echo "__nexus_username__" > /opt/config/nexus_username.txt
829 echo "__nexus_password__" > /opt/config/nexus_password.txt
830 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
831 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
832 echo "__docker_version__" > /opt/config/docker_version.txt
833 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
834 echo "__cloud_env__" > /opt/config/cloud_env.txt
835 echo "__external_dns__" > /opt/config/external_dns.txt
837 # Download and run install script
838 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
840 chmod +x vid_install.sh
844 # SDN-C instantiation
846 type: OS::Neutron::Port
848 network: { get_resource: oam_ecomp }
849 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
852 type: OS::Neutron::FloatingIP
854 floating_network_id: { get_param: public_net_id }
855 port_id: { get_resource: sdnc_private_port }
858 type: OS::Nova::Server
860 image: { get_param: ubuntu_1404_image }
861 flavor: { get_param: flavor_large }
866 base: { get_param: vm_base_name }
867 key_name: { get_resource: vm_key }
869 - port: { get_resource: sdnc_private_port }
870 user_data_format: RAW
874 __nexus_repo__: { get_param: nexus_repo }
875 __nexus_docker_repo__: { get_param: nexus_docker_repo }
876 __nexus_username__: { get_param: nexus_username }
877 __nexus_password__: { get_param: nexus_password }
878 __artifacts_version__: { get_param: artifacts_version }
879 __dns_ip_addr__: { get_param: dns_ip_addr }
880 __docker_version__: { get_param: docker_version }
881 __gerrit_branch__: { get_param: gerrit_branch }
882 __cloud_env__: { get_param: cloud_env }
883 __external_dns__: { get_param: external_dns }
887 # Create configuration files
889 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
890 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
891 echo "__nexus_username__" > /opt/config/nexus_username.txt
892 echo "__nexus_password__" > /opt/config/nexus_password.txt
893 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
894 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
895 echo "__docker_version__" > /opt/config/docker_version.txt
896 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
897 echo "__cloud_env__" > /opt/config/cloud_env.txt
898 echo "__external_dns__" > /opt/config/external_dns.txt
900 # Download and run install script
901 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
903 chmod +x sdnc_install.sh
909 type: OS::Neutron::Port
911 network: { get_resource: oam_ecomp }
912 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
915 type: OS::Neutron::FloatingIP
917 floating_network_id: { get_param: public_net_id }
918 port_id: { get_resource: sdc_private_port }
921 type: OS::Cinder::Volume
927 type: OS::Nova::Server
929 image: { get_param: ubuntu_1604_image }
930 flavor: { get_param: flavor_xlarge }
935 base: { get_param: vm_base_name }
936 key_name: { get_resource: vm_key }
938 - port: { get_resource: sdc_private_port }
939 block_device_mapping:
940 - device_name: /dev/vdb
941 volume_id: {get_resource: sdc_volume_data}
942 user_data_format: RAW
946 __nexus_repo__: { get_param: nexus_repo }
947 __nexus_docker_repo__: { get_param: nexus_docker_repo }
948 __nexus_username__: { get_param: nexus_username }
949 __nexus_password__: { get_param: nexus_password }
950 __env_name__: { get_param: dmaap_topic }
951 __artifacts_version__: { get_param: artifacts_version }
952 __dns_ip_addr__: { get_param: dns_ip_addr }
953 __mr_ip_addr__: { get_param: mr_ip_addr }
954 __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] }
955 __docker_version__: { get_param: docker_version }
956 __gerrit_branch__: { get_param: gerrit_branch }
957 __cloud_env__: { get_param: cloud_env }
958 __external_dns__: { get_param: external_dns }
962 # Create configuration files
964 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
965 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
966 echo "__nexus_username__" > /opt/config/nexus_username.txt
967 echo "__nexus_password__" > /opt/config/nexus_password.txt
968 echo "__env_name__" > /opt/config/env_name.txt
969 echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
970 echo "__public_ip__" > /opt/config/public_ip.txt
971 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
972 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
973 echo "__docker_version__" > /opt/config/docker_version.txt
974 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
975 echo "__cloud_env__" > /opt/config/cloud_env.txt
976 echo "__external_dns__" > /opt/config/external_dns.txt
978 # Download and run install script
979 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh
981 chmod +x asdc_install.sh
985 # PORTAL instantiation
987 type: OS::Neutron::Port
989 network: { get_resource: oam_ecomp }
990 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
993 type: OS::Neutron::FloatingIP
995 floating_network_id: { get_param: public_net_id }
996 port_id: { get_resource: portal_private_port }
999 type: OS::Nova::Server
1001 image: { get_param: ubuntu_1404_image }
1002 flavor: { get_param: flavor_large }
1005 template: base-portal
1007 base: { get_param: vm_base_name }
1008 key_name: { get_resource: vm_key }
1010 - port: { get_resource: portal_private_port }
1011 user_data_format: RAW
1015 __nexus_repo__: { get_param: nexus_repo }
1016 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1017 __nexus_username__: { get_param: nexus_username }
1018 __nexus_password__: { get_param: nexus_password }
1019 __artifacts_version__: { get_param: artifacts_version }
1020 __dns_ip_addr__: { get_param: dns_ip_addr }
1021 __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] }
1022 __docker_version__: { get_param: docker_version }
1023 __gerrit_branch__: { get_param: gerrit_branch }
1024 __cloud_env__: { get_param: cloud_env }
1025 __external_dns__: { get_param: external_dns }
1029 # Create configuration files
1030 mkdir -p /opt/config
1031 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1032 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1033 echo "__nexus_username__" > /opt/config/nexus_username.txt
1034 echo "__nexus_password__" > /opt/config/nexus_password.txt
1035 echo "__public_ip__" > /opt/config/public_ip.txt
1036 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1037 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1038 echo "__docker_version__" > /opt/config/docker_version.txt
1039 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1040 echo "__cloud_env__" > /opt/config/cloud_env.txt
1041 echo "__external_dns__" > /opt/config/external_dns.txt
1043 # Download and run install script
1044 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
1046 chmod +x portal_install.sh
1050 # DCAE Controller instantiation
1051 dcae_c_private_port:
1052 type: OS::Neutron::Port
1054 network: { get_resource: oam_ecomp }
1055 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
1058 type: OS::Neutron::FloatingIP
1060 floating_network_id: { get_param: public_net_id }
1061 port_id: { get_resource: dcae_c_private_port }
1064 type: OS::Nova::Server
1066 image: { get_param: ubuntu_1404_image }
1067 flavor: { get_param: flavor_medium }
1070 template: base-dcae-controller
1072 base: { get_param: vm_base_name }
1073 key_name: { get_resource: vm_key }
1075 - port: { get_resource: dcae_c_private_port }
1076 user_data_format: RAW
1080 __nexus_repo__: { get_param: nexus_repo }
1081 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1082 __nexus_username__: { get_param: nexus_username }
1083 __nexus_password__: { get_param: nexus_password }
1084 __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
1085 __gitlab_branch__: { get_param: gitlab_branch }
1086 __dns_ip_addr__: { get_param: dns_ip_addr }
1087 __dcae_zone__: { get_param: dcae_zone }
1088 __dcae_state__: { get_param: dcae_state }
1089 __artifacts_version__: { get_param: artifacts_version }
1090 __tenant_id__: { get_param: openstack_tenant_id }
1091 __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
1092 __openstack_user__: { get_param: openstack_username }
1093 __openstack_password__: { get_param: openstack_api_key }
1094 __openstack_auth_method__: { get_param: openstack_auth_method }
1095 __key_name__: { get_param: key_name }
1096 __rand_str__: { get_resource: random-str }
1097 __pub_key__: { get_param: pub_key }
1098 __nexus_repo_root__: { get_param: nexus_repo_root }
1099 __openstack_region__: { get_param: openstack_region }
1100 __horizon_url__: { get_param: horizon_url }
1101 __keystone_url__: { get_param: keystone_url }
1102 __docker_version__: { get_param: docker_version }
1103 __gerrit_branch__: { get_param: gerrit_branch }
1104 __dcae_code_version__: { get_param: dcae_code_version }
1105 __cloud_env__: { get_param: cloud_env }
1106 __public_net_id__: { get_param: public_net_id }
1107 __dcae_base_environment__: { get_param: dcae_base_environment }
1108 __dcae_ip_addr__: { get_param: dcae_ip_addr }
1109 __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr }
1110 __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr }
1111 __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr }
1112 __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr }
1113 __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr }
1114 __external_dns__: { get_param: external_dns }
1115 __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
1116 __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
1117 __flavor_small__: { get_param: flavor_small }
1118 __flavor_medium__: { get_param: flavor_medium }
1119 __flavor_large__: { get_param: flavor_large }
1120 __flavor_xlarge__: { get_param: flavor_xlarge }
1124 # Create configuration files
1125 mkdir -p /opt/config
1126 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1127 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1128 echo "__nexus_username__" > /opt/config/nexus_username.txt
1129 echo "__nexus_password__" > /opt/config/nexus_password.txt
1130 echo "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt
1131 echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1132 echo "__docker_version__" > /opt/config/docker_version.txt
1133 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1134 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1135 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1136 echo "__dcae_zone__" > /opt/config/dcae_zone.txt
1137 echo "__dcae_state__" > /opt/config/dcae_state.txt
1138 echo "__tenant_id__" > /opt/config/tenant_id.txt
1139 echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
1140 echo "__openstack_user__" > /opt/config/openstack_user.txt
1141 echo "__openstack_password__" > /opt/config/openstack_password.txt
1142 echo "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt
1143 echo "__key_name__" > /opt/config/key_name.txt
1144 echo "__rand_str__" > /opt/config/rand_str.txt
1145 echo "__pub_key__" > /opt/config/pub_key.txt
1146 echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt
1147 echo "__openstack_region__" > /opt/config/openstack_region.txt
1148 echo "__horizon_url__" > /opt/config/horizon_url.txt
1149 echo "__keystone_url__" > /opt/config/keystone_url.txt
1150 echo "__cloud_env__" > /opt/config/cloud_env.txt
1151 echo "__public_net_id__" > /opt/config/public_net_id.txt
1152 echo "__dcae_base_environment__" > /opt/config/dcae_base_environment.txt
1153 echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt
1154 echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
1155 echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt
1156 echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt
1157 echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt
1158 echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt
1159 echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt
1160 echo "__external_dns__" > /opt/config/external_dns.txt
1161 echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
1162 echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
1163 echo "__flavor_small__" > /opt/config/flavor_small.txt
1164 echo "__flavor_medium__" > /opt/config/flavor_medium.txt
1165 echo "__flavor_large__" > /opt/config/flavor_large.txt
1166 echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
1168 # Download and run install script
1169 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
1171 chmod +x dcae_install.sh
1175 # Policy Engine instantiation
1176 policy_private_port:
1177 type: OS::Neutron::Port
1179 network: { get_resource: oam_ecomp }
1180 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
1183 type: OS::Neutron::FloatingIP
1185 floating_network_id: { get_param: public_net_id }
1186 port_id: { get_resource: policy_private_port }
1189 type: OS::Nova::Server
1191 image: { get_param: ubuntu_1404_image }
1192 flavor: { get_param: flavor_xlarge }
1195 template: base-policy
1197 base: { get_param: vm_base_name }
1198 key_name: { get_resource: vm_key }
1200 - port: { get_resource: policy_private_port }
1201 user_data_format: RAW
1205 __nexus_repo__: { get_param: nexus_repo }
1206 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1207 __nexus_username__: { get_param: nexus_username }
1208 __nexus_password__: { get_param: nexus_password }
1209 __artifacts_version__: { get_param: artifacts_version }
1210 __dns_ip_addr__: { get_param: dns_ip_addr }
1211 __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] }
1212 __docker_version__: { get_param: docker_version }
1213 __gerrit_branch__: { get_param: gerrit_branch }
1214 __cloud_env__: { get_param: cloud_env }
1215 __external_dns__: { get_param: external_dns }
1219 # Create configuration files
1220 mkdir -p /opt/config
1221 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1222 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1223 echo "__nexus_username__" > /opt/config/nexus_username.txt
1224 echo "__nexus_password__" > /opt/config/nexus_password.txt
1225 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1226 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1227 echo "__public_ip__" > /opt/config/public_ip.txt
1228 echo "__docker_version__" > /opt/config/docker_version.txt
1229 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1230 echo "__cloud_env__" > /opt/config/cloud_env.txt
1231 echo "__external_dns__" > /opt/config/external_dns.txt
1233 # Download and run install script
1234 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
1236 chmod +x policy_install.sh
1240 # APP-C instantiation
1242 type: OS::Neutron::Port
1244 network: { get_resource: oam_ecomp }
1245 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
1248 type: OS::Neutron::FloatingIP
1250 floating_network_id: { get_param: public_net_id }
1251 port_id: { get_resource: appc_private_port }
1254 type: OS::Nova::Server
1256 image: { get_param: ubuntu_1404_image }
1257 flavor: { get_param: flavor_large }
1262 base: { get_param: vm_base_name }
1263 key_name: { get_resource: vm_key }
1265 - port: { get_resource: appc_private_port }
1266 user_data_format: RAW
1270 __nexus_repo__: { get_param: nexus_repo }
1271 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1272 __nexus_username__: { get_param: nexus_username }
1273 __nexus_password__: { get_param: nexus_password }
1274 __dmaap_topic__: { get_param: dmaap_topic }
1275 __artifacts_version__: { get_param: artifacts_version }
1276 __dns_ip_addr__: { get_param: dns_ip_addr }
1277 __docker_version__: { get_param: docker_version }
1278 __gerrit_branch__: { get_param: gerrit_branch }
1279 __cloud_env__: { get_param: cloud_env }
1280 __external_dns__: { get_param: external_dns }
1284 # Create configuration files
1285 mkdir -p /opt/config
1286 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
1287 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1288 echo "__nexus_username__" > /opt/config/nexus_username.txt
1289 echo "__nexus_password__" > /opt/config/nexus_password.txt
1290 echo "__artifacts_version__" > /opt/config/artifacts_version.txt
1291 echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
1292 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1293 echo "__docker_version__" > /opt/config/docker_version.txt
1294 echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
1295 echo "__cloud_env__" > /opt/config/cloud_env.txt
1296 echo "__external_dns__" > /opt/config/external_dns.txt
1298 # Download and run install script
1299 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
1301 chmod +x appc_install.sh