I had an interesting discussion with a colleague today, who happens to be our team’s OpenStack guru. We’re on a project together implementing CloudForms and OpenStack, and the question came up as to why don’t we (CloudForms) just use Heat templates to do all of our provisioning into OpenStack. His compelling argument was that a CloudForms service should purely create a Heat template, and pass the work to Heat to actually do the work. Performing actions on the resultant service should merely involve reconfiguring the Heat template and re-applying.
The argument was that in a cloud model our orchestration tool (CloudForms) should be ordering services, and we shouldn’t actually care about the underlying ‘things’ (such as VMs/instances/networks) that make up the service.
It would certainly make life easier in some respects, and we’d only have to talk to a Heat API, and not Nova/Neutron etc, so automation would be simpler. The CloudForms/ManageIQ UI might only see icons representing services (the Heat templates), rather than the instances making up the services but would this matter? Could we ascertain the ‘status’ of the service from Ceilometer?