
On Thu, Jan 10, 2013 at 12:41:50PM +0100, Jiri Denemark wrote:
Hi all.
Graphics relocation URI is currently transmitted within migration cookie in the form of graphics type, address, port, tlsPort, and certificate subject. The cookie is generated by target libvirtd and consumed by source libvirtd which than forwards this data through QEMU to the graphics client.
In case the target libvirtd is not able to provide the data in a way usable by the client (e.g., because it needs to use different address), we need to provide a way to override the graphics URI. We already support similar thing for migration URI.
So the question is how we can support $SUBJ? The only way I came up with is to introduce another set of migration APIs (such as virDomainMigrateToURI3, ...) with an additional graphics URI parameter. The URI would be formed as
type "://" address ":" port "?tlsPort=" tlsPort "&subject=" cert
with various parts being optional. That would allow us to override any part of the graphics cookie we need.
One thing to bear in mind is that we can now configure VNC and SPICE at the same time. Although VNC doesn't currently have client redirect, in theory we could add that - I've considered creating a VNC extension for this.
However, I don't like the addition of another set of migration APIs and I'd be glad to hear better ideas :-)
Nor do I, but I'm so far lacking better ideas. If we do add another API, we should do a clean slate API design that is more extensible so we don't have to keep doing this ! Perhaps a virDomainMigrateParams struct that is opaque & extensible. Actually one other idea I have is to include something in the domain XML. Currently we provide a listen address in the XML. Perhaps we should also be providing a public connect address in the XML too. This could actually make life better for apps like virt-viewer/virt-manager, because currently they have nasty heuristics to figure out what address to connect too based on the libvirt URI, XML listen address & guesswork 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 :|