[Libguestfs] [PATCH 4/4] ESX: Import guests from VMware's ESX server

Matthew Booth mbooth at redhat.com
Sat Jan 30 14:25:07 UTC 2010


On 29/01/10 19:33, Richard W.M. Jones wrote:
> On Fri, Jan 29, 2010 at 06:05:10PM +0000, Matthew Booth wrote:
>> This change adds the ability to import a guest and its storage from VMware's ESX
>> server using the LibVirt connection.
>>
>> An example command line:
>>
>> virt-v2v -ic 'esx://yellow.marston/?no_verify=1' -op transfer RHEL5-64
>>
>> This will import the guest RHEL5-64 from esx server yellow.marston, copying its
>> storage to a local pool called transfer.
>>
>> Sys::VirtV2V::Connection is refactored to be a superclass. Subclasses are now
>> created explicitly by virt-v2v.pl rather than using a generic instantiate
>> mechanism.
>>
>> Sys::VirtV2V::Connection::LibVirt knows explicitly about ESX, and will use the
>> new Sys::VirtV2V::Transfer::ESX to fetch its storage.
>>
>> virt-v2v.pl is updated to reflect the other changes.
>
> I didn't look at this in great detail, but some quick comments:
>
> - get_guest_devices function has disappeared.  I didn't quite get why.

It's functionally replaced by get_local_storage() in Connection.

> - get_volume looks complicated.  I wonder how stable those ESX paths are
>    and whether there are configurations which have other paths
>    (however it does seem correct for my ESX 4 server).

I've also been worrying about that. However, the path-name munging is 
relatively uncomplicated, so if it turns out that scheme is too 
simplistic it shouldn't be hard to update. What makes Transfer::ESX look 
worse that it needs to is the LWP api. IIRC I use 3 different callbacks 
to get the job done.

Matt




More information about the Libguestfs mailing list