[libvirt] [Qemu-devel] Re: Supporting hypervisor specific APIs in libvirt

Anthony Liguori anthony at codemonkey.ws
Mon Mar 22 21:53:52 UTC 2010

On 03/22/2010 04:33 PM, Gerd Hoffmann wrote:
>   Hi,
>> Stepping back a bit first, there are the two core areas in which 
>> people can
>> be limited by libvirt currently.
>>   2. Command line flags
> For me:  This one, and monitor access.
> libvirt is very unfriendly to qemu hackers.  There is no easy way to 
> add command line switches.  There is no easy way to get access to the 
> monitor.  I can get it done by pointing <emulator> to a wrapper script 
> and mangle the qemu command line there.  But this sucks big time.  And 
> it doesn't integrate with libvirt at all.

It's not just developers.  As we're doing deployments of qemu/kvm, we 
keep running into the same problem.  We realize that we need to use a 
feature of qemu/kvm that isn't modelled by libvirt today.  I've gone as 
far as to temporarily pausing libvirtd, finding the pty fd from 
/proc/<pid>, and hijacking the monitor session temporarily.

The problem is, it's not always easy to know what the most important 
features are.

> When hacking qemu, especially when adding new command line options or 
> monitor commands, I want to have a easy way to test this stuff.  Or I 
> just wanna able to type some 'info $foo' commands for debugging and 
> trouble shooting purposes.  libvirt makes it harder not easier to get 
> the job done.
> Image you could ask libvirt to create an additional monitor and expose 
> it like a serial console.  virt-manager lists it as text console.  Two 
> mouse clicks open a new window (or tab) with a terminal emulator 
> linked to the monitor.  Wouldn't that be cool?
> Other issues I've trap into:
> -boot
>   libvirt (or virt-manager?) supports only the very old single letter
>   style.  You can't specify '-boot order=cd,menu=on'.

You can, you specify multiple <boot> options (but you can't touch things 
like menu=on).


Anthony Liguori

> -enable-nested
>   not available.
> serial console doesn't work for remote connections.
> cheers,
>   Gerd

More information about the libvir-list mailing list