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

Anthony Liguori anthony at codemonkey.ws
Mon Jul 16 19:23:32 UTC 2007


Daniel P. Berrange wrote:
> On Mon, Jul 16, 2007 at 06:34:57PM +0100, Richard W.M. Jones wrote:
>   
>> Daniel P. Berrange wrote:
>>     
>>> On Mon, Jul 16, 2007 at 11:30:33AM -0500, Anthony Liguori wrote:
>>>       
>>>> Richard W.M. Jones wrote:
>>>>         
>>>>> Anthony Liguori wrote:
>>>>>           
>>>>>> For instance, let's say at a university they use an ldap directory to 
>>>>>> authenticate users and they decide to implement a migration handler 
>>>>>> that uses that for authentication.  They may name this "uni://" and 
>>>>>> it'll just work.  How would they get at this in libvirt without 
>>>>>> exposing URIs directly?
>>>>>>             
>>>>> My latest proposal[1] has a transport parameter (a string) which 
>>>>> covers this, in as much as it would allow you to construct URIs which 
>>>>> are:
>>>>>
>>>>> <transport>://<hostname>:<port>
>>>>>           
>>>> SSH requires:
>>>>
>>>> ssh://[user@]hostname[:port]
>>>>
>>>> So that wouldn't work :-(
>>>>         
>>> Sure it would - rich was just showing simplified syntax - the URI 
>>> rules/spec allow for a username and we already use this syntax with a 
>>> username in the remote driver URIs. eg
>>>
>>>  $ virsh --connect qemu+ssh://root@celery.virt.boston.redhat.com/system 
>>>  list --all
>>>       
>> Anthony is right that my revised proposal limits the migration to just 
>> three parameters: transport, hostname and port.
>>
>> https://www.redhat.com/archives/libvir-list/2007-July/msg00227.html
>>
>> Perhaps instead we should replace hostname with a URI parameter, 
>> understood as either a simple hostname, IP address, a "hostname:port" 
>> string [IPv6?], or a full URI.  However I feel inevitably this is going 
>> to cause hypervisor dependencies to come into libvirt code, which should 
>> be avoidable.
>>     
>
> I think we can expose URIs without directly making the libvirt API hypervisor
> specific. Even though Anthony is talking with respect to QEMU/KVM there, 
> the concepts is reasonably applicable to Xen too - there's no reason XenD
> could not be enhanced to support migration over a user-defined transport.
>
> So, when thinking about URIs for migration we could consider that there are
> 2 classes of URI
>
>  - Pre-defined 'standard' URIs - TCP, TCP with SSL/TLS, and SSH being the
>    most obvious - we can easily define clear & portable semantics for these
>    URIs
>
>  - User-define 'custom' URIs - these are really site/deployment specific,
>    rather than hypervisor specific. ie, if someone implemented a way to deal
>    with foo://bar/, they could provide impls for both Xen & QEMU
>   

How would a user define a custom URI?

Regards,

Anthony Liguori

> We should be able to guarentee that 'standard' URIs work forever, while for
> custom URIs we can allow them to be passed through, and not provide any
> guarentees about their behaviour/usage  - in particular make no guarentees
> that a future libvirt won't define more 'standard' URI schemes which could
> potentially clash with use-define custom schemes.
>
> Dan.
>   




More information about the libvir-list mailing list