+ - port: { get_resource: dcae_private_port }
+ user_data_format: SOFTWARE_CONFIG
+ user_data: { get_resource: dcae_vm_config }
+
+ dcae_vm_scripts:
+ type: OS::Heat::CloudConfig
+ properties:
+ cloud_config:
+ write_files:
+ - path: /opt/dcae2_install.sh
+ permissions: '0755'
+ content: { get_file: cloud-config/dcae2_install.sh }
+ - path: /etc/init.d/serv.sh
+ permissions: '0755'
+ content:
+ str_replace:
+ params:
+ __vm_init_script__: dcae2_vm_init.sh
+ template:
+ get_file: cloud-config/serv.sh
+
+ dcae_vm_config:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: { get_resource: common_config_script }
+ - config: { get_resource: dcae_vm_scripts }
+ - config:
+ str_replace:
+ params:
+ __rand_str__: { get_resource: random-str }
+ # repo related
+ __docker_version__: { get_param: dcae_docker }
+ # conf for the ONAP environment where the DCAE bootstrap vm/conatiner runs
+ __dcae_deployment_profile__: { get_param: dcae_deployment_profile }
+ __mac_addr__: { get_attr: [dcae_private_port, mac_address] }
+ __dcae_ip_addr__: { get_param: dcae_ip_addr }
+ __dcae_float_ip__: { get_attr: [dcae_floating_ip, floating_ip_address] }
+ __dns_forwarder__: { get_param: dns_forwarder }
+ __dcae_domain__: { get_param: dcae_domain }
+ # conf for VMs DCAE is to bringup
+ __openstack_keystone_url__: { get_param: keystone_url }
+ __dcae_keystone_url__: { get_param: dcae_keystone_url }
+ __dcaeos_cloud_env__: { get_param: cloud_env }
+ __dcaeos_keystone_url__: { get_param: dcae_keystone_url }
+ __dcaeos_region__: { get_param: openstack_region }
+ __dcaeos_tenant_id__: { get_param: openstack_tenant_id }
+ __dcaeos_tenant_name__: { get_param: openstack_tenant_name }
+ __dcaeos_security_group__:
+ str_replace:
+ template: 'onap_sg_rand'
+ params:
+ rand: { get_resource: random-str }
+ __dcaeos_username__: { get_param: openstack_username }
+ __dcaeos_password__: { get_param: openstack_api_key }
+ __dcaeos_key_name__: { get_resource: vm_key }
+ __dcaeos_public_key__: { get_param: dcae_public_key }
+ __dcaeos_private_key__: { get_param: dcae_private_key }
+ __dcaeos_private_network_name__: { get_attr: [oam_onap, name] }
+ __dcaeos_public_network_name__: { get_param: public_net_name }
+ __dcaeos_ubuntu_1604_image__: { get_param: ubuntu_1604_image }
+ __dcaeos_centos_7_image__: { get_param: dcae_centos_7_image }
+ __dcaeos_flavor_id__: { get_param: flavor_medium }
+ __dcaeos_flavor_id_cdap__: { get_param: flavor_large }
+ __dcaeos_dnsaas_config_enabled__: { get_param: dnsaas_config_enabled }
+ __dcaeos_dnsaas_region__: { get_param: dnsaas_region }
+ __dcaeos_dnsaas_keystone_url__: { get_param: dnsaas_keystone_url }
+ __dnsaas_tenant_name__: { get_param: dnsaas_tenant_name }
+ __dcaeos_dnsaas_username__: { get_param: dnsaas_username }
+ __dcaeos_dnsaas_password__: { get_param: dnsaas_password }
+ # fixed private IPs
+ __mr_ip_addr__: { get_param: mr_ip_addr }
+ __policy_ip_addr__: { get_param: policy_ip_addr }
+ __sdc_ip_addr__: { get_param: sdc_ip_addr }
+ __multiserv_ip_addr__: { get_param: multiserv_ip_addr }
+ __aai1_ip_addr__: { get_param: aai1_ip_addr }
+ __aai2_ip_addr__: { get_param: aai2_ip_addr }
+ # floating IPs
+ __dns_floating_ip_addr__: { get_attr: [dns_floating_ip, floating_ip_address] }
+ __aai1_floating_ip_addr__: { get_attr: [aai1_floating_ip, floating_ip_address] }
+ __aai2_floating_ip_addr__: { get_attr: [aai2_floating_ip, floating_ip_address] }
+ __mrouter_floating_ip_addr__: { get_attr: [mrouter_floating_ip, floating_ip_address] }
+ __sdc_floating_ip_addr__: { get_attr: [sdc_floating_ip, floating_ip_address] }
+ __policy_floating_ip_addr__: { get_attr: [policy_floating_ip, floating_ip_address] }
+ __multiserv_floating_ip_addr__: { get_attr: [multiserv_floating_ip, floating_ip_address] }
+ __dcae_floating_ip_addr__: { get_attr: [dcae_floating_ip, floating_ip_address] }
+ # container versions
+ __dcae_docker__: { get_param: dcae_docker }
+ __dcae_snmptrap_docker__: { get_param: dcae_snmptrap_docker }
+ __dcae_ves_docker__: { get_param: dcae_ves_docker }
+ __dcae_bootstrap_docker__: { get_param: dcae_bootstrap_docker }
+ __dcae_cm_docker__: { get_param: dcae_cm_docker }
+ __dcae_k8sbootstrap_docker__: { get_param: dcae_k8sbootstrap_docker }
+ __dcae_redisc_docker__: { get_param: dcae_redisc_docker }
+ __dcae_tca_docker__: { get_param: dcae_tca_docker }
+ __dcae_cb_docker__: { get_param: dcae_cb_docker }
+ __dcae_cbs_docker__: { get_param: dcae_cbs_docker }
+ __dcae_dh_docker__: { get_param: dcae_dh_docker }
+ __dcae_inv_docker__: { get_param: dcae_inv_docker }
+ __dcae_ph_docker__: { get_param: dcae_ph_docker }
+ __dcae_sch_docker__: { get_param: dcae_sch_docker }
+ __dcae_heartbeat_docker__: { get_param: dcae_heartbeat_docker }
+ __dcae_prh_docker__: { get_param: dcae_prh_docker }
+ __holmes_em_docker__: { get_param: holmes_em_docker }
+ __holmes_rm_docker__: { get_param: holmes_rm_docker }
+
+ template: |
+ #!/bin/bash
+
+ # Create configuration files
+ echo "__rand_str__" > /opt/config/dcae_zone.txt
+ echo "__rand_str__" > /opt/config/rand_str.txt
+ # repo related
+ echo "__docker_version__" > /opt/config/docker_version.txt
+ echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
+ # conf for the ONAP environment where the DCAE bootstrap vm/conatiner runs
+ echo "__dcae_deployment_profile__" > /opt/config/dcae_deployment_profile.txt
+ echo "__mac_addr__" > /opt/config/mac_addr.txt
+ echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
+ echo "__dns_forwarder__" > /opt/config/dns_forwarder.txt
+ echo "__dcae_domain__" > /opt/config/dcae_domain.txt
+ # conf for the OpenStack env where DCAE is deployed
+ echo "__openstack_keystone_url__" > /opt/config/openstack_keystone_url.txt
+ echo "__dcaeos_cloud_env__" > /opt/config/cloud_env.txt
+ echo "__dcaeos_keystone_url__" > /opt/config/keystone_url.txt
+ echo "__dcaeos_region__" > /opt/config/openstack_region.txt
+ echo "__dcaeos_tenant_id__" > /opt/config/tenant_id.txt
+ echo "__dcaeos_tenant_name__" > /opt/config/tenant_name.txt
+ echo "__dcaeos_username__" > /opt/config/openstack_user.txt
+ echo "__dcaeos_password__" > /opt/config/openstack_password.txt
+ echo "__dcaeos_key_name__" > /opt/config/key_name.txt
+ echo "__dcaeos_public_key__" > /opt/config/pub_key.txt
+ echo "__dcaeos_private_key__" > /opt/config/priv_key
+ echo "__dcaeos_private_network_name__" > /opt/config/openstack_private_network_name.txt
+ echo "__dcaeos_public_network_name__" > /opt/config/public_net_name.txt
+ echo "__dcaeos_public_network_name__" > /opt/config/public_net_id.txt
+ echo "__dcaeos_ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
+ echo "__dcaeos_centos_7_image__" > /opt/config/centos_7_image.txt
+ echo "__dcaeos_security_group__" > /opt/config/security_group.txt
+ echo "__dcaeos_flavor_id__" > /opt/config/flavor_id.txt
+ echo "__dcaeos_flavor_id_cdap__" > /opt/config/flavor_id_cdap.txt
+ echo "__dcaeos_dnsaas_config_enabled__" > /opt/config/dnsaas_config_enabled.txt
+ echo "__dcaeos_dnsaas_region__" > /opt/config/dnsaas_region.txt
+ echo "__dcaeos_dnsaas_keystone_url__" > /opt/config/dnsaas_keystone_url.txt
+ echo "__dnsaas_tenant_name__" > /opt/config/dnsaas_tenant_name.txt
+ echo "__dcaeos_dnsaas_username__" > /opt/config/dnsaas_username.txt
+ echo "__dcaeos_dnsaas_password__" > /opt/config/dnsaas_password.txt
+ # fixed private IP addresses of other ONAP components
+ echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
+ echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
+ echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
+ echo "__multiserv_ip_addr__" > /opt/config/multiserv_ip_addr.txt
+ echo "__multiserv_ip_addr__" > /opt/config/msb_ip_addr.txt
+ echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
+ echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
+ # floating IPs
+ echo "__dns_floating_ip_addr__" > /opt/config/dns_floating_ip_addr.txt
+ echo "__aai1_floating_ip_addr__" > /opt/config/aai1_floating_ip_addr.txt
+ echo "__aai2_floating_ip_addr__" > /opt/config/aai2_floating_ip_addr.txt
+ echo "__mrouter_floating_ip_addr__" > /opt/config/mrouter_floating_ip_addr.txt
+ echo "__sdc_floating_ip_addr__" > /opt/config/sdc_floating_ip_addr.txt
+ echo "__policy_floating_ip_addr__" > /opt/config/policy_floating_ip_addr.txt
+ echo "__multiserv_floating_ip_addr__" > /opt/config/multiserv_floating_ip_addr.txt
+ echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
+ # container versions
+ echo "__dcae_docker__" > /opt/config/dcae_docker.txt
+ echo "__dcae_snmptrap_docker__" > /opt/config/dcae_docker_snmptrap.txt
+ echo "__dcae_ves_docker__" > /opt/config/dcae_docker_ves.txt
+ echo "__dcae_bootstrap_docker__" > /opt/config/dcae_docker_bootstrap.txt
+ echo "__dcae_cm_docker__" > /opt/config/dcae_docker_cm.txt
+ echo "__dcae_k8sbootstrap_docker__" > /opt/config/dcae_docker_k8sbootstrap.txt
+ echo "__dcae_redisc_docker__" > /opt/config/dcae_docker_redisc.txt
+ echo "__dcae_tca_docker__" > /opt/config/dcae_docker_tca.txt
+ echo "__dcae_cb_docker__" > /opt/config/dcae_docker_cb.txt
+ echo "__dcae_cbs_docker__" > /opt/config/dcae_docker_cbs.txt
+ echo "__dcae_dh_docker__" > /opt/config/dcae_docker_dh.txt
+ echo "__dcae_inv_docker__" > /opt/config/dcae_docker_inv.txt
+ echo "__dcae_ph_docker__" > /opt/config/dcae_docker_ph.txt
+ echo "__dcae_sch_docker__" > /opt/config/dcae_docker_sch.txt
+ echo "__dcae_heartbeat_docker__" > /opt/config/dcae_docker_heartbeat.txt
+ echo "__dcae_prh_docker__" > /opt/config/dcae_docker_prh.txt
+ echo "__holmes_em_docker__" > /opt/config/holmes_docker_em.txt
+ echo "__holmes_rm_docker__" > /opt/config/holmes_docker_rm.txt
+
+ cd /opt
+ ./dcae2_install.sh 2>&1 | tee -a /tmp/dcae2_install.log
+
+
+ # MUSIC instantiation
+ music_private_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: oam_onap }
+ fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: music_ip_addr }}]
+ security_groups:
+ - { get_resource: onap_sg }
+
+ music_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network_id: { get_param: public_net_id }
+ port_id: { get_resource: music_private_port }
+
+ music_vm:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: ubuntu_1604_image }
+ flavor: { get_param: flavor_large }
+ name: