Weekly status for the week of 19th May to 25th May.
Introduction
This past week, LXD received several bug fixes and a quality-of-life feature that optionally waits for networks and storage pools to be ready, in addition to LXD being ready to process requests.
Thanks to all the contributors!
New options for LXD readiness check
The lxd waitready
command, which waits for LXD to become operational, has been extended with new options. It can now wait for all network and/or storage pools to be fully ready, ensuring your scripts interact with LXD only when it’s in the expected state.
lxd waitready --network # Wait for all networks to be ready
lxd waitready --storage # Wait for all storage pools to be ready
lxd waitready --network --storage # Wait for both networks and storage pools to be ready
Bug Fixes
- Fixed an issue where custom storage bucket configuration was not applied during bucket activation resulting in failed volume mount.
- Improved ETag mismatch error message with guidance for resolution.
- Fixed an issue where LXD would inconsistently allow the same physical interface to be used by multiple managed networks on a cluster member. LXD now properly validates interface usage across all members to prevent conflicts.
- Fixed an issue where unprivileged whiteout creation was blocked in nested user namespaces when using the syscall interception feature. LXD now mirrors the expected kernel behavior to allow this operation.
LXD UI
- The UI now supports creation and editing of
cephobject
storage pools.
LXD images
Changes on images:
simplestream remote:
- Added
Mint Xia
- Removed
Mint Una
(EOL in April 2025)
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
- Network: Improve checking parent interface in use for physical networks
- Build
liblxc
as part ofmake deps
- Daemon: Extend
waitready
with networks and storage pools - Documentation: Update Storage docs - Move or Copy a Volume [WD-21424]
- Replace
ValueInSlice
withslices.Contains
- util/http: Improve etag error message to guide towards a solution
- Micro-optimisations (follow-up to #15584)
- storage: Ensure storage bucket config is applied during bucket activation
- test/main: catch errors in pipelines
- gomod: Update dependencies
- build(deps): bump github.com/minio/minio-go/v7 from 7.0.91 to 7.0.92
- build(deps): bump github/codeql-action from 3.28.17 to 3.28.18
- build(deps): bump actions/dependency-review-action from 4.7.0 to 4.7.1
- Backports (stable-5.21)
- Go mod updates and clustering subnet fix (stable-5.0)
- tests: Switch clustering test subnet (stable-4.0)
- doc: add info about Ubuntu Pro for instances
- storage: Fix typo in cephobject bucket name prefix error
- test: Use
yq
raw output - github: ask codeql to check actions themselves
- Revert “Storage: Update instance backup file when root vol pool gets updated”
- Use
net.JoinHostPort()
instead offmt.Sprintf("%s:%d", host, port)
- docs: add troubleshooting guide for gpu pass-through issue
- Improve usability of
LXD_INSPECT=1
- Add
make env
target - Improve CI setup for
liblxc
support - Backports (stable-5.21)
- lxd/seccomp: allow unprivileged whiteout creation
- Improve
LXD_INSPECT=1
sessions - test/suites/network_acl: verify firewall rules
- test/suites/clustering: check network statuses with full line patterns
- Build tweaks
- Test: Add timeout to
ceph status
command - Storage: Fix volume rename DB record update order
- API: Add missing ‘version’ struct tag
- Add
musttag
linter now to catch newly missed tags - Makefile: use
git rev-parse HEAD
to get current commit hash - Daily caching of external assets
- gomod: Update dependencies
LXD UI
- fix(volume) handle volumes local to cluster members correctly
- Simplify api calls
- fix(translation) ensure app does not crash on using chrome translation
- chore(deps): update dependency vanilla-framework to v4.24.0
- fix(instance) disable cluster member and cluster group targeting
- feat: [WD-22116] Adds Ceph Object storage driver
- fix(instance) make instance table responsive
- fix(images) show local images immediately when filtering cached images
- fix(network) avoid setting security.acls field if no acls are selected for a network
- fix(network) remove ‘range’ from ipv4 and ipv6 address labels in network form
- fix(select) list checkbox on safari for select all positioning
- chore(pr) check for non-ascii characters in code files
- fix(export) update help text for instance export expiration
- fix(onboarding) lxd creates a group admins, refer to that in the ui onboarding
- fix(warnings) rely on can_edit server permission for deleting warnings
- fix(identities) avoid closing tab on deleting identity
- Various network and instance fixes
- fix(instance) ensure only one instance is in loading state
- fix(project) allow project target restriction override with the can_override_cluster_target_restriction permission
- fix(instance) avoid reporting invalid memory sizes
- fix(app) redirect to login when not authenticated
- fix(instance) column toggle to allow deselcting columns that are hidden
LXD Charm
- Nothing to report this week
LXD Terraform provider
PyLXD
LXD snap
- External dependency updates (latest-edge)
- Bring updates from latest-edge and bump lxc, lxcfs and lxd dependencies (latest-candidate)
- nvidia-container: bump GIT_TAG to match updated version
- lxd-ui: update 0.17 tag (latest-candidate)
- snapcraft: switch to Go 1.24/stable (5.21-edge)
- Don’t use Go toolchain (5.21-edge)
- Updates from latest-edge (5.21-edge)
- lxd: Bump to pre-lxd 6.4 (latest-candidate)
- lxd-ui: update 0.17 tag (latest-candidate)
- lxd-ui: update 0.17 tag (latest-candidate)
- lxd-ui: update 0.17 tag (latest-candidate)
- lxd-ui: update 0.17 tag (latest-candidate)
- snapcraft/wrappers/nvidia-container-cli: remove unused core24 handling
- lxd-ui: update 0.17 tag (latest-candidate)
- snapcraft: nvidia-container: go back to 1.17.6