Weekly status for the week of the 15th of June to the 21st of June.
Introduction
The highlight of the past week was the release of LXCFS 4.0.4 which is the fourth bugfix release for LXCFS 4.0 which is supported until June 2025.
In addition to this the LXC and LXD codebases were updated to remove the needless use of terms like master/slave in favor of parent/pts/ptmx when not part of a publicly exposed API. There are some more cases that we’re planning on addressing but those may need backward compatibility logic to properly handle. We’re also keeping an eye on our upstream dependencies for their own effort in this area and hope to be able to propagate such changes down the chain.
LXD
The GPU passthrough feature added 2 weeks ago has seen some improvements in the past week. We are now detecting whether the GPU on the host supports VGA mode on x86_64 systems, and if so we pass that functionality through into the VM guest. For other architectures or if the host device does not have VGA mode, we just pass through the PCI device without it.
There have also been some improvements to the 9p directory passthrough feature for VMs. In order to support automatic mounting of the directories using the lxd-agent
on more distros we are now explicitly passing the trans=virtio
mount argument. Additionally an issue that meant that relatively mount paths were not working for 9p shares has been fixed.
When starting (or restarting) instances you can now jump directly into the console using the new --console
argument, which can be useful when trying to get into the BIOS on VMs or observing early boot messages.
lxc start <instance> --console
LXD Projects now support clearing config keys, and the default project has the storage.volumes
feature added to it.
An intermittent race condition in the cluster heartbeat code was fixed which was detected in our test system.
The LXD API has seen some clean up with work on the UsedBy
key logic to ensure that the output of the resources using another resource is correct and consistent.
An improvement to the resources API to be more flexible when detecting PCI devices has been added to better support some ARM platforms.
A check has been added to the lxc query
command to ensure the path supplied is an absolute path (i.e it starts with a /
).
Distrobuilder
An issue with importing GPG keys when using non-English locales has been fixed.
The OpenSUSE x86 source tarball downloads and the CentOS CHECKSUM source file name has been fixed.
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
Upcoming events
- Open Source Summit - North America
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 Windows support
- 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
- Project config fixes
- VM: GPU VGA mode passthrough from host
- Storage: ZFS Remove snapshot when migrating as main volume
- Cluster: Fix race in HeartbeatNode
- Implement
lxc start --console
- VM: Only enable GPU vga mode on x86_64 systems
- Isolated CPUs in resources API
- Fix UsedBy on storage-pools
- VM: Adds trans=virtio to 9p mounts
- lxc/action: Also add --console to restart
- lxd/resources/net: More flexible PCI detection
- Add path check to
lxc query
- UsedBy consistency
- VM agent: Fix 9p mount when relative target path is supplied
- test: Updates udhcpd args to ensure process quits one lease acquired
- util_linux: update terminology
LXC
LXCFS
- Nothing to report this week
Distrobuilder
- sources/opensuse: Fix x86 tarballs
- sources/centos: Fix CentOS 8 checksum file
- chroot: Resolve parent directory symlinks
- shared/util: Fix locale when importing GPG keys
- shared/chroot: Fix parent directory symlink again
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
- Nothing to report this week
Snap
- Cherry-picked LXD bugfixes
- Cherry-picked LXC bugfixes
- Updated to LXCFS 4.0.4