Weekly status for the week of the 4th May to the 10th of May.
The highlight of the past week was the release of LXD 4.1 which is the first feature release since our 4.0 LTS series.
As such most of the changes that occurred this week are included in the LXD 4.1 release.
We have been focusing on storage layer improvements and database function consistency cleanups.
On the storage front several edge case issues have been fixed:
- When using custom volumes on a
btrfsstorage pool, if the permissions on the root directory of the volume were changed inside the container then on container restart these permissions would be reset to the safe defaults. The permissions are now not reset on restart.
- Migrating containers on a
btrfsstorage pool that contain subvolumes is now supported (this includes copying/moving containers between BTRFS storage pools on the same node). This is the first part of a series of planned improvements to better support BTRFS subvolumes inside containers.
- On ZFS storage pools, we now use our internal
TryUnmountfunction rather than using
zfs unmountwhich retries the unmount several times to try and workaround kernel issues that prevent ZFS volumes from being unmounted immediately after instance stop in some circumstances.
- We now try to detect if the LXD directory is being stored on a mount that has the
nodevmount option enabled, and if so we return an error to the user when trying to add unix devices to containers.
The resources API has seen several improvements:
- Added support for
ETHTOOL_GLINKSETTINGSto expose additional link speeds and modes.
- Skip NVME multipath entries as we only care about the main mode.
On the LXC front, a new function
userns_exec_mapped_root was introduced to allow executing commands in a user namespace without incurring the overhead of using
lxc-usernsexec. And additional compiler hardening options were added.
LXCFS saw a fix for parsing the
cpuacct.usage_all cgroup options.
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: Easy issues for new contributors
- Container Camp
Open Source Summit - North America
- Dates: June 29 - July 2
- Location: online event
- Attendees: @brauner @stgraber
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
- Various kernel work
- Stable release work for LXC, LXCFS and LXD
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.
- Consider all nodes when looking for the leader, not only voters
- Cleanup db function names (part 3)
- lxd/daemon: Detect nodev and improve errors
- Rename db function names (part 4)
- Storage: ZFS migration improvement
- Storage: Don’t reset custom volume root permissions on mount for DIR and BTRFS
- Storage: Removes Volume.keepDevice and updates Ceph to support shrink without it
- lxd/resources: Skip NVME multipath entries
- Rename db function names part 5
- Storage: BTRFS subvolume migration support
- lxd/storage/zfs: Use TryUnmount
- Support two-phase creation of a storage pool on single-node cluster
- Storage: Removes readonly option from snapshotSubvolume()
- ethtool: resources/ethtool: implement ETHTOOL_GLINKSETTINGS
- Rename db function names part 6
- client/lxd_images: Fix backward compatibility
- lxd/storage/btrfs: Fix migration from snapshot
- Database logic cleanup (part 1)
- shared: Rewrite OpenPty without cgo
- openpty: fixes + tweaks
- conf: introduce userns_exec_mapped_root()
- terminal: remove unneeded if condition
- compiler: more hardening
- Nothing to report this week
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
- Setup the 4.0 branches as independent from latest
- Added /etc/pki for RedHat systems
- Added s390x qemu
- Bumped CRIU to 3.14
- Cherry-picked lxc bugfixes
- Bumped to LXD 4.1