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@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list