Weekly status for the week of 31st March to 6th April.
Introduction
In the past week, LXD received several bug fixes. Highlights include improved shutdown logic, better snapshot handling, and support for downgrades within point releases of an LXD LTS series.
Bug Fixes
-
Improved instance shutdown to respect priority order while ensuring long-running operations like backups or snapshots no longer block or delay shutdown completion.
-
Fixed an issue where the proxy device disconnected too early, causing incomplete input processing by the reader.
-
Fixed incorrect unmount behavior when deleting a snapshot of a running instance, which caused premature volume group deactivation and misidentified in-use volumes as safe to remove.
-
Fixed an issue where instance profile changes were not applied to snapshots when copying or moving an instance. Snapshots now inherit updated profiles.
-
Fixed an issue where VM memory was always allocated from NUMA node 0 when using
limits.cpu.nodes
without CPU pinning. Now, NUMA node assignments are correctly applied even with a simple CPU count. -
Fixed an issue where copying snapshots between servers failed due to mismatched device properties. Snapshot device validation is now skipped to allow the copy, enabling manual device adjustment afterward. (from Incus)
-
Fixed a network boot order, to first start the non-dependent networks, and networks that depend on physical interfaces.
-
Fixed an issue where downgraded cluster members with newer API extensions failed to update the global DB, preventing cluster from becoming operational even after all members were downgraded.
LXD UI
- Added support for network ACL management.
LXD images
Changes on images:
simplestream remote:
- Fixed
voidlinux
shutdown by ensuring the file/etc/runit/stopit
exists on each boot.
All changes
The items listed below is all of the work which happened over the past week and which will be included in the next release.
LXD
- lxd: Make the LXD shutdown sequence more concurrent to avoid long-running operations blocking unrelated instances shutdown
- forkproxy: proxy device early disconnect fix
- docs: add scripted grafana setup WD-20339
- LVM: Fix ref count inconsistency
- Apply instance profiles to snapshots with --profile as well
- VM: Fix NUMA node binding when using CPU count without pinning
- build(deps): bump github/codeql-action from 3.28.12 to 3.28.13
- build(deps): bump github.com/pkg/sftp from 1.13.7 to 1.13.9 (stable-5.0)
- build(deps): bump github/codeql-action from 3.28.12 to 3.28.13
- gomod: Update dependencies
- Pre- instance-placement fixes
- lxd/storage/drivers/zfs: suggest
zfs.external
if in snap and ZFS tools are missing - github: Update issue template forms
- doc: add google analytics consent cookie banner
- lxd/instance: Don’t enforce device/config validation on snapshots (from Incus)
- Device: Update GPU CDI support for Ubuntu Core: add mesa-2404 contents to config search paths
- gomod: Update deps (stable-5.21)
- lxd: Logging improvements for
instancesShutdown
- test/suites/backup: On cephfs add sync calls after
file push
- Makefile: add
update-godeps
target - Network: Improve network priority during network startup
- Cluster: Support downgrades within point releases of an LXD LTS series
- github: enable code coverage for client tests
- doc: hard code link titles (stable-5.0)
LXD UI
- Ensure instances in foreign projects are shown with project in the network topology. Avoid mixup of projects for instance metrics.
- feat: [WD-19726] TLS Identity creation with groups
- network forwards for bridged networks in clustered backends
- chore(deps): update dependency vite to v6.2.4 [security]
- feat(acl) add network acl management
- feat(permissions) always show permissions in side navigation if lxd supports it
- chore(tests) disable tracing on login
- fix(group) allow to add permissions when creating a group
- chore(deps): update dependency vite to v6.2.5 [security]
LXD Charm
- Nothing to report this week
LXD Terraform provider
PyLXD
- build(deps): bump github/codeql-action from 3.28.12 to 3.28.13
- build(deps): bump actions/setup-python from 5.4.0 to 5.5.0
- pylxd/models: remove unneeded global specifier