Weekly status for the week of the 14th November to the 20th November.
Introduction
The highlight of the past week was the release of LXD 5.8. This release includes VM CPU hotplugging support, device override on init and launch, creation dates for custom volumes and several bug fixes and performance improvements. Please see the release notes and release video (below) for more details.
https://www.youtube.com/watch?v=PFxAj6z27Vc
Running LXD in production
Additionally @stgraber has added a video on running LXD in production.
It covers host configuration, LXD configuration, firewalling and monitoring:
https://www.youtube.com/watch?v=QyXOOE_4cm0
LXD
New features:
- Added support for VM CPU hotplugging. See LXD 5.8 release notes for more details.
- Added support to the
lxc
command for overriding devices on instance init or launch.
See LXD 5.8 release notes for more details.
Improvements:
- Added creation date time field to custom volumes and snapshots. Not only is this useful information to know in its own right, it also improves storage volume copying in refresh mode as it is now better able to detect when a snapshot has changed between source and target. See LXD 5.8 release notes for more details.
- When shutting down LXD any running instances are stopped concurrently. Previously this concurrency was unbounded and could cause resource exhaustion on the host if there were many running instances. Now this concurrency has been limited to the number of CPU cores on the host.
Bug fixes:
- Increased the default TCP user timeout from 30 seconds to 2 minutes to improve resilience of instance and custom volume transfers over WAN connections.
- When deleting an image volume from a storage pool, the storage subsystem no longer relies on loading the image record in order to ascertain its type. It now relies on the storage volume’s own record type. This improves resilience in cases where the image record has been inadvertently removed.
- Adds NIC MAC address
hwaddr
field to the/dev/lxd
/1.0/devices
endpoint to allow cloud-init to identify NICs in VMs because the NIC device’s interface name is not applied to VMs. - Fixed missing
instance-shutdown
lifecycle event for container initiated shutdown. - Fixed attaching
cephfs
custom storage volumes to VMs. - Fixed copying custom storage volumes to remote machine from a cluster member.
- Allows ZFS block volumes to use storage pool’s
zfs.blocksize
setting.
LXCFS
Bug fixes:
- Fixed build on ia64.
Distrobuilder
Improvements:
- Added support for Springdale Linux 9.
Bug fixes:
- Revert dropping
luet
package manager as Luet is used by Funtoo Macaroni OS. - Masks the
systemd-binfmt.service
as it fails for containers.
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
- FOSDEM 2023 4th-5th February 2023. See FOSDEM 2023 containers devroom: Call for papers
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
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
- Enable CPU hot-(un)plugging for VMs
- build(deps): bump actions/dependency-review-action from 2 to 3
- lxd: Limit shutdown concurrency to number of instances or number of CPU cores (which ever is less).
- doc/instances: add example for filtering by location
- shared: Increase default TCP user timeout from 30 seconds to 2 minutes
- Storage: Update DeleteImage to not use GetImageFromAnyProject
- acme: Switch to github.com/go-acme/lego/v4
- devlxd: Add volatile NIC hwaddr to devices output
- doc/security: add YouTube link
- Instance: Fixes missing container initiated instance-shutdown lifecycle event
- Storage: Consider custom volume snapshot creation date when refreshing
- test: Reduce “shellcheck disable=SC2034” usage
- Device: Fix attaching cephfs disk volumes to VMs
- lxc: Fix copying storage volume to remote from cluster member
- Storage: Allow ZFS block volumes to use pool’s zfs.blocksize setting
LXC
- Nothing to report this week
LXCFS
Distrobuilder
- Revert “managers: Drop luet”
- sources: Support Springdale Linux 9
- systemd: Mask systemd-binfmt.service
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.8
- lxd: Cherry-pick upstream bugfixes