[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Libvir] Re: [PATCH 1/2] virDomainMigrate implementation (Xen only, no remote, no qemu, no virsh)



Daniel P. Berrange wrote:
On Mon, Jul 16, 2007 at 08:20:54AM -0700, Dan Smith wrote:
DB> I don't.  The API should be hypervisor agnostic. Needing to pass
DB> HV specific attributes to make it works shows we have failed.

In that case, haven't we already failed with virDomainCreate() since
it takes hypervisor-specific XML?  Doesn't the presence of
VIR_DEVICE_RW_FORCE imply knowledge of Xen-specific behavior?

The XML is *not* hypervisor specific. There is a subtle difference is between hypervisor specific concepts, and generic concepts which may only only be relevant to a sub-set of hypervisors.
How would you handle someone wanting to use tcp:// or ssh:// with
qemu?

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.

If you don't expose raw URIs, then you can never support pluggable migration transports which I will implement in the not to distant future.

I think there's a balance between being hypervisor agnostic and only supporting the least common denominator. Whenever there's a possibility to be common, I think libvirt should strive to provide a common interface but I still think it's important to unique features of the particular virtualization solution.

Regards,

Anthony Liguori

 Exposing
a flag  VIR_CHANNEL_CLEAR, VIR_CHANNEL_SSH, VIR_CHANNEL_TLS is agnostic
because it allows the same syntax to be used regardless of driver. Now some
drivers may only support a subset of channel types, but that's OK.

Dan.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]