+ #security_groups:
+ # - { get_resource: onap_sg }
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __rand_str__: { get_resource: random-str }
+ # repo related
+ __artifacts_version__: { get_param: artifacts_version }
+ __docker_version__: { get_param: dcae_docker }
+ __nexus_artifact_repo__: { get_param: nexus_artifact_repo }
+ __nexus_docker_repo__: { get_param: nexus_docker_repo }
+ __nexus_username__: { get_param: nexus_username }
+ __nexus_password__: { get_param: nexus_password }
+ # 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_c_private_port, mac_address] }
+ __dcae_ip_addr__: { get_param: dcae_ip_addr }
+ __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
+ __dns_ip_addr__: { get_param: dns_ip_addr }
+ __external_dns__: { get_param: external_dns }
+ __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_security_group__: { get_attr: [onap_sg, name] }
+ __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 }
+ __openo_ip_addr__: { get_param: openo_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] }
+ __openo_floating_ip_addr__: { get_attr: [openo_floating_ip, floating_ip_address] }
+ __dcae_c_floating_ip_addr__: { get_attr: [dcae_c_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
+ mkdir -p /opt/config
+ 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 "__artifacts_version__" > /opt/config/artifacts_version.txt
+ echo "__nexus_artifact_repo__" > /opt/config/nexus_artifact_repo.txt
+ echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
+ echo "__nexus_username__" > /opt/config/nexus_username.txt
+ echo "__nexus_password__" > /opt/config/nexus_password.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 "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
+ echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
+ echo "__external_dns__" > /opt/config/external_dns.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 "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
+ echo "__openo_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 "__openo_floating_ip_addr__" > /opt/config/openo_floating_ip_addr.txt
+ echo "__dcae_c_floating_ip_addr__" > /opt/config/dcae_c_floating_ip_addr.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
+
+ # Download and run install script
+ apt-get -y install unzip
+ if [[ "__artifacts_version__" =~ "SNAPSHOT" ]]; then REPO=snapshots; else REPO=releases; fi
+ curl -k -L "__nexus_artifact_repo__/service/local/artifact/maven/redirect?r=${REPO}&g=org.onap.demo&a=boot&e=zip&v=__artifacts_version__" -o /opt/boot-__artifacts_version__.zip
+ unzip -j /opt/boot-__artifacts_version__.zip -d /opt dcae2_install.sh
+ cd /opt
+ chmod +x dcae2_install.sh
+ ./dcae2_install.sh > /tmp/dcae2_install.log 2>&1
+
+
+ # 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_1404_image }
+ flavor: { get_param: flavor_large }
+ name:
+ str_replace:
+ template: base-music
+ params:
+ base: { get_param: vm_base_name }
+ key_name: { get_resource: vm_key }
+ networks:
+ - port: { get_resource: music_private_port }