LXD Weekly Status #28
Stéphane Graber
on 18 December 2017
Tags: containers , LXC , LXD , machine containers , system containers
Introduction
This is our last status update before we break for the holidays.
On the LXD side of things, this past week saw the inclusion of a couple of minor features (--all
flag and boot.stop.priority
option) and quite a few bugfixes.
In low level LXC, a lot of changes have been going on to improve handling of application containers, including namespace sharing, improved hook handling, improved CRIU integration and new configuration keys to configure container sysctl keys and the out of memory killer.
LXD 2.21 is schedule to be tagged tomorrow and we expect it to roll-out to most users before the end of year. This should be a pretty exciting release!
We’d also like to remind our PPA users that they need to switch to the LXD snap or to one of the in-archive LXD backports as we’ll be removing the LXD PPAs at the end of the year.
Upcoming conferences and events
- FOSDEM 2018 (Brussels, February 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.
- New “proxy” device type for network forwarding in LXD
- Extend the /dev/lxd interface for LXD containers
- MAAS network integration in LXD
- Distributed database for LXD clustering
- 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
- Added a new boot.stop.priority configuration key to control shutdown ordering.
- Fixed the mountpoint detection to deal with symlinks.
- Added a new
--all
option to thelxc start/stop/restart/pause
commands. - Fixed macOS testing on Travis.
- Fixed a race condition in the shutdown code.
- Improved storage driver list and version caching.
- Fixed the first-run detection code to check for the config file rather than directory.
- Added some error reporting to the container autostart code.
LXC
- Added a new
--share-NS
set of options tolxc-execute
. - Added a new set of
lxc.sysctl
config keys. - Added a new option to configure the OOM killer.
- Fixed a bunch of Coverity discovered issues.
- Fixed a few bugs in the legacy network config parser.
- Improved handling of clone() in namespace sharing.
- Fixed out of bounds copy issues with the overlay storage driver.
- Improved hook handling to reduce the number of spawned processes.
- Fixed network interface detach with unprivileged containers.
- Added a new
lxc.hook.version
key to control hook argument behavior. - Fixed fd handling during start to not always dup stdin/stdout/stderr.
- Fixed cgroup namespace preservation.
- Added a new
relative
mount option for relative source paths. - Changed run_command() to make use of lxc_raw_clone().
- Added support for CRIU feature availability checks.
- Fixed directory detection code to show a warning on permission problems.
- Fixed a race condition in the command socket open/close handling.
- Fixed cgroup parsing in lxc_init.
- Fixed reaping of intermediary processes during start.
LXCFS
- Nothing to report this week
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.0.11 has been made available to all Ubuntu 14.04 LTS and 16.04 LTS users.
Snap
- Nothing to report this week
Ubuntu cloud
Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.
Newsletter signup
Related posts
What are Linux containers?
This blog explains what are Linux containers, how they differ from application containers, and when should you use them.
Implementing an Android™ based cloud game streaming service with Anbox Cloud
Since the outset, Anbox Cloud was developed with a variety of use cases for running Android at scale. Cloud gaming, more specifically for casual games as...
Containerization vs. Virtualization : understand the differences
Containerization vs. Virtualization : understand the differences and benefits of each approach, as well as connections to cloud computing.