[Libguestfs] virt-sysprep future

Wanlong Gao gaowanlong at cn.fujitsu.com
Mon Mar 26 11:24:54 UTC 2012


On 03/26/2012 05:00 PM, Richard W.M. Jones wrote:

> On Mon, Mar 26, 2012 at 03:59:04PM +0800, Wanlong Gao wrote:
>> I'd like to know when will you work out the virt-sysprep in Ocaml ? :-D
> 
> I meant to write something about our investigations last week.
> Here we go ...
> 
> Requirements:
> 
> * Compatible with the current virt-sysprep, but easier to maintain and
>   faster.
> 
> * It should work in the "local" and over-libguestfs cases, which means
>   using FUSE.
> 
> * The current version is a shell script, so it's customizable by
>   simple editing.  I'd like to keep some customizability in the new
>   version.


yeah, please initial your design so I can help doing something. ;)

> 
> These requirements could all be satisfied if we had:
> 
> * Some kinds of "mount-local" ability, ie. integrating FUSE with the
>   API in some way.  [i]
> 
> * Custom scripts:
>     virt-sysprep --script foo.sh  # runs foo.sh on the guest


This should be the necessary feature.

> 
> The problem is how to do the "mount-local".  We analyzed this last
> week on IRC and came up with two possible methods:
> 
> (1) We add FUSE support directly to the API, linking with libfuse.
> This is essentially the same as what was outlined in link [i] back in
> December 2011.
> 
> (2) We add an attach-method "fd:<N>" which allows the file descriptor
> of the appliance to be passed over to another process.  In this case
> we would allow guestmount to be passed a file descriptor (eg.
> "guestmount --attach-fd=<NN>") which it would then use exclusively.


But I still can't understand (2), what's the "fd:<N>" used to do?

Thanks,
Wanlong Gao

> 
> The problem with (1) is that we are not confident that it's a good
> idea to use libfuse as a true library.  It doesn't appear that anyone
> else is using it this way.
> 
> The problem with (2) is that it's complex and isn't future compatible
> with remote libvirt support [ii].
> 
> I suspect that we'll need to implement both, and be prepared to throw
> away a few implementations, before we know really which is the best
> way to go about this.
> 
> Rich.
> 
> [i] https://www.redhat.com/archives/libguestfs/2011-December/thread.html#00136
> 
> [ii] https://www.redhat.com/archives/libvir-list/2011-September/msg01049.html
> 





More information about the Libguestfs mailing list