Weekly status for the week of the 16th of November to the 22nd of November.
Introduction
This past week has continued our focus on fixing storage related bugs, however LXD also gained support for GPU passthrough for virtual machines.
LXD
LXD gained support for GPU passthrough for VMs (both physical and mediated device modes via a new device sub-type which can be specified using the gputype
config key). Please see https://linuxcontainers.org/lxd/docs/master/instances#type-gpu for more info.
Related to mediated GPU devices, additional information about available devices has been added to the lxc info
command.
Virtual machine instances now always display their disk usage when running lxc info <instance>
even if they are stopped.
On the networking side, continuing on from last week’s addition of the volatile.uuid
instance key, which stores a persistent unique UUID for each instance that will remain the same even after an lxd import
, we are now using this UUID to generate the OVN logical switch port names rather than using the instance’s DB ID. This way even an instance with an OVN NIC is imported using lxd import
while running (causing the DB ID to change) when the instance is stopped the OVN logical switch port will still be cleanly removed from the OVN Northbound database.
We have also fixed an issue that was reported when using SR-IOV NIC devices with the Broadcom bnx2x
driver. This was because the driver apparently does not allow resetting the virtual function’s assigned MAC address to zero (which some SR-IOV drivers do require before the VF can have MAC filtering disabled).
On the storage side we continue our focus on fixing storage bugs, this past week the following issues have been fixed:
- Fixed a regression in the volume migration that was not maintaining quotas in the target.
- Fixed an issue that prevented migration of an instance that had a snapshot with a disk device that could not be validated on the target because the source directory was missing on the target.
- Custom block volumes on Ceph or LVM storage pools were being erroneously created with filesystem related default settings (specifically
block.filesystem
andblock.mount_options
). These were unused, but were causing validation to fail when editing the custom block volume (e.g. to resize it) because validation was correctly detecting these keys were inappropriate for the volume’s content type. The fix for existing volumes is to remove the offending keys, and new volumes will no longer have them added. - Profile changes are now applied to affected VMs (if possible) and for disk resizes where online resize is not supported, we have added support for next-boot deferred resize (like containers have).
LXC
An issue that prevented using lxc-wait
on a yet to be running container has now been fixed.
Also an issue preventing container start on Linux 5.10.0-rc3 due to being unable to read /proc/self/mountinfo
using sendfile
has been fixed.
Distrobuilder
An issue preventing lxd-agent
start in OpenRC based distros has been fixed.
Youtube channel
We’ve started a Youtube channel with a couple of live streams so far.
You may want to give it a watch and/or subscribe for more content in the coming weeks.
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
- Nothing to report this week
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.
- Distrobuilder Windows support
- Virtual networks in 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
- Support virtual GPUs
- Storage: Fixes migration quota and invalid disk device migration issue
- Storage: Support profile updates for VMs
- Network: Don’t fail when resetting SRIOV VF MAC to 00:00:00:00:00:00
- Extend mdev details in info
- lxd/device/disk: Ignore ErrNotRunning for virtfs-proxy-helper
- Storage: Adds per-driver volume default settings
- Network: Use Instance UUID for generating OVN logical switch port names
- Storage: Adds custom content type for mount refcount tracking
- Support zstd compression.
- lxd/instance/qemu: Always render disk
LXC
- conf: improve mountinfo and config parsing
- file_utils: fix config file parsing
- commands_utils: fix lxc-wait
- doc: Add lxc.cgroup.dir.monitor.pivot to Japanese man page
LXCFS
- Nothing to report this week
Distrobuilder
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
- Nothing to report this week