+ - 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] }
+ # 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_hvves_docker__: { get_param: dcae_hvves_docker }
+ __dcae_datafile_docker__: { get_param: dcae_datafile_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
+ # 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_hvves_docker__" > /opt/config/dcae_docker_hvves.txt
+ echo "__dcae_datafile_docker__" > /opt/config/dcae_docker_datafile.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: