<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div>Hi Denis,</div>
<div><br>
</div>
<div>It seems like the issue you're trying to solve is that these 'prepare' messages can't be consumed by the guest. </div>
<div>So, i<span style="font-size: 10pt;">f the guest never actually comes online and therefore can't consume the prepare call, then you'll be left with the message in the queue forever. </span></div>
<div><span style="font-size: 10pt;"><br>
</span></div>
<div>If you use a ping-pong message, you'll still be left with a stray message in the queue if it fails. </div>
<div><span style="font-size: 10pt;"><br>
</span></div>
<div><span style="font-size: 10pt;">I think the best fix is if we delete the queue when deleting an instance. This way you'll never have more queues in rabbit than are needed.</span></div>
<div><span style="font-size: 10pt;"><br>
</span></div>
<div><span style="font-size: 10pt;">Thanks,</span></div>
<div><span style="font-size: 10pt;"><br>
</span></div>
<div><span style="font-size: 10pt;">Tim</span></div>
<div>
<div><br>
</div>
<div><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF952801" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Denis Makogon [dmakogon@mirantis.com]<br>
<b>Sent:</b> Friday, October 31, 2014 4:32 AM<br>
<b>To:</b> OpenStack Development Mailing List<br>
<b>Subject:</b> [openstack-dev] [Trove] Guest RPC API improvements. Messages, topics, queues, consumption.<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr"><span id="docs-internal-guid-ea1d330d-6589-d16f-522d-761694ef3fcf">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Hello, Stackers/Trovers.</span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<b id="docs-internal-guid-ea1d330d-658b-3211-40cc-1ca0014ab162" style="font-weight:normal"><br>
<br>
</b></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-indent:36pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">I’d like to start discussion
 about how do we use guestagent API that will eventually be evaluated as a spec. For most of you who well-known with Trove’s codebase knows how do Trove acts when provisioning new instance.</span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; margin-left:36pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">I’d like to point out
 next moments:</span></p>
<ol style="margin-top:0pt; margin-bottom:0pt">
<li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">When we provision new
 instance we expect that guest will create its topic/queue for RPC messaging needs.</span></p>
</li><li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Taskmanager doesn’t
 validate that guest is really up before sending ‘prepare’ call.</span></p>
</li></ol>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent"><span class="" style="white-space:pre"></span></span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-indent:36pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">And here comes the problem,
 what if guest wasn’t able to start properly and consume ‘prepare’ message due to certain circumstances? In this case ‘prepare’ message would never be consumed.</span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<b style="font-weight:normal"><br>
</b></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent"><span class="" style="white-space:pre"></span></span><span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Me
 and Sergey Gotliv were looking for proper solution for this case. And we end up with next requirements for provisioning workflow:</span></p>
<ol style="margin-top:0pt; margin-bottom:0pt">
<li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">We must be sure that
 ‘prepare’ message will be consumed by guest.</span></p>
</li><li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Taskmanager should handle
 topic/queue management for guest.</span></p>
</li><li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Guest just need to consume
 income messages for already existing topic/queue.</span></p>
</li></ol>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent"><span class="" style="white-space:pre"></span></span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent"><span class="" style="white-space:pre"></span></span><span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">As
 concrete proposal (or at least topic for discussions) i’d like to discuss next improvements:</span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; margin-left:36pt; text-indent:36pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">We need to add new guest
 RPC API that will represent “ping-pong” action. So before sending any cast- or call-type messages we need to make sure that guest is really running.</span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<b style="font-weight:normal"><br>
</b></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Pros/Cons for such solution:</span></p>
<ol style="margin-top:0pt; margin-bottom:0pt">
<li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Guest will do only consuming.</span></p>
</li><li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Guest would not manage
 its topics/queues.</span></p>
</li><li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">We’ll be 100% sure that
 no messages would be lost.</span></p>
</li><li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Fast-fail during provisioning.</span></p>
</li><li dir="ltr" style="list-style-type:decimal; font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; background-color:transparent">
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Other minor/major improvements.</span></p>
</li></ol>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<b style="font-weight:normal"><br>
<br>
</b></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-indent:36pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Thoughts?
</span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<b style="font-weight:normal"><br>
</b></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-indent:36pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">P.S.: I’d like to discuss
 this topic during upcoming Paris summit (during contribution meetup at Friday).</span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<b style="font-weight:normal"><br>
<br>
</b></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Best regards,</span></p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
</p>
<p dir="ltr" style="line-height:1.15; margin-top:0pt; margin-bottom:0pt; text-align:justify">
<span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent">Denis Makogon</span></p>
<div><span style="font-size:16px; font-family:'Times New Roman'; color:rgb(0,0,0); font-weight:normal; font-style:normal; font-variant:normal; text-decoration:none; vertical-align:baseline; white-space:pre-wrap; background-color:transparent"><br>
</span></div>
</span></div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>