<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 10, 2015 at 8:53 AM, Adrian Otto <span dir="ltr"><<a href="mailto:adrian.otto@rackspace.com" target="_blank">adrian.otto@rackspace.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Magnum Team,<br>
<br>
In the following review, we have the start of a discussion about how to tackle bay status:<br>
<br>
<a href="https://review.openstack.org/159546" target="_blank">https://review.openstack.org/159546</a><br>
<br>
I think a key issue here is that we are not subscribing to an event feed from Heat to tell us about each state transition, so we have a low degree of confidence that our state will match the actual state of the stack in real-time. At best, we have an eventually consistent state for Bay following a bay creation.<br>
<br></blockquote><div><br></div><div>Hi Adrian<br><br></div><div>Currently Heat does not an "event stream", but instead an event table and REST resource. This sucks as you have to poll it.<br></div><div>We have been long wanting some integration with Zaqar - we are all convinced, just needs someone to do the work.<br></div><div>So the idea here is we send user related events via a Zaqar queue and the user (Magnum) subscribes and get events.<br></div><div>From last summit <a href="https://etherpad.openstack.org/p/kilo-heat-summit-topics">https://etherpad.openstack.org/p/kilo-heat-summit-topics</a> (see line 73).<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Here are some options for us to consider to solve this:<br>
<br>
1) Propose enhancements to Heat (or learn about existing features) to emit a set of notifications upon state changes to stack resources so the state can be mirrored in the Bay resource.<br></blockquote><div><br></div><div>See above, you have anyone to drive this?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
2) Spawn a task to poll the Heat stack resource for state changes, and express them in the Bay status, and allow that task to exit once the stack reaches its terminal (completed) state.<br>
<br>
3) Don’t store any state in the Bay object, and simply query the heat stack for status as needed.<br></blockquote><div><br></div><div>If it's not too frequent then this might be your best bet until we get "1)".<br><br></div><div>Hope this helps<br></div><div>-Angus<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Are each of these options viable? Are there other options to consider? What are the pro/con arguments for each?<br>
<br>
Thanks,<br>
<br>
Adrian<br>
<br>
<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br></div></div>