
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