Heat/Signaling-And-Coordination

Overview

Provide an API or signaling mechanism that will allow resources(instances) to share information between themselves (ex. usernames, passwords). The goal is to have a simple, declarative way of expressing dependencies in HOT templates (as opposed to having explicit WaitCondition/WaitHandle pairs as in current cfn templates) and have the Heat engine do respective orchestration at runtime. For example, by simply defining a depends_on relation in a HOT template, appropriate signaling should be performed at runtime so that a component A that depends on another component B is processed after component B has been configured.

What is missing/what are we trying to solve:

Currently in Heat there is a gap in configuring complex and larger software systems. For example sharing a username, password, or database dynamically at deploy time does not exist in Heat right now. It is possible to accomplish this with cfn signaling but it is messy and complex. We wish to simply this.

Discussion: https://wiki.openstack.org/wiki/Talk:Heat/Signaling-And-Coordination