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

Anthony Liguori anthony at codemonkey.ws
Mon Jul 16 15:47:59 UTC 2007


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.




More information about the libvir-list mailing list