Weekly status for the week of 9th June to 15th June.
Introduction
This past week, LXD received several bug fixes, along with internal improvements aimed at making the codebase cleaner and easier to understand.
Thanks to all the contributors!
Bug Fixes
-
Fixed an issue where the same volume could not be used for images (
storage.images_volume
) and temporary backup location (storage.backups_volume
). -
Fixed an issue where
lxc
could panic when adding a new remote if the fingerprint confirmation input was empty. -
Fixed an issue where LXD did not reject an invalid cluster member evacuation mode. Valid cluster member evacuation modes are
stop
,migrate
, andlive-migrate
. -
Fixed an issue where LXD running in a Snap incorrectly attempted to clean up proxy device unix sockets inside the Snap environment instead of the host filesystem.
LXD UI
-
Added support for creating and listing of storage buckets.
-
Added support for configuring cluster member evacuation and restoration modes. Additionally, error and success state handling has been improved for both actions.
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: Pass around the request context instead of the request
- Update context (from Incus)
- Allow using the same volume for storage.images_volume and storage.backups_volume
- doc: Add Ubuntu Pro how-to
- Add
lxd-benchmark
tests - devLXD: Response format based on vsock usage
- Make it easy to build and test LXD
- lxc/remote/add: Fixed runtime error (index out of range [0] with length 0)
- build(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0
- build(deps): bump github/codeql-action from 3.28.18 to 3.28.19
- build(deps): bump github.com/pkg/xattr from 0.4.10 to 0.4.11
- build(deps): bump github.com/canonical/go-dqlite/v3 from 3.0.0 to 3.0.1
- build(deps): bump golang.org/x/tools from 0.33.0 to 0.34.0
- build(deps): bump github/codeql-action from 3.28.18 to 3.28.19
- build(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0
- build(deps): bump github.com/pkg/xattr from 0.4.10 to 0.4.11
- build(deps): bump github.com/zitadel/oidc/v3 from 3.38.1 to 3.39.0
- build(deps): bump github.com/pkg/xattr from 0.4.10 to 0.4.11
- build(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0
- lxd: Replace request context keys with request info
- Ubuntu 24.04 runners for tests
- Improve
make test-shell
a bit - Cluster: Reject invalid cluster evacuate modes
- Partially undo switch to
ubuntu-24.04
runners - devlxd: Fix regression in LXD agent where string responses are escaped
- Storage: Fix comment and error message
- Backup: Rearrange consts to allow narrowing down volume lookup
- Storage: Add reverter pattern for custom volume backend actions
- github: use actions/setup-python to cache pip dependencies
- Makefile: Add
make update-fmt
- Install storage driver tools on-demand
- lxd/devices/proxy: Fix unix socket cleanup
- test/lint/bad-grep: check test scripts for
grep
misuse - test/suites/migration: use small volumes
- tests: Add
is_backend_available
helper function - github: add option to install optional dependencies in actions/install-lxd-runtimedeps
- test/suites/concurrent: ignore PIDs that vanished
- Tiny speed and precision tweak to a few tests
- Misc test tweaks
LXD UI
- feat: [WD-21651] Storage Buckets Spike
- fix(cluster) avoid sending invalid mode on cluster member evacuate and restore
- feat(operations) add pagination and other improvements for operation list
- chore(readme) update snapshots and add new snapshots
- chore(deps): update dependency @canonical/react-components to v2.7.0
- chore(deps): update dependency vanilla-framework to v4.24.1
- chore(docs) create screenshots for the documentation with a test suite
- feat(cluster) improve reporting on member evacuate and restore
- chore(volume) add volume upload test
- Visual improvements
LXD Charm
- Nothing to report this week
LXD Terraform provider
PyLXD
- build(deps): bump github/codeql-action from 3.28.18 to 3.28.19
- github: ask CodeQL to also scan GH actions
- Drop support for Python 3.8