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(a)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