[libvirt] [PATCH 0/4] Enable libvirt to attach to existing QEMU instances

Eric Blake eblake at redhat.com
Thu May 5 18:27:06 UTC 2011


On 05/05/2011 11:26 AM, Daniel P. Berrange wrote:
> This is the bare minimum code required to allow libvirt to connect
> to an externally launched QEMU instance, reverse engineering the
> XML configuration from the command line args.
> 
> The biggest problem is that our ARGV-> XML convertor does not know
> about the -device syntax people often now use.

Agreed.  There's definitely some work to do here.  At least the
<qemu:commandline> XML conversion is a nice backdoor so that we can at
least round trip native -> xml -> native in most simple cases.

> 
> There is also some robustness work to be done the QEMU driver in
> general, to remove some assumptions that no longer hold true. For
> example in our domain shutdown code, there are bits of cleanup
> we should skip because we will not have done the corresponding
> setup in the first place.

And I'd really like to make a couple of improvements at some point - the
native-to-xml currently expects a space-separated list of arguments for
"qemu-argv" mode, when it would be much easier if we introduced a
"qemu-argz" mode which took as the native string the name of a filename
containing NUL-terminated arguments (note that this is intentionally
like /proc/nnn/cmdline!).  Furthermore, I want to make
virCommandToString be smarter about producing optional shell quoting, as
well as making qemu-argv mode smarter when the input is properly
shell-quoted, so that it becomes an unambiguous translation from xml to
native back to xml (right now, we can really throw off the conversion if
we have shell-quoted spaces in one of the arguments).  But those can be
separate improvements on top of this base framework.

> We also need to verify what happens with all the various APIs
> particularly device hotplug, to ensure there are no bad results.
> That said, even as it is, this functionality will be quite
> useful for QEMU developers

It definitely falls in the category of provided but unsupported, much
like qemu raw monitor passthrough commands - we are making it easier for
debuggers.  So this should belong to the qemu set of RPC calls rather
than the generic set; linked in through libvirt-qemu.la rather than the
normal libvirt.la (I haven't read the rest of the series to see if you
actually did this).  But ACK on the idea!

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110505/1559d9cd/attachment-0001.sig>


More information about the libvir-list mailing list