Weekly status for the week of the 23rd May to the 29th May.
Introduction
The highlight of the past week was the release of LXD 5.2.
Please see the LXD release notes and live stream for more details:
https://www.youtube.com/watch?v=Bi5ITwZedOs
We have also been focusing on reducing our issues backlog and our ongoing roadmap projects, including one of our roadmap items to add HTTP streaming support to the devlxd notification API (which was requested by the cloud-init team).
LXD
New features:
- This adds http streaming support to the
/1.0/events
endpoint of devlxd. Clients can be notified about events without having to use websockets.
Improvements:
- Ongoing work to refactor the VM QEMU config file to make the generation process clearer and more testable.
- Added multi-hop support to the LXD BGP router exporter. This allows the upstream router to be more than 1 network hop away from the LXD server.
- Database performance optimizations by reducing the amount of queries run.
Bug fixes:
- Fixed an issue when copying instances and custom volumes to a different storage pool where the source volume config options were not used when mounting the volume on the source to send and thus if the source volume had config that was required for mounting (such as
block.filesystem
) then the migration couldn’t proceed. - Fixed an issue that prevented custom volume snapshot config from being copied when copying to a different storage pool.
- Fixed an issue that was preventing
--allow-inconsistent
option from working when doing instance refresh on same storage pool. - Add
mknod
capability to the image unpack AppArmor profile as this is needed for the official Ubuntu images now. - Disable IPv6 on
bridge
networks when noipv6.address
setting is specified, to disable the link-local automatic address from being added to it. - Handle ethtool not supported errors in resources API.
- Fixed an issue when copying profiles between projects.
- Fixed an issue with
forkfile
idle cleanup when transferring a large number of files.
LXCFS
Bug fixes:
- Correct file size of /sys/devices/system/cpu/online
Distrobuilder
Improvements:
- Switch to use
qcow2-v3
format for VM images (this is the default since QEMU 1.7).
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
- Convert LXC to use meson build system
- [LXD] Bidirectional vsock interface for VMs
- 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
- cloud-init notification API
- Storage: Add migration index header in order to send full volume and volume snapshot info
- Instance: Refactor config generation (qemuBase)
- Allow inconsistent not working with refresh on the same storage pool.
- lxd/bgp: Enable multihop
- doc: move storage content to different files
- doc: add a link to the YouTube video on BGP
- lxd/apparmor: Add mknod cap to archive
- lxd/instance/qemu: Fix some variable names to match code style
- Database performance fixes
- Quick fixes to storage docs
- lxd/network: Disable IPv6 on bridges with no IPv6 address
- Optimize snapshot expiry
- Optimize automatic custom volume snapshots
- lxd/resources: Handle ethtool not supported
- Fix issue with image profiles during copy
- Fix bad profile copy handling
- lxd/main_forkfile: Change counting model
LXC
LXCFS
- sysfs: correct file size of /sys/devices/system/cpu/online.
- sysfs: cleanup sys_devices_system_cpu_online_getsize
Distrobuilder
Dqlite (RAFT library)
- Nothing to report this week
Dqlite (database)
- Nothing to report this week
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
- lxd: Bump to 5.2
- criu: Bump to 3.17
- libmnl: Bump to 1.0.5
- seccomp: Bump to 2.5.4
- libtpms: Bump to 0.9.4
- libusb: Bump to 1.0.26
- swtpm: Bump to 0.7.3
- qemu: Bump to 7.0.0
- sqlite: Bump to 3.38.5
- lxd: Cherry-pick upstream bugfixes