Weekly status for the week of 2nd June to 8th June.
Introduction
This past week, LXD received several bug fixes, including cloud-init configuration parsing improvements and fixes for edge cases that could cause unexpected errors.
Thanks to all the contributors!
Bug Fixes
-
Fixed CephFS mount timeout to prevent blocking LXD in case storage cluster is inaccessible. The timeout has been adjusted to initially wait for 10 seconds, and in case it fails, it will retry in 60 seconds.
-
Fixed an issue where a valid cloud-init header was stripped during YAML unmarshaling. Now the initial comments are correctly retained.
-
Fixed an issue where retrieving
macvlan
network information would result in a misleading error that the network is not found. Network information is now retrieved as expected. -
Fixed an issue where a panic could occur when overwriting a progress renderer. This could replace a locked mutex with an unlocked one, leading to an unowned mutex being unlocked.
-
Fixed an issue where removing old images from database could fail because the error was accidentally logged instead of returned to the retry mechanism.
LXD UI
- Added option to import custom storage volumes, enabling restore of backups.
LXD images
Changes on images:
simplestream remote:
- Added
Alpine 22
- Removed
Ubuntu Focal (20.04) Desktop
(EOL)
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/daemon: Manage images and backups volumes without symlinks
- Storage: Fix CephFS mount timeout
- lxd: Resolve the intermittent “file already closed” errors in
distributeImage
- Network: Show info for macvlan networks
- Documentation: Update Storage docs - Backup storage volumes [WD-22293]
- Apply
modernize
changes - lxd/cloudinit: Fix other formats of cloud-init user configuration options
- build(deps): bump github.com/NVIDIA/nvidia-container-toolkit from 1.17.7 to 1.17.8
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.5.3 to 5.5.4
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.5.3 to 5.5.4
- build(deps): bump github.com/NVIDIA/nvidia-container-toolkit from 1.17.7 to 1.17.8
- github: fix copy-n-paste error in step name in tests workflow
- lxd/cloudinit: Fix parsing of invalid cloud-init yaml
- lxc: Prevent panic when overwriting the progress renderer
- github: fix conditional around optionally skipping unit tests
- test: Don’t modify go modules during go test
- lxd/cloudinit: Fix behavior when vendor-data parsing fails and when user-data are not provided.
- Images: Fix “database is locked” errors when deleting old image records after update
- test: Check that network info shows correct MTU for macvlan network
- Misc tweaks
- github: add golangci-lint action
- Run shellcheck only once
- dependabot: disable schedule to only deal with security updates for 5.0
gomod
- test/suites/auth: use ecdsa certs instead of (slow) rsa4096
- cluster: Fix panic during exclusive DB mode
- Add tests for cloud-init
- Makefile: Pin dqlite to last known good version
- lxd/images: accumulate node IDs while building the node list
- github: preserve LXD_CONCURENT variable when calling test suite
- lxd/db: Rework RunExclusive to use context with timeout internally
LXD UI
- feat: Import custom storage volumes [WD-22291]
- fix(instance) use sh instead of bash on nixos and alpine images for new terminal
- fix(volume) hide cluster member selector on volume edit if we are not in a cluster environment
- chore(deps): update dependency @canonical/react-components to v2.5.2
- chore(events) use upstreamed eventqueue and toast notifications from react components
- fix(loading) disable submit buttons while loading. fixes #1283
- chore(vite) change default vite port to 8507 to avoid conflicts
- chore(tics) remove compiler warnings
- chore(pr) fix link in pr template
- chore(deps): update dependency @canonical/react-components to v2.6.0
- chore(deps): update dependency @canonical/react-components to v2.6.1
LXD Charm
LXD Terraform provider
- Nothing to report this week
PyLXD
LXD snap
- lxd: Cherry-pick fix for cloud-init template and ssh keys (latest-candidate)
- lxd: Cherry-pick fix to add target request forwarding to storagePoolVolumeTypeStateGet (latest-candidate)
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.5.3 to 5.5.4
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.5.3 to 5.5.4
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.5.3 to 5.5.4
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.5.3 to 5.5.4
- lxd: Cherry-pick more fixes for cloud-init crashes and template parsing (latest-candidate)
- dqlite: Pin to last known good version (latest-edge)