The OpenStack project does an insane amount of automated testing as part of the development cycle, but up until now there has been no corresponding testing that can be performed against running public clouds. While we want to do that, before we can test other people's clouds for compatibility, we need to be able to express what it is they need to be compatible with.
It turns out that OpenStack is rich enough now to express a reference implementation in terms of itself, using heat templates. Some people think that's a great end to itself - deploy your OpenStack using OpenStack - but others are not quite as sure about that yet, and have significant investment in things like chef, puppet, crowbar or cobbler. To meet the needs of expressing a useful set of testable information and not leave that specification as an academic exercise, or as the recipient of more tool wars - we've come up with a plan to have the heat templates describe the state, the "what" if you will, and to describe a clear boundary line across which metadata is passed to the tools on the individual nodes that will turn that metadata into configuration.
Over the course of the talk, we'll discuss: