<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 22, 2016 at 11:40 AM, Martin Sivak <span dir="ltr">&lt;<a href="mailto:msivak@redhat.com" target="_blank">msivak@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; If we subscribe to engine response queue we receive all the traffic. At the<br>
&gt; moment there is no way<br>
&gt; to define verbs we listen to. This functionality is only for events.<br>
<br>
</span>Can&#39;t we create a new topic /engine/&lt;verb&gt; for each verb and configure<br>
vdsm to listen for /engine/*? That would duplicate what we have now,<br>
but MOM would be able to subscribe more selectively.<br>
<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br></div><div>It is not about having a topic but listing what should be posted to that topic.<br></div><div>Sending to multiple topics is there but selecting a subset to send to one of them<br></div><div>would need to be added. I am not sure whether it is good idea for sever to know<br></div><div>what should be send where.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888">
Martin<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
On Wed, Jun 22, 2016 at 11:24 AM, Piotr Kliczewski &lt;<a href="mailto:pkliczew@redhat.com">pkliczew@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Jun 22, 2016 at 10:39 AM, Michal Skrivanek<br>
&gt; &lt;<a href="mailto:michal.skrivanek@redhat.com">michal.skrivanek@redhat.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 20 Jun 2016, at 18:41, Piotr Kliczewski &lt;<a href="mailto:pkliczew@redhat.com">pkliczew@redhat.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Mon, Jun 20, 2016 at 6:22 PM, Nir Soffer &lt;<a href="mailto:nsoffer@redhat.com">nsoffer@redhat.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Mon, Jun 20, 2016 at 11:33 AM, Martin Sivak &lt;<a href="mailto:msivak@redhat.com">msivak@redhat.com</a>&gt; wrote:<br>
&gt;&gt;&gt; &gt;&gt; 1. Mom is still using xmlrpc<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Mom must move to jsonrpc.<br>
&gt;&gt;&gt; &gt;&gt; Martin: can you update on progress of this work?<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; We would like to avoid going through VDSM completely, except from the<br>
&gt;&gt;&gt; &gt; broker part. Is it possible now to &quot;parasitically&quot; listen to vdsm<br>
&gt;&gt;&gt; &gt; events and engine commands without having to go through VDSM API?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Sounds like a good plan.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; bypassing vdsm for mom things is a good idea, but we need to make sure<br>
&gt;&gt; we’re not killing the rest of the system<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Piotr, how far are we from letting mom listen to engine queue so it get<br>
&gt;&gt;&gt; engine<br>
&gt;&gt;&gt; events/responses for certain verbs?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; We can do it now for both events and responses. We need to remember that<br>
&gt;&gt; we would<br>
&gt;&gt; receive anything that the engine is receiving. We could do better but that<br>
&gt;&gt; it would take<br>
&gt;&gt; more time.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; so it would receive all responses for only the defined verbs?<br>
&gt;&gt; It would wok well for getAllVmStats<br>
&gt;&gt;<br>
&gt;<br>
&gt; If we subscribe to engine response queue we receive all the traffic. At the<br>
&gt; moment there is no way<br>
&gt; to define verbs we listen to. This functionality is only for events.<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt; You can drop XML RPC,. vdsm does not depend on MOM working anymore.<br>
&gt;&gt;&gt; &gt; Just the balloon and ksm stats will be missing from data that are<br>
&gt;&gt;&gt; &gt; being sent to the engine.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; and a lot of things stops working then;)<br>
&gt;&gt;<br>
&gt;<br>
&gt; Maybe we can disable [1] it before dropping it. We can slowly fix master and<br>
&gt; if needed we can enable it for<br>
&gt; specific envs.<br>
&gt;<br>
&gt; [1] <a href="https://gerrit.ovirt.org/#/c/59172/" rel="noreferrer" target="_blank">https://gerrit.ovirt.org/#/c/59172/</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Balloon and ksm stats are sent today from mom to vdsm, and reported by<br>
&gt;&gt;&gt; vdsm to engine?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; If vdsm is only a middleman  and does not use this info, best to send<br>
&gt;&gt;&gt; it directly<br>
&gt;&gt;&gt; to engine via the stomp broker part of vdsm.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Piotr, how far are we from having engine listening for mom events using<br>
&gt;&gt;&gt; the<br>
&gt;&gt;&gt; vdsm broker?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I don’t think we should move any monitoring pulled from libvirt into mom -<br>
&gt;&gt; it would need another expensive and problematic call<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; It can be used now but the engine needs to know to listen for them. We<br>
&gt;&gt; would<br>
&gt;&gt; need to implement engine subscriber (one class).<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt; There also were some issues with eventfd in the json library, I assume<br>
&gt;&gt;&gt; &gt; those are fixed now.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; They should be fixed here:<br>
&gt;&gt;&gt; <a href="https://gerrit.ovirt.org/57942" rel="noreferrer" target="_blank">https://gerrit.ovirt.org/57942</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; But suffering from these issue show that the api was not use properly,<br>
&gt;&gt;&gt; you should create one client and reuse it for the entire life of the<br>
&gt;&gt;&gt; application.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Nir<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Martin<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; On Sun, Jun 19, 2016 at 1:02 PM, Nir Soffer &lt;<a href="mailto:nsoffer@redhat.com">nsoffer@redhat.com</a>&gt; wrote:<br>
&gt;&gt;&gt; &gt;&gt; Hi all,<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; We are still wasting time on maintaining both xmlrpc and jsonrpc. If<br>
&gt;&gt;&gt; &gt;&gt; we kill<br>
&gt;&gt;&gt; &gt;&gt; xmlrpc, we can greatly simplify the code base, making it easier to<br>
&gt;&gt;&gt; &gt;&gt; mainain<br>
&gt;&gt;&gt; &gt;&gt; and add new features.<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; I suggest to kill xmlrpc in 4.1, and disable it *now* on master.<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Currently the we have 3 issues:<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; 1. Mom is still using xmlrpc<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Mom must move to jsonrpc.<br>
&gt;&gt;&gt; &gt;&gt; Martin: can you update on progress of this work?<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; 2. sos plugin using vdsClient<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Need to port it to use jsonrpc library, or jsonrpc client<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; New jsonrpc client:  <a href="https://gerrit.ovirt.org/35181" rel="noreferrer" target="_blank">https://gerrit.ovirt.org/35181</a><br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; 3. Engine is using xmlrpc server for ovf upload/download<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; We must support current engine in 4.1, so we cannot remove<br>
&gt;&gt;&gt; &gt;&gt; upload/download feature in this version, but we can remove the<br>
&gt;&gt;&gt; &gt;&gt; xmlrpc support in this server.<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Currently we abuse the xmlrpc server, supporting PUT and GET for<br>
&gt;&gt;&gt; &gt;&gt; upload and download (XMLRPC is using only POST). We can disable<br>
&gt;&gt;&gt; &gt;&gt; POST requests in protocoldetector, and not register anything with<br>
&gt;&gt;&gt; &gt;&gt; the xmlrpc server.<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Thoughts?<br>
&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt; &gt;&gt; Nir<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Devel mailing list<br>
&gt;&gt; <a href="mailto:Devel@ovirt.org">Devel@ovirt.org</a><br>
&gt;&gt; <a href="http://lists.ovirt.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ovirt.org/mailman/listinfo/devel</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div></div>