[Libguestfs] golang binding help

Vasiliy Tolstov v.tolstov at selfip.ru
Fri Jul 11 21:28:00 UTC 2014


2014-07-12 0:33 GMT+04:00 Richard W.M. Jones <rjones at redhat.com>:
> On Fri, Jul 11, 2014 at 06:18:12PM +0400, Vasiliy Tolstov wrote:
>> Hello. I'm very happy with libguestfs, but now i'm try to write packer
>> plugin to strip images:
>
> Packer is: http://www.packer.io/intro ?

Yes, i'm try to build cloud images using it. Does it possible to add
ability to resize freebsd slices ?

>
>> 1) resize filesystem to minimum
>> 2) resize partitions to minimum
>> 3) create/resize file with needed size
>>
>> But golang binding have not docs. Is that possible to generate
>> something suitable to godoc.org to determine api methods and
>> input,output variables for functions?
>
> So a few different things here:
>
> (a) Yes, we should add golang docs.  However I don't know how to do
> that.  If you can point me to some documentation about writing
> documentation for golang modules then I'll be glad to add it.
>

I think that golang bindings need separate repo, may be autogenerate
bindings and push resulted files to separate github repo.... In this
case peaples can do go get github.com/libguestfs/go-libguestfs and
have a package.  And build it with or without CGO_ENABLED (static or
dynamic). But in case of autogenerated binding i don't know how to
write docs and keep it sync with code...

> (b) In the meantime you can read the C API documentation (in English,
> not Russian -- sorry!)
>
> http://libguestfs.org/guestfs.3.html
>
Not bad.

> and the golang examples:
>
> http://libguestfs.org/guestfs-golang.3.html
>
> and the golang tests:
>
> https://github.com/libguestfs/libguestfs/tree/master/golang/src/libguestfs.org/guestfs
>

Thanks

> (c) In the API you can resize filesystems using calls like
> guestfs_resize2fs / g.Resize2fs and others.  However note that there
> is no single API for doing a virt-resize -like operation.  You have to
> actually call virt-resize if you want to resize a whole OS disk.
>
> Hope that helps, let me know if you have more questions.
>
> Rich.

I'm try to use bindings and have trouble, that if somebody does not
have installed go package with libguestfs i can't build plugin. I'm
switch to use guestfish on golang code. This is sutable for me.


-- 
Vasiliy Tolstov,
e-mail: v.tolstov at selfip.ru
jabber: vase at selfip.ru




More information about the Libguestfs mailing list