Weekly status for the week of the 6th of February to the 12th of February 2018.
Introduction
A lot happened this past week. @brauner is making great progress cleaning everything up in liblxc and related projects ahead of the 3.0 release, @freeekanayaka has been sorting out the last few missing bits for LXD clustering and @monstermunchkin has been busy working on our new distrobuilder tool!
On top of all that, we’ve landed a variety of smaller features in LXD based on past user requests. This includes support for retrieving symlinks, setting a custom gateway IP address on a LXD network, retrieving the list of DHCP leases through the API, a new subcommand to manage client aliases, a new subcommand to override a device coming through a profile and an option to get prettier log output through lxc monitor
.
We’ve also fixed numerous issues and done a number of tweaks to our snap package.
At the request of some users, we’re now including nano as an alternative to vim.
Image updates now benefit from delta transfers and we’ve added a number of new debug subcommands and other small improvements.
The recordings of all our talks at FOSDEM 2018 are also available online now so you may want to check that out!
Upcoming conferences and events
- GPU technology conference (San Jose, March 2018)
- NorthSec (Montreal, May 2018)
Ongoing projects
The list below is feature or refactoring work which will span several weeks/months and can’t be tied directly to a single Github issue or pull request.
- Distributed database for LXD clustering
- New image generation tool for LXC/LXD
- Various kernel work
- Stable release work for LXC, LXCFS and LXD
Upstream changes
The items listed below are highlights of the work which happened upstream over the past week and which will be included in the next release.
LXD
- Implemented retrieving symlinks over file API.
- Added a new ipv4.dhcp.gateway option to networks.
- Fixed a typo in the lxc storage help.
- Added a new API endpoint to retrieve the list of DHCP leases.
- Added a new
lxc alias
subcommand. - Added a pretty rendering mode to
lxc monitor
. - Extended the user agent to include the list of storage backends in use.
- Fixed handling of
--version
inlxc
. - Added a new
lxc config device override
subcommand. - Switched the testsuite to using lxc.apparmor.profile.
- Made the testsuite backward compatible with LXD 2.0.x.
LXC
- Updated the tools to only use public symbols.
- Added new lxc.namespace configuration keys.
- Fixed logic for unprivileged containers in lxc-ls.
- Fixed remount flags in cgfsng.
- Fixed broken network in nested LXC containers.
- Fixed cgroup namespace detection.
- Fixed a number of issues reported through coverity.
- Fixed error handling in userns helper.
- Fixed clearing of cgroup settings.
- Dropped some unnecessary locking around our console handling code.
- Removed some legacy (pre-3.0) codepaths and options.
- Fixed a hang in lxc-console.
- Tweaked the .gitignore.
- Removed the atfork handlers.
LXCFS
- Nothing to report
Distribution work
This section is used to track the work done in downstream Linux distributions to ship the latest LXC, LXD and LXCFS as well as work to get various software to work properly inside containers.
Ubuntu
- LXD 2.21-0ubuntu3 was backported to Ubuntu 16.04 and Ubuntu 17.10.
Snap
- Added support for older resolvconf DNS setups
- Fixed ZFS build on ppc64el
- Improved checks for running LXD processes
- Moved our built-in vim copy to its own part
- Added nano as an alternative editor
- Added support for /var/lib/lxd being a mount (in lxd.migrate)
- Bumped Go to 1.9.4
- Made it possible to override the
lxc
binary with a debug binary - Added xdelta3 to the snap
- Added sqlite3 to the snap with a lxd.database subcommand
- Fixed lxd.check-kernel
- Tweaked permissions on the LXD daemon directory
- Improved the kmod wrapper
- Fixed ZFS version detection for those having it built into their kernels