We have been focusing on our new virtual machine feature and have added support for
sriov NIC devices using the
vfio-pci kernel module.
We have also added ppc64le VM host support.
The REST API has also gained the ability to do server side filtering of results, for more info on this please see the REST API docs.
There have also been several bug fixes related to the new storage layer.
The AppArmor rules were modified to allow containers running systemd to use the “Project*” features to restrict services running inside the container.
A new container device type
unix-hotplug was added, for more info on this please see the the LXD 3.20 Release Notes.
On the LXC front, a new config key was added
lxc.selinux.context.keyring to allow the SELinux context under which the container’s keyring should be created to be specified. This allows applications inside the container that expect that the keyring is labelled with a certain context to run normally.
On the LXCFS front, an improvement to SWAP accounting was added to better handle conditions where swap usage is reported to be < 0.
Finally, distrobuilder had a fix for Alpine edge images applied that updates the apk repository config inside the containers to target the edge repos.
Part of the #LXD team was attending FOSDEM over the weekend, running the containers devroom and also presenting on a variety of topics:
- Supervising and emulating syscalls (@brauner)
- Running full Linux systems in containers, at scale (@stgraber)
- dqlite: High-availability SQLite (@freeekanayaka)
- LXD for mixed system containers and VM workloads (@stgraber)
Videos are being edited at the moment and are slowly starting to show up on the FOSDEM website.
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
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
- Rework of internal LXD storage handling
- 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.
- lxd: updated dnsmasq and forkdns to use new subprocess module
- VM: Physical PCI passthrough
- doc/instance: Clarifies disk path not available for VMs
- VM: Failed startup cleanup
- Fix request redirect when removing a cluster member
- Storage: Only detect volume.block.filesystem changes on block backed pool FS volumes
- Migration: Adds support for pre-bidirectional negotiation targets
- Doc: Documents which device types can be used with which instance types
- VM: Adds SR-IOV NIC support
- Implement VM rename
- Instance name validation improvements
- VM: Mount VM config vol before generating NVRAM file
- lxd/storage: Pass config when deleting images
- Migration: CRIU rsync features
- Network fixes
- lxd/apparmor: Allow ro,remount,noatime,bind
- lxd/storage/drivers: Pass mountPath to xfs_growfs
- Storage: Fixes concurrent access race to map
- Supporting filtering GET requests for instances and images
- Uevent-based matching for unix-char and unix-block
- VM: forklimits
- VM: forklimits exec
- Default cert addresses & minor fixes
- doc: Add libudev-dev dependency
- Add ppc64le support
- Instance: Common driver and profile device validation support
- VM: Device check improvements
- lxd/vm: Fix bad bus name on ppc64el
- lxd/vm: Don’t specify addresses for pci on ppc64
- Storage: Fixes migrate refresh final sync snapshot bug
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
- Bumped to ZFS 0.8.3
- Bumped to LXD 3.20
- Cherry-picked upstream bugfixes