Chengyuan Li
2015-Apr-20 14:37 UTC
[libvirt-users] <qemu:commandline> domain XML tag is not working?
Hi, I tried to enable virtio-blk data plane feature for VMs in my openstack environment, the hypervisor is ubuntu 14.04, libvirt 1.2.2 and QEMU 2.0. As nova doesn't support that parameter yet, I did belows 1. nova boot a VM with raw disk image. 2. nova stop the VM. 3. run "virsh edit <instance-id>" on the hyprvisor node, and adding below into instance xml just before </domain>. However, the <qemu:commandline> part is ignored and not saved after closing virsh edit, seems that libvirt rejected these changes. Is there any XML syntax error here? Or libvirt doesn't support <qemu:commandline> tag? <qemu:commandline> <qemu:arg value='-set'/> <qemu:arg value='device.drive-virtio-disk0.x-data-plane=on'/> </qemu:commandline> Regards, Chengyuan.
Kashyap Chamarthy
2015-Apr-20 14:51 UTC
Re: [libvirt-users] <qemu:commandline> domain XML tag is not working?
On Mon, Apr 20, 2015 at 10:37:13PM +0800, Chengyuan Li wrote:> Hi, > > I tried to enable virtio-blk data plane feature for VMs in my openstack > environment, the hypervisor is ubuntu 14.04, libvirt 1.2.2[I haven't tested the virtio-blk data plane myself.] This libvirt version seems a little old (from March 2014), you might want to move to a bit newer.> and QEMU 2.0. > As nova doesn't support that parameter yet, I did belows > > 1. nova boot a VM with raw disk image. > 2. nova stop the VM. > 3. run "virsh edit <instance-id>" on the hyprvisor node, and adding below > into instance xml just before </domain>.You're modifying the guest definition behind Nova's back, so you get to keep all the pieces if something breaks. :-)> However, the <qemu:commandline> part is ignored and not saved after closing > virsh edit, seems that libvirt rejected these changes. Is there any XML > syntax error here? Or libvirt doesn't support <qemu:commandline> tag? > > <qemu:commandline> > <qemu:arg value='-set'/> > <qemu:arg value='device.drive-virtio-disk0.x-data-plane=on'/> > </qemu:commandline>-- /kashyap
Eric Blake
2015-Apr-20 15:41 UTC
Re: [libvirt-users] <qemu:commandline> domain XML tag is not working?
On 04/20/2015 08:37 AM, Chengyuan Li wrote:> Hi, > > I tried to enable virtio-blk data plane feature for VMs in my openstack > environment, the hypervisor is ubuntu 14.04, libvirt 1.2.2 and QEMU 2.0. > As nova doesn't support that parameter yet, I did belows > > 1. nova boot a VM with raw disk image. > 2. nova stop the VM. > 3. run "virsh edit <instance-id>" on the hyprvisor node, and adding below > into instance xml just before </domain>. > > However, the <qemu:commandline> part is ignored and not saved after closing > virsh edit, seems that libvirt rejected these changes. Is there any XML > syntax error here? Or libvirt doesn't support <qemu:commandline> tag?If XML changes disappear after virsh edit, then it is a case of you using XML that wasn't recognized by libvirt.> > <qemu:commandline> > <qemu:arg value='-set'/> > <qemu:arg value='device.drive-virtio-disk0.x-data-plane=on'/> > </qemu:commandline>Did you also remember to declare the namespace? Per http://libvirt.org/drvqemu.html#qemucommand it is essential to have something like: <domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> before any other <qemu:...> will be recognized. (The namespace does not have to be named 'qemu:', but it makes it easier to stick to the naming used by the examples) -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Chengyuan Li
2015-Apr-21 01:44 UTC
Re: [libvirt-users] <qemu:commandline> domain XML tag is not working?
Hi Eric, Thanks! You are right, I missed declaring namespace, now, the <qemu:commandline> is saved after virsh edit. However, both namespace and <qemu:commandline> tag are lost after I run "nova start" to launch the VM. Any idea that how could I make this qemu command take effect ? Regards, CY. On Mon, Apr 20, 2015 at 11:41 PM, Eric Blake <eblake@redhat.com> wrote:> On 04/20/2015 08:37 AM, Chengyuan Li wrote: > > Hi, > > > > I tried to enable virtio-blk data plane feature for VMs in my openstack > > environment, the hypervisor is ubuntu 14.04, libvirt 1.2.2 and QEMU 2.0. > > As nova doesn't support that parameter yet, I did belows > > > > 1. nova boot a VM with raw disk image. > > 2. nova stop the VM. > > 3. run "virsh edit <instance-id>" on the hyprvisor node, and adding below > > into instance xml just before </domain>. > > > > However, the <qemu:commandline> part is ignored and not saved after > closing > > virsh edit, seems that libvirt rejected these changes. Is there any XML > > syntax error here? Or libvirt doesn't support <qemu:commandline> tag? > > If XML changes disappear after virsh edit, then it is a case of you > using XML that wasn't recognized by libvirt. > > > > > <qemu:commandline> > > <qemu:arg value='-set'/> > > <qemu:arg value='device.drive-virtio-disk0.x-data-plane=on'/> > > </qemu:commandline> > > Did you also remember to declare the namespace? Per > http://libvirt.org/drvqemu.html#qemucommand > > it is essential to have something like: > > <domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0 > '> > > before any other <qemu:...> will be recognized. (The namespace does not > have to be named 'qemu:', but it makes it easier to stick to the naming > used by the examples) > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org > >
Chengyuan Li
2015-Apr-21 01:54 UTC
Re: [libvirt-users] <qemu:commandline> domain XML tag is not working?
Hi Kashyap, Here I want to test and see how much I/O performance could be improved by virtio-blk data plane feature. Yes, this is a dirty way to enable it :-), You mentioned using newer libvirt, is there parameter similar "x-data-plane=on" in new version libvirt? Please let know me you if you have better solution. Regards, CY. On Mon, Apr 20, 2015 at 10:51 PM, Kashyap Chamarthy <kchamart@redhat.com> wrote:> On Mon, Apr 20, 2015 at 10:37:13PM +0800, Chengyuan Li wrote: > > Hi, > > > > I tried to enable virtio-blk data plane feature for VMs in my openstack > > environment, the hypervisor is ubuntu 14.04, libvirt 1.2.2 > > [I haven't tested the virtio-blk data plane myself.] > > This libvirt version seems a little old (from March 2014), you might > want to move to a bit newer. > > > and QEMU 2.0. > > As nova doesn't support that parameter yet, I did belows > > > > 1. nova boot a VM with raw disk image. > > 2. nova stop the VM. > > 3. run "virsh edit <instance-id>" on the hyprvisor node, and adding below > > into instance xml just before </domain>. > > You're modifying the guest definition behind Nova's back, so you get to > keep all the pieces if something breaks. :-) > > > However, the <qemu:commandline> part is ignored and not saved after > closing > > virsh edit, seems that libvirt rejected these changes. Is there any XML > > syntax error here? Or libvirt doesn't support <qemu:commandline> tag? > > > > <qemu:commandline> > > <qemu:arg value='-set'/> > > <qemu:arg value='device.drive-virtio-disk0.x-data-plane=on'/> > > </qemu:commandline> > > > -- > /kashyap >