<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>I guess ultimately what would be nice is the provision to manipulate some the more advanced features if desired via API/CLI/GUI if desired. Correct these things can be manipulated now by custom properties but TBH they are a pain. You need to enter a key in the correct format into the custom properties dialog. Also if the function does not exist already you need to write the python hook to add it even if it is something simple like manipulating a libvirt DOM XML option. Would it not be nicer to the admin were to be able to simply (like is now with VM options) click advanced and they are presented advanced options GUI? The reasoning for this are cases at times to manipulate or want to have access to these options and be given the choice to choose if I want to do so. Pretty much every KVM management solution exposes the below options either by default or by advanced options. I understand the reasoning for wanting to hide or make it difficult to use some of what is in the below examples but the point is that again I should at least have the choice to do so in an easier manner then the hooking/custom props they way they are now.<br>
<br></div>Example 1:<br></div>&quot;Add Disk UI&quot;<br></div><div>What we can do with libvirt:<br>&lt;disk  ...&gt;<br> &lt;driver io=&#39;threads | native&#39; cache=&#39;default | none | writeback | writethrough&#39;/&gt;<br>
 ...<br>&lt;/disk&gt;<br></div>So Advanced UI Options for<br></div>Disk IO Policy = threads | native<br></div>Disk Cache Policy = default | none | writeback | writethrough<br><br></div>Accordingly as well disk format:<br>
</div>raw - preallocated<br></div>raw - sparse<br>qcow2- preallocated<br>qcow2 - sparse<br></div><div>qcow2 - pre-allocate metadata Yes/No ?<br></div><div>qed - sparse<br></div><div>and so on....<br></div><div>For example now qcow2 is not allowed on NFS storage domains but if I the admin want to allow for this or use it, I should at least be given the choice as there is no reason it does not work.<br>
<br></div><div>Example 2<br></div><div>&quot;Add Network UI&quot;<br></div><div>What we can do with libvirt:<br>&lt;forward mode=&#39;route | bridge | private | vepa | passthrough | hostdev&#39;&gt;<br>    &lt;interface dev=&#39;bond0&#39;/&gt;<br>
    &lt;interface dev=&#39;bond1&#39;/&gt;<br>    &lt;interface dev=&#39;eth0&#39;/&gt;<br>    &lt;interface dev=&#39;eth1&#39;/&gt;<br>    &lt;interface dev=&#39;eth2&#39;/&gt;<br>    &lt;interface dev=&#39;eth3&#39;/&gt;<br>
&lt;/forward&gt;<br></div><div>Right now all we can do is select a mode=bridge.<br></div><div>How about under advanced option for:<br></div><div>Network Mode= route | bridge | private | vepa | passthrough | hostdev<br></div>
<div>Admin does thowever know that some of the above of course may require some networking prerequisites which must be satisfied first.<br></div><div> <br></div>Something else I have seen other KVM solutions provide in the case of the above examples is just a direct libvirt domain editor in GUI. One can simply load/preview the generated libivrt domain xml and add/edit options, validate and run with the changes either temporarily or permanently.<br>
<br></div>- DHC<br><div><div><div><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 6, 2013 at 2:56 PM, Itamar Heim <span dir="ltr">&lt;<a href="mailto:iheim@redhat.com" target="_blank">iheim@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"><div class="im">On 08/06/2013 06:49 PM, Dead Horse wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It would be nice to be able to enable certain types of VM&#39;s (or just<br>
purposely for whatever reason) to be able to use for example:<br>
VEPA (macvtap)<br>
Change VRAM sizes<br>
</blockquote>
<br></div>
is this covering this?<br>
<a href="http://gerrit.ovirt.org/#/c/16803/" target="_blank">http://gerrit.ovirt.org/#/c/<u></u>16803/</a><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
change disk IO policies<br>
change dsk Cache Policies<br>
</blockquote>
<br></div>
there is a built-in custom property for this one?<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
change input type to usbtablet or PS2<br>
(new qemu/libvirt features to play or test)<br>
<br>
This of course should be limited to admin level roles as it would come<br>
with the understanding of the possibility of things exploding in ones face.<br>
<br>
Perhaps this could be implemented as a &quot;Really Advanced Options&quot; on a VM<br>
visible to superuser or admin roles only?<br>
</blockquote>
<br></div>
this would be akin to custom properties, some of which come via vdsm, just without a special gui on engine side (i.e., they don&#39;t need hooks on vdsm since they are supported out of the box).<br>
reason they are custom properties without dedicated UI is the use case is rare.<br>
<br>
other than some custom property to pass libvirt command line args, or xml overrides, i think the custom proeprties/hooks (or vdsm builtin support) is the cleanest one<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
  -DHC<br>
<br>
<br>
<br>
On Sun, Aug 4, 2013 at 2:49 AM, Noam Slomianko &lt;<a href="mailto:nslomian@redhat.com" target="_blank">nslomian@redhat.com</a><br></div><div class="im">
&lt;mailto:<a href="mailto:nslomian@redhat.com" target="_blank">nslomian@redhat.com</a>&gt;&gt; wrote:<br>
<br>
    Since you cannot know what kind of changes the user will do in<br>
    libvirt you cannot be sure that VDSM will be able to live with them.<br>
    By &quot;Allowing&quot; this officially you will create an impression that it<br>
    is safe, which will cause frustration for the user if VDSM breaks.<br>
    So keeping this as &quot;do at your own risk, we want nothing to do with<br>
    it&quot; sounds like a good plan to me :)<br>
