Weekly status for the week of the 4th to the 10th July.
Introduction
This past week has seen arrival of one our LXD roadmap item features: OVN load balancers, and a fix for a regression in LXD 5.3 that caused a slow down in listing instances (which also impacted instance creation time).
Additionally Dqlite v1.11.0 was also released.
@stgraber has also added a video covering LXD and NVIDIA A100 enterprise GPU passthrough:
https://www.youtube.com/watch?v=T0aV2LsMpoA
LXD
New features:
- Network OVN load balancers. See the specification and documentation for more details.
Bug fixes:
- Fixed a regression in LXD 5.3 that caused a slow down in instance list speed (when listing hundreds of instances). This also impacted instance creation and start speed (because LXD lists instances during these operations for config conflict validation).
- Fixed a regression in LXD 5.3 that prevented copying an instance that specified a root disk
size
property to the same storage pool, and added tests to catch future regression around this behaviour. - Fixed a regression in LXD 5.3 VM template generation that was preventing certain CPU core settings from being used.
- Fixed a regression in LXD 5.3 that was causing a 30s delay when removing a
disk
device from a running instance. This was caused by an operation locking conflict when cleaning up the disk’s path inside the instance. - Added support for handling invalid VPD lengths in the resources API.
- Fixed incorrect error fields in swagger documentation.
- Fixed an issue that was causing the vsock channel between LXD and VM
lxd-agent
s to be double TLS encrypted. As well as performance improvements associated with the reduction in encryption overhead, this was also causing problems with the ongoing bidirection vsock project.
LXC
Bug fixes:
- Fixed uninitialized read in parse_cap when libcap is not used.
- Fixed an off-by-one issue in mount options parsing.
- Additional meson build fixes.
LXCFS
Bug fixes:
- Fixed 2 issues with
/sys/devices/system/cpu
emulation. - Reinitialize the fuse library after reload.
Distrobuilder
Improvements:
- Validate mirror URLs for OpenSUSE.
Dqlite (RAFT library)
New features:
- Adds support for async snapshots, which will be used with the forthcoming disk only functionality.
YouTube videos
The LXD team is running a YouTube channel with live streams covering LXD releases and weekly videos on different aspects of LXD. You may want to give it a watch and/or subscribe for more content in the coming weeks.
https://www.youtube.com/lxd-videos
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 planned currently.
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.
- Stable release work for LXC, LXCFS and LXD
- [LXD] Bidirectional vsock interface for VMs
- [LXD] Object storage (S3 API)
- Dqlite disk-only operation mode
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
- Network: OVN load balancers
- Test: Add tests for passing unix character devices as disks into a container
- workflows/static-analysis: Download but do not update dependencies.
- DB: Optimise query pattern for InstanceList
- Update for current candid
- lxd/resources: Handle invalid VPD lengths
- Fix incorrect error fields in swagger
- Storage: Fix instance root disk volume config overrides leak volume DB record error
- lxd/instance/qemu: Fix qemuCPU template broken numa section
- Don’t double TLS connections between LXD and agent
- Instance: Don’t wait for update operation to complete when removing disk from running container
- Instance: Revert InstanceList selective config loading optimisation
- Upgrades shellcheck to version 0.8.0
LXC
- Fix uninitialized read in parse_cap when libcap is not used
- Fix errors constructing mount string when extra mount options supplied
- meson: add remaining still-in-use config checks
LXCFS
- cgroup v2: /sys/devices/system/cpu/online returns zero
- re-initialize library after reload
- replace opathdir with opendir_flags
- Complete Github Actions migration
Distrobuilder
Dqlite (RAFT library)
Dqlite (database)
Dqlite (Go bindings)
- Nothing to report this week
LXD Charm
- 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.
Ubuntu
- Nothing to report this week
Snap
- criu: Bump to 3.17.1
- libnftnl: Bump to 1.2.2
- libtpms: Bump to 0.9.5
- liburing: Bump to 2.2
- nftables: Bump to 1.0.4
- libnvidia-container: Bump to v1.10.0
- ovs: Bump to 2.17.2
- ovn: Bump to 22.06.0
- sqlite: Bump to 3.39.0
- zfs: Bump to 2.1.5
- lxd: Cherry-pick upstream bugfixes
- ovs: Backport idl write-only for OVN