On Wed, Jul 02, 2014 at 10:32:59AM -0400, John Ferlan wrote: > I was trying to envision use cases - that is how is this expected to be > used and what "knowledge" is assumed of the caller/user vs. being > designed to a more naive user trying to glean information about what's > available. You have a very specific use case described - can I determine > if vfio is supported, but that requires someone knowing quite a bit of > information that isn't easily accessible unless you read sources or have > a bit of history built up. > > For the domcapabilities command that eventually gets added - how does > one know what to provide for the 4 options without knowing a bit about > the environment. It seems the assumption is the user knows to pass > certain elements. > > The 'virttype' is pretty easy - that comes from the connection - so I > wonder why it's a parameter to be provided. Does one really have to have > a connection to get the data? > > The 'emulatorbin' is less obvious. If it's not passed, there is a way to > get the default value given that you have a virttype, an os type, and an > os arch using virCapabilitiesDefaultGuestEmulator(). What if someone > provides "/usr/bin/qemu-kvm" or "/usr/libexec/qemu-kvm" or is there an > expectation of /usr/bin/qemu-system-x86_64? > > The 'arch' requires a bit more knowledge, but is certainly "obtainable" > as a default by the current host arch, right? There's also > virCapabilitiesDefaultGuestArch(). However, if someone was looking to > find out what was running on the remote connection (not the local > machine), then that assumption would be incorrect. Seems we should be > able to figure out what arch is associated with the connection. > > I think 'machine' is perhaps the most odd to provide; however, like arch > and emulatorbin, there is virCapabilitiesDefaultGuestMachine() to help > you out. For this if one passed "pc" does that work - or do they have > to pass something like "pc-i440fx-1.6" with the next question being how > would they know to generate that? The valid values for all those parameters are listed in the main <capabilities> XML under the <guest> sections. The app is of course free to ask about support for other non-listed values if they have a custom emulator binary they're passing in. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list