[openstack-dev] [heat] Stack convergence first steps

Christopher Armstrong chris.armstrong at rackspace.com
Fri Dec 6 04:13:18 UTC 2013

On Thu, Dec 5, 2013 at 7:25 PM, Randall Burt <randall.burt at rackspace.com>wrote:

>  On Dec 5, 2013, at 6:25 PM, Christopher Armstrong <
> chris.armstrong at rackspace.com>
>  wrote:
>   On Thu, Dec 5, 2013 at 3:50 PM, Anderson Mesquita <
> andersonvom at thoughtworks.com> wrote:
>> Hey stackers,
>> We've been working towards making stack convergence (
>> https://blueprints.launchpad.net/heat/+spec/stack-convergence) one step
>> closer to being ready at a time.  After the first patch was submitted we
>> got positive feedback on it as well as some good suggestions as to how to
>> move it forward.
>> The first step (https://blueprints.launchpad.net/heat/+spec/stack-check)
>> is to get all the statuses back from the real world resources and update
>> our stacks accordingly so that we'll be able to move on to the next step:
>> converge it to the desired state, fixing any errors that may have happened.
>> We just submitted another WiP for review, and as we were doing it, a few
>> questions were raised and we'd like to get everybody's input on them. Our
>> main concern is around the use and purpose of the `status` of a
>> stack/resource.  `status` currently appears to represent the status of the
>> last action taken, and it seems that we may need to repurpose it or
>> possibly create something else to represent a stack's "health" (i.e.
>> everything is up and running as expected, something smells fishy, something
>> broke, stack's is doomed).  We described this thoroughly here:
>> https://etherpad.openstack.org/p/heat-convergence
>> Any thoughts?
>> Cheers,
>  I think a lot of OpenStack projects use "status" fields as "status of
> the most recent operation", and I think it's totally wrong. "status" should
> be a known state of the _object_, not an action, and if we need statuses
> for operations, then those operations should be addressable REST objects.
> Of course there are cases where object status should be updated to reflect
> an operating status if it's a completely exclusive operation (BUILDING and
> DELETING make sense, for example).
>  Actually, I think most projects are the opposite where "status" means
> "what's the state of the resource" (Nova, Trove, Cinder, etc), whereas Heat
> uses status as the state of the last operation. Probably wouldn't be too
> terrible to have a new "state" for stacks and their resources then perhaps
> deprecate and use "status" in the accepted way in the v2 API?

Well, my point is that it's done inconsistently. Yes, it's mostly used as
an object status, but nova for example uses it as an operation status for
things like resize.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131205/b20ea450/attachment.html>

More information about the OpenStack-dev mailing list