Introduction
The LXD team is very excited to announce the release of LXD 3.10!
This release introduces snapshot expiry which combined with automated snapshots in LXD 3.8 should make for a nice way to have LXD generate and cleanup snapshots in the background.
We also did some work on our import/export of containers, now allowing overriding the storage pool during import.
This release also fixes a wide variety of bugs and has a number of nice performance improvements around compression/decompression and improved progress reporting thanks to the ChromeOS team at Google.
Enjoy!
New features
Snapshot expiry
A new snapshots.expiry
container configuration option now lets you define an expiry for newly created containers. Alternatively, a snapshot can now be directly edited to set the newly introduced Expiry field.
When a snapshot expires, it is automatically deleted. This feature is particularly useful when combined with automated snapshots.
Pool override on import
It is now possible to select what storage pool a container backup should be imported into. On the command line, this can be specified with --storage
.
Bugs fixed
- client: Properly reset listener on error
- client: Strip trailing slashes in URLs
- doc: Document btrfs resize
- doc: Fixed typo in backup.md
- global: Rename {Creation,LastUsed}Date to {Created,LastUsed}At
- i18n: Fix duplicate language
- i18n: Update translations from weblate
- i18n: Update translation templates
- lxc/image: Fix help
- lxd/apparmor: Tweak default set of rules
- lxd/backups: Don’t waste memory during unpack
- lxd/backups: Fix fd leak
- lxd/backups: Handle missing storage pool for backups properly
- lxd/backups: Send progress info for export and import operations
- lxd/cluster: Don’t prompt for internal config keys
- lxd/containers: Always delete container on create error
- lxd/containers: Call storage unmount on detach
- lxd/containers: Fix disk limits at creation
- lxd/containers: Fix error handling for auto-snap
- lxd/containers: Fix lxc.mount.entry for musl
- lxd/containers: Refuse refresh on running containers
- lxd/images: calculate sha256 as image is written
- lxd/images: change compressFile to take io.Reader and io.Writer
- lxd/images: Send metadata in CreateImage error importing image
- lxd/images: Send metadata in CreateImage error response
- lxd/images: Tar and compress in a combined stream when packing an image
- lxd/internal: Add internal command to trigger GC
- lxd/migration: Fix race in abort
- lxd/migration: Fix sender side errors handling
- lxd/migration: Handle crashing rsync
- lxd/storage/ceph: Create custom mountpoints if missing
- lxd/storage/ceph: Fix validation of CEPH config
- lxd/storage/ceph: Unmap on unmount
- lxd/storage/ceph: Unmap volume after creation
- lxd/storage/lvm: Use right VG name for exports
- lxd/tasks: Fix possible segfaults in tasks
- shared: Add support for a ProgressTracker during unpack
- shared: Progress metadata as a map
- shared: Properly handle uncompressed tarballs
- shared/osarch: Add armhfp (centos)
- storage: Add ioprogress.ProgressTracker field to storage
- tests: Add more container snapshot tests
- tests: Delete leftover container
- tests: Extend backup import tests
- tests: Fix bad test in clustering
- tests: Fix bad test in container local pool handling
- tests: Fix bad test in external_auth
- tests: Fix bad test in security
- tests: Fix bad test in sql
- tests: Fix bad test in storage
- tests: Fix container leak
- tests: Fix negative tests in backup.sh
- tests: Fix negative tests in basic.sh
- tests: Fix negative tests in clustering.sh
- tests: Fix negative tests in config.sh
- tests: Fix negative tests in container_local_cross_pool_handling.sh
- tests: Fix negative tests in database_update.sh
- tests: Fix negative tests in devlxd.sh
- tests: Fix negative tests in external_auth.sh
- tests: Fix negative tests in idmap.sh
- tests: Fix negative tests in incremental_copy.sh
- tests: Fix negative tests in lxc-to-lxd.sh
- tests: Fix negative tests in migration.sh
- tests: Fix negative tests in pki.sh
- tests: Fix negative tests in projects.sh
- tests: Fix negative tests in remote.sh
- tests: Fix negative tests in security.sh
- tests: Fix negative tests in serverconfig.sh
- tests: Fix negative tests in snapshots.sh
- tests: Fix negative tests in sql.sh
- tests: Fix negative tests in storage_driver_ceph.sh
- tests: Fix negative tests in storage_local_volume_handling.sh
- tests: Fix negative tests in storage_profiles.sh
- tests: Fix negative tests in storage.sh
- tests: Fix negative tests in storage_snapshots.sh
- tests: Fix negative tests in storage_volume_attach.sh
- tests: Fix negative tests in template.sh
- tests: Fix volume list in cluster
- tests: Fix volume list in projects
- tests: Tweak fdleak test
Try it for yourself
This new LXD release is already available for you to try on our demo service.
Downloads
The release tarballs can be found on our download page.