
On Mon, Jul 16, 2007 at 10:58:18AM -0500, Anthony Liguori wrote:
John Levon wrote:
On Mon, Jul 16, 2007 at 10:47:59AM -0500, Anthony Liguori wrote:
If we need to express some choice of data channel, TCP, vs SSH, vs SSL/TLS then figure out a way to expose that in the API with an hypervisor agnostic way. Exposing raw QEMU migration URIs is *not* hypervisor agnostic.
Why? If nothing but QEMU support ssh:// then exposing an API to do SSH migration isn't really hypervisor agnostic. It's an API for QEMU.
You're presuming things never change (and that new backends never get added to libvirt!)
There's a big difference between taking two implements of SSH migration, finding the commonality, and building an abstraction verses just modeling the KVM ssh:// URI. The chances that a second implementation can be exposed nicely through the later is small.
What I'd rather see is something that exposed the bits of both KVM and Xen and then a second "agnostic" interface. For instance, for KVM you may have:
virDomainMigrateKVM(..., URI);
For Xen you'd have:
virDomainMigrateXen(..., hostname, port);
I don't see the point in having separate methods for those when Xen's hostname+port can be formatted as a URI too.
But then you'd also have:
virDomainMigrate(dom, connPtr);
So perhaps we should think about 2 possible APIs: - One based on a URI string - One based on a pre-existing virConnectPtr Or, have 1 API, and have the URI string optional and virConnectPtr be compulsory ? Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|