[openstack-dev] [Heat] HOT Software configuration proposal
Zane Bitter
zbitter at redhat.com
Wed Oct 16 12:25:38 UTC 2013
On 16/10/13 06:56, Mike Spreitzer wrote:
> What is the difference between what today's heat engine does and a
> workflow? I am interested to hear what you experts think, I hope it
> will be clarifying. I presume the answers will touch on things like
> error handling, state tracking, and updates.
(Disclaimer: I'm not an expert, I just work on this stuff ;)
First off, to be clear, it was my understanding from this thread that
the original proposal to add workflow syntax to HOT is effectively dead.
(If I'm mistaken, add a giant -1 from me.) Mirantis have since
announced, I assume not coincidentally, that they will start
implementing a workflow service (Mistral, based on the original
Convection proposal from Keith Bray at the Havana summit) for OpenStack,
backed by the taskflow library. So bringing workflows back in to this
discussion is confusing the issue.
(FWIW I think that having a workflow service will be a great thing for
other reasons, but I also hope that all of Stan's original example will
be possible in Heat *without* resorting to requiring users to define an
explicit workflow.)
It must be acknowledged that the Heat engine does run a workflow. The
workflow part can in principle, and probably should, be delegated to the
taskflow library, and I would be surprised if we did not eventually end
up doing this (though I'm not looking forward to actually implementing it).
To answer your question, the key thing that Heat does is take in two
declarative models and generate a workflow to transform one into the
other. (The general case of this is a stack update, where the two models
are defined in the previous and new templates. Stack create and delete
are special cases where one or the other of the models is empty.)
Workflows don't belong in HOT because they are a one-off thing. You need
a different one for every situation, and this is exactly why Heat exists
- to infer the correct workflow to reify a model in any given situation.
cheers,
Zane.
More information about the OpenStack-dev
mailing list