<div dir="ltr">Does this mean we will be able to move the hooks to the engine side at some point? That would be much better than needing it on VDSM.</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><pre cols="72"><span style="font-family:arial,helvetica,sans-serif">Yaniv Dary
Technical Product Manager
Red Hat Israel Ltd.
34 Jerusalem Road
Building A, 4th floor
Ra&#39;anana, Israel 4350109

Tel : +972 (9) 7692306
        8272306
Email: <a href="mailto:ydary@redhat.com" target="_blank">ydary@redhat.com</a>
IRC : ydary</span></pre>
</div></div></div></div></div>
<br><div class="gmail_quote">On Wed, Nov 23, 2016 at 6:12 PM, Arik Hadas <span dir="ltr">&lt;<a href="mailto:ahadas@redhat.com" target="_blank">ahadas@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=""><br>
<br>
----- Original Message -----<br>
&gt; Hi,<br>
&gt;<br>
&gt; Arik there is also custom metadata section for MOM and QoS in the<br>
&gt; libvirt domain XML and those values are now created as XML and later<br>
&gt; manipulated using libvirt API. VDSM will still need to know at least<br>
&gt; some basic stuff about the XML to be able to process it correctly (the<br>
&gt; metadata descriptor and the structure for example).<br>
<br>
</span>Besides the parsing of the devices that we would love to get rid of, I believe the parsing of Libvirt XML done by VDSM would remain as is.<br>
<span class=""><br>
&gt;<br>
&gt; Will the engine assume anything about the XML post-migration (for<br>
&gt; example to speed-up restarts for highly available VMs)? Because the<br>
&gt; hooks can change it significantly. Start hooks will be used anyway,<br>
&gt; but migration hook changes might not be reflected during the restart.<br>
&gt;<br>
<br>
</span>Not sure that I fully understand.<br>
You have a VM with configuration conf1 running on host1. While being migrated to host2 the configuration is changed to conf2.<br>
Do you suggest that the next time the VM restarts it would be created based on conf2?<br>
<br>
Changes in the devices would be reflected on the next run (assuming the engine got the updated devices) - as today.<br>
Other than the devices, no configuration that is used on VM creation (static data) is read back by the engine so if it is changed it won&#39;t be reflected.<br>
And at the moment we have no plan to change the content of the data that is passed between the engine and VDSM, only its representation.<br>
<br>
Btw, I&#39;m taking back my statement about migration:<br>
<span class="">&quot;5. Not to re-generate the XML on each rerun attempt of VM run/migration.&quot;<br>
</span>VM migration flow is irrelevant since the engine doesn&#39;t pass the VM configuration. It will remain as-is.<br>
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt; Martin<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Nov 23, 2016 at 1:59 PM, Arik Hadas &lt;<a href="mailto:ahadas@redhat.com">ahadas@redhat.com</a>&gt; wrote:<br>
&gt; &gt; Hi All,<br>
&gt; &gt;<br>
&gt; &gt; We are working on something that is expected to have a big impact, hence<br>
&gt; &gt; this heads-up.<br>
&gt; &gt; First, we want you to be aware of this change and provide your feedback to<br>
&gt; &gt; make it as good as possible.<br>
&gt; &gt; Second, until the proposed mechanism is fully merged there will be a chase<br>
&gt; &gt; to cover all features unless new features are also implemented with the<br>
&gt; &gt; new mechanism. So please, if you are working on something that<br>
&gt; &gt; adds/changes something in the Libvirt&#39;s domain xml, do it with this new<br>
&gt; &gt; mechanism as well (first version would be merged soon).<br>
&gt; &gt;<br>
&gt; &gt; * Goal<br>
&gt; &gt; Creating Libvirt XML in the engine rather than in VDSM.<br>
&gt; &gt; ** Today&#39;s flow<br>
&gt; &gt; Engine: VM business entity -&gt; VM properties map<br>
&gt; &gt; VDSM:   VM properties map  -&gt; Libvirt XML<br>
&gt; &gt; ** Desired flow<br>
&gt; &gt; Engine: VM business entity -&gt; Libvirt XML<br>
&gt; &gt;<br>
&gt; &gt; * Potential Benefits<br>
&gt; &gt; 1. Reduce the number of conversions from 2 to 1, reducing chances for<br>
&gt; &gt; mistakes in the process.<br>
&gt; &gt; 2. Reduce the amount of code in VDSM.<br>
&gt; &gt; 3. Make VM related changes easier - today many of these changes need to be<br>
&gt; &gt; reviewed in 2 projects, this will eliminate the one that tends to take<br>
&gt; &gt; longer.<br>
&gt; &gt; 4. Prevent shortcuts in the form of VDSM-only changes that should be better<br>
&gt; &gt; reflected in the engine.<br>
&gt; &gt; 5. Not to re-generate the XML on each rerun attempt of VM run/migration.<br>
&gt; &gt; 6. Future - not to re-generate the XML on each attempt to auto-start HA VM<br>
&gt; &gt; when using vm-leases (need to make sure we&#39;re using the up-to-date VM<br>
&gt; &gt; configuration though).<br>
&gt; &gt; 7. We already found improvements and cleanups that could be made while<br>
&gt; &gt; touching this area (e.g., remove the boot order from devices in the<br>
&gt; &gt; database).<br>
&gt; &gt;<br>
&gt; &gt; * Challenges<br>
&gt; &gt; 1. Not to move host-specific information to the engine. For example, path<br>
&gt; &gt; to storage domain or sockets of channels.<br>
&gt; &gt;    The solution is to use place-holders that will be replaced by VDSM.<br>
&gt; &gt; 2. Backward compatibility.<br>
&gt; &gt; 3. The more challenging part is the other direction - that will be the next<br>
&gt; &gt; phase.<br>
&gt; &gt;<br>
&gt; &gt; * Status<br>
&gt; &gt; As a first step, we began with producing the Libvirt XML in the engine by<br>
&gt; &gt; converting the VM properties map to XML in the engine [1]<br>
&gt; &gt; And using the XML that is received as an input in VDSM [2]<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; [1] <a href="https://gerrit.ovirt.org/#/c/64473/" rel="noreferrer" target="_blank">https://gerrit.ovirt.org/#/c/<wbr>64473/</a><br>
&gt; &gt; [2] <a href="https://gerrit.ovirt.org/#/c/65182/" rel="noreferrer" target="_blank">https://gerrit.ovirt.org/#/c/<wbr>65182/</a><br>
&gt; &gt;<br>
&gt; &gt; Regards,<br>
&gt; &gt; Arik<br>
&gt; &gt; ______________________________<wbr>_________________<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/<wbr>mailman/listinfo/devel</a><br>
&gt;<br>
______________________________<wbr>_________________<br>
Devel mailing list<br>
<a href="mailto:Devel@ovirt.org">Devel@ovirt.org</a><br>
<a href="http://lists.ovirt.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.ovirt.org/<wbr>mailman/listinfo/devel</a><br>
</div></div></blockquote></div><br></div>