Comment 0 for bug 1647017

Revision history for this message
Stéphane Graber (stgraber) wrote :

go-lxc is used by LXD as the way to interact with liblxc.
As a result, upstream changes for it are usually restricted to bugfixes or minor improvements (for things like CRIU support). To make our lives easier, we like to keep go-lxc in sync in all supported Ubuntu releases to match the LXC version that we also keep in sync there.

To do so, we need to SRU a new version of go-lxc to xenial and yakkety, with the following upstream changelog:
 - bindings C: check for LXC_DEVEL in version.h file
 - bindings go: check for LXC_DEVEL in version.h
 - lxc-binding: add binding for c->attach()
 - container: add RunCommandNoWait()
 - lxc_test: add test for RunCommandNoWait()
 - Move LXC_DEVEL define to after version.h include
 - c/r: make sure container is running before doing a dump
 - container, error: return correct error
 - Fix TestRunCommandNoWait failure
 - tests: Skip architecture test on !x86
 - tests: Make skip messages consistent
 - Run "go fmt"

The xenial SRU will not require any extra work. The next LXD upload will simply pick up the new go-lxc at build time.

For the yakkety SRU, we will need to upload a no change rebuild of LXD to build against the new go-lxc and we'll need them both to be released at the same time. That's because of the addition of the "attach()" function which changes the Go shared library hash.