Bug 1814538 - [RFE] Add Golang bindings for libnbd
Summary: [RFE] Add Golang bindings for libnbd
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libnbd
Version: 8.1
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: 8.0
Assignee: Richard W.M. Jones
QA Contact: liuzi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-03-18 07:28 UTC by Fabien Dupont
Modified: 2020-11-14 04:42 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-04-06 11:03:46 UTC
Type: Feature Request
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Fabien Dupont 2020-03-18 07:28:37 UTC
Description of problem:

We would like to use libnbd in an Kubernetes operator written in Golang. So, we would need bindings to use libnbd natively.

Comment 1 Richard W.M. Jones 2020-03-18 09:36:32 UTC
Preliminary patches were posted upstream, but they still need a bit of work:

https://www.redhat.com/archives/libguestfs/2020-March/msg00170.html

Comment 2 Richard W.M. Jones 2020-03-24 13:40:23 UTC
v3 posted:
https://www.redhat.com/archives/libguestfs/2020-March/msg00220.html

Generated bindings here:
http://oirase.annexia.org/tmp/libnbd-go/

Comment 4 Richard W.M. Jones 2020-04-01 12:48:44 UTC
Full list of commits required is:
https://github.com/libguestfs/libnbd/commit/cb2121683f38332390ac938eb28d9c79a7aea602
https://github.com/libguestfs/libnbd/commit/460f4fb3a2ed0d937b66383dd2afb599ed39742f

For RHEL AV I don't believe there is a way to package these bindings.
What I anticipate will happen (but don't approve) is that anyone using
these bindings will need to copy out the golang/src/ directory from
the libnbd sources.

[*VERY IMPORTANT NOTE* You MUST do this after compiling libnbd, since
most files in this directory are generated.  Just copying it from git
will NOT WORK.]

They will then bundle the bindings with their package.  It will be
compiled and linked statically into their final program (that is,
the golang bindings of libnbd, not libnbd itself).

As a result I don't think there's anything else we need to do on this
bug, and we can now close it.

Comment 5 Richard W.M. Jones 2020-04-06 11:03:46 UTC
Closing per comment 4.  It is assumed that the bindings will be
distributed ("vendored") in the package which consumes them.


Note You need to log in before you can comment on or make changes to this bug.