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.
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: oWait failure
- 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 TestRunCommandN
- 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.