<br>
    But ignoring that, what kind of behaviour would you like? maybe the<br>
    ability to pass custom libvirt flags on VM startup?<br>
    This can be pretty easily Implemented as an all purpose hook, isn&#39;t<br>
    it? (write once, pass any argument you like)<br>
<br>
    ----- Original Message -----<br>
    From: &quot;Dead Horse&quot; &lt;<a href="mailto:deadhorseconsulting@gmail.com" target="_blank">deadhorseconsulting@gmail.com</a><br></div><div><div class="h5">
    &lt;mailto:<a href="mailto:deadhorseconsulting@gmail.com" target="_blank">deadhorseconsulting@<u></u>gmail.com</a>&gt;&gt;<br>
    To: &quot;engine-devel&quot; &lt;<a href="mailto:engine-devel@ovirt.org" target="_blank">engine-devel@ovirt.org</a><br>
    &lt;mailto:<a href="mailto:engine-devel@ovirt.org" target="_blank">engine-devel@ovirt.org</a><u></u>&gt;&gt;<br>
    Sent: Friday, August 2, 2013 7:43:31 PM<br>
    Subject: [Engine-devel] direct manipulation of libvirt<br>
<br>
    A broad question here, perhaps not a possibility but I figured I<br>
    would toss it out there anyway.<br>
<br>
    VDSM is great at what it does, however there are those times when<br>
    direct manipulation of libvirt or libvirt VM configuration would be<br>
    very handy. The safe defaults and tested VM configurations that<br>
    VDSM/ovirt provides are great. However at times it would be nice to<br>
    simply connect to a hypervisor managed by ovirt/vdsm and make a<br>
    couple changes to a VM (via virt-manager or directly via virsh).<br>
<br>
    This could be enabling a new feature that has made it&#39;s way into<br>
    QEMU/libvirt/KVM or tweaking a VM configuration for whatever reason.<br>
    Now there is nothing stopping someone from doing this now either<br>
    directly or via VDSM hooks. Hooks are a pain along with the custom<br>
    properties to jack them into engine. Direct manipulation of libvirt<br>
    since it has been upstarted by vdsm results in an unhappy VDSM/engine.<br>
<br>
    Thoughts?<br>
    - DHC<br>
<br>
    ______________________________<u></u>_________________<br>
    Engine-devel mailing list<br></div></div>
    <a href="mailto:Engine-devel@ovirt.org" target="_blank">Engine-devel@ovirt.org</a> &lt;mailto:<a href="mailto:Engine-devel@ovirt.org" target="_blank">Engine-devel@ovirt.org</a><u></u>&gt;<br>
    <a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/<u></u>mailman/listinfo/engine-devel</a><div class="im"><br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
Engine-devel mailing list<br>
<a href="mailto:Engine-devel@ovirt.org" target="_blank">Engine-devel@ovirt.org</a><br>
<a href="http://lists.ovirt.org/mailman/listinfo/engine-devel" target="_blank">http://lists.ovirt.org/<u></u>mailman/listinfo/engine-devel</a><br>
<br>
</div></blockquote>
<br>
</blockquote></div><br></div>