Weekly status #143

Weekly status for the week of the 6th April to the 12th of April.


The highlight of last week was the release of LXCFS 4.0.2 LTS.

On the LXD front the past week has been focused on improvements and bug fixes.

The operating system information is now available in the resources API.
The lxc CLI tool now sorts using natural sorting order.

LXD Storage:
We now create any missing snapshot mount directories before attempting to mount. Whilst the new storage layer creates these directories at snapshot create time, the old storage layer did not and so this caused issues when trying to mount old snapshots, such as when doing a restore or backup operation.

For LVM pools using a loop file, we now activate all of the volumes in the pool when mounting the pool. We previously did this just for normal non-loop volume groups, however this caused issues when using LVM loop pools inside the SNAP package.

We have improved our snapshot usage feature, making the reported values more consistent across the different storage drivers.

For directory pools where project quotas were supported, new volumes were having a default quota of 10GB enforced. This has now been removed as non-block storage drivers do not have any default quota.

For ZFS pools, we now ignore any .zfs directories and consider the directory empty still. This prevents failed starts when the snapdir=visible setting is enabled.

An issue with snapshot migration when upgrading LXD has been fixed.

LXD Cluster:
A recovery command to remove leftover raft node has been added.

LXD Network:
Improvements for validation of sysctl settings when using routed with VLAN have been added so that the sysctl settings on the VLAN interface rather than the parent interface are checked.

Support for Intel i350 cards and newer versions of the ip tool have been added when using SR-IOV virtual functions.

We now push any custom MTU settings from managed networks in the DHCP response to the instances.

The Managed field in the NetworksPost structure has been removed, as this field was never modifiable from the API.

We have added documentation for getting LXD to work with default firewalld configuration in Fedora.

An issue preventing migration of VMs with snapshots when using the ZFS storage driver has been fixed. And improvements to the cleanup procedure when a migration fails have been added to prevent lock ups.

On the LXC front and issue that prevented IPVLAN Layer 2 mode working has been fixed. In addition to that there was an improvement added to lxc-user-nic to allow it to run when the group name was not found. There was also several cgroup improvements added to better support cgroupv2 systems.

An improvement to the way LXCFS reads /proc/meminfo has been added to avoid reading the wrong value when two values have the same prefix.

The LXD snap has been refreshed quite a few times with cherry-picked bugfixes from LXC, LXCFS and LXD as well as seen updates to fix some longstanding issues including lxd.migrate hanging, cleanup of the lxcfs mount namespace, better process tracking as well as adding a number of utilities.

The LXD snap is also being transitioned from core to core18, replacing its old 16.04 based with an 18.04 one.

Contribute to LXD

Ever wanted to contribute to LXD but not sure where to start?
We’ve recently gone through some effort to properly tag issues suitable for new contributors on Github: https://github.com/lxc/lxd/labels/Easy

You can also find a slightly longer, more detailed list here: Contributing to LXD

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.

  • Virtual machine support
  • Distrobuilder virtual machine support
  • Storage database cleanup/rework
  • 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.





  • 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.


  • Nothing to report this week


  • Updated LXC to 4.0.1
  • Updated LXCFS to 4.0.2
  • Cherry-picked LXC bugfixes
  • Cherry-picked LXD bugfixes
  • Cherry-picked LXCFS bugfixes
  • Added a removal hook to cleanup broken systems
  • Added logic to cleanup the LXCFS mount namespace
  • Fixed bad library path on armhf
  • Added a lxcfs.pidfd config option
  • Added qemu VGA bios and keymaps
  • Added the iw command for Wifi device passthrough
  • Fixed cleanup logic in lxd.migrate to deal with hangs on package removal
  • Switched candidate to core18