heat_template_version: 2013-05-23 description: > A template to test host assignment for translated hot resources. It makes sure if a resource depends on multiple hosts only the one with the "HostedOn" relationship is picked as the host. In this template, the translated resource 'app_collectd_create_deploy' would depend on 'logstash_server' and 'app_server'. But it would have "HostedOn" relationship with 'app_server', and that server would be its host. parameters: {} resources: app_server: type: OS::Nova::Server properties: flavor: m1.medium image: ubuntu-software-config-os-init user_data_format: SOFTWARE_CONFIG software_config_transport: POLL_SERVER_HEAT logstash_server: type: OS::Nova::Server properties: flavor: m1.medium image: ubuntu-software-config-os-init user_data_format: SOFTWARE_CONFIG software_config_transport: POLL_SERVER_HEAT app_collectd_create_config: type: OS::Heat::SoftwareConfig properties: config: get_file: collectd/create.sh group: script app_collectd_create_deploy: type: OS::Heat::SoftwareDeployment properties: config: get_resource: app_collectd_create_config server: get_resource: app_server signal_transport: HEAT_SIGNAL depends_on: - logstash_start_deploy app_collectd_configure_config: type: OS::Heat::SoftwareConfig properties: config: get_file: collectd/config.py group: script app_collectd_configure_deploy: type: OS::Heat::SoftwareDeployment properties: config: get_resource: app_collectd_configure_config input_values: logstash_ip: get_attr: - logstash_server - first_address server: get_resource: app_server signal_transport: HEAT_SIGNAL depends_on: - app_collectd_create_deploy app_collectd_start_config: type: OS::Heat::SoftwareConfig properties: config: get_file: collectd/start.sh group: script app_collectd_start_deploy: type: OS::Heat::SoftwareDeployment properties: config: get_resource: app_collectd_start_config server: get_resource: app_server signal_transport: HEAT_SIGNAL depends_on: - app_collectd_configure_deploy logstash_create_config: type: OS::Heat::SoftwareConfig properties: config: get_file: logstash/create.sh group: script logstash_create_deploy: type: OS::Heat::SoftwareDeployment properties: config: get_resource: logstash_create_config server: get_resource: logstash_server signal_transport: HEAT_SIGNAL logstash_start_config: type: OS::Heat::SoftwareConfig properties: config: get_file: logstash/start.sh group: script logstash_start_deploy: type: OS::Heat::SoftwareDeployment properties: config: get_resource: logstash_start_config server: get_resource: logstash_server signal_transport: HEAT_SIGNAL depends_on: - logstash_create_deploy app_collectd_logstash_connect_config: type: OS::Heat::SoftwareConfig properties: config: get_file: logstash/configure_collectd.py group: script app_collectd_logstash_connect_deploy: type: OS::Heat::SoftwareDeployment properties: config: get_resource: app_collectd_logstash_connect_config server: get_resource: logstash_server signal_transport: HEAT_SIGNAL depends_on: - logstash_create_deploy outputs: {}