<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Sep 8, 2014 at 11:22 PM, Tyagi, Ishant <span dir="ltr"><<a href="mailto:ishant.tyagi@hp.com" target="_blank">ishant.tyagi@hp.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="#0563C1" vlink="#954F72" lang="EN-US">
<div>
<p class="MsoNormal">Hi All,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">As per the <span style="color:black">heat mid cycle meetup whiteboard, we have created the flowchart and sequence diagram for the convergence . Can you please review these diagrams and provide your feedback?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:black"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:black"><a href="https://www.dropbox.com/sh/i8qbjtgfdxn4zx4/AAC6J-Nps8J12TzfuCut49ioa?dl=0" target="_blank">https://www.dropbox.com/sh/i8qbjtgfdxn4zx4/AAC6J-Nps8J12TzfuCut49ioa?dl=0</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:black"><u></u></span></p></div></div></blockquote><div><br></div><div>Great! Good to see something.<br><br><br></div><div>I was expecting something like:<br></div><div>engine ~= like nova-conductor (it's the only process that talks to the db - make upgrading easier)<br></div><div>observer - purely gets the actual state/properties and writes then to the db (via engine)<br></div><div>worker - has a "job" queue and grinds away at running those (resource actions)<br></div><div><br></div><div>Then engine then "triggers" on differences on goal vs. actual state and create a job and sends it to the job queue.<br></div><div>- so, on create it sees there is no actual state so it sends a create job for the first resource to the worker queue<br></div><div>- when the observer writes the new state for that resource it triggers the next resource create in the dependency tree.<br></div><div>- like any system that relies on notifications we need timeouts and each stack needs a periodic "notification" to make sure<br></div><div>  that progress is been made or notify the user that no progress is being made.<br></div><div><br></div><div>One question about the observer (in either my setup or the one in the diagram).<br></div><div>- If we are relying on rpc notifications all the observer processes will receive a copy of the same notification<br></div><div>  (say nova create end) how are we going to decide on which one does anything with it?<br></div><div>  We don't want 10 observers getting more detailed info from nova and then writing to the db<br></div><div><br></div><div>In your diagram worker is communicating with observer, which seems odd to me. I thought observer and worker were very<br></div><div>independent entities.<br></div><div><br></div><div>In my setup there are less API to worry about too:<br></div><div>- RPC api for the engine (access to the db)<br></div><div>- RPC api for sending a job to the worker<br></div><div>- the plugin API<br></div><div>- the observer might need an api just for the engine to tell it to start/stop observing a stack<br><br></div><div>-Angus<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="#0563C1" vlink="#954F72" lang="EN-US"><div><p class="MsoNormal"><span style="color:black"> <u></u></span></p>
<p class="MsoNormal"><span style="color:black">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:black">Ishant<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</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>
<br></blockquote></div><br></div></div>