LXD 3.2 has been released


(Stéphane Graber) #1


This month’s LXD release comes with a lot of bugfixes and performance improvements, especially for those using LXD clustering.

Feature wise, this release has a lot of improvements for those using the proxy device type first introduced in LXD 3.0, foundation work for image download improvements in nested environments and closes a big gap in our storage story by allowing containers to be copied and moved between pools.

The changes in this release include


  • Added a new API to /dev/lxd allowing for direct download of public
    and cached images from the host (requires security.devlxd.images)
  • Added support for copying and moving containers between storage pools
  • Big improvements to the proxy device:
    • Unix socket support (including OOB packets)
    • UDP support
    • Port ranges for UDP and TCP
  • New simplified cluster join API


  • client: Enable TCP KeepAlive
  • doc: Add links to REST API
  • doc: Fix typo in api-extensions.md
  • i18n: Update translations from weblate
  • i18n: Update translation templates
  • lxc: Properly handle --target in copy and move
  • lxc/{import,export}: Deal with snap paths
  • lxc/move: Support config and profile overrides
  • lxd: Cleanup logging
  • lxd: Drop manual GC calls
  • lxd: Fix some format strings
  • lxd: Improve error messages
  • lxd/cluster: Broadcast profile changes to other cluster nodes
  • lxd/cluster: Fix bad database query when updating storage pools
  • lxd/cluster: Improve error on bad target
  • lxd/cluster: Improve errors and docs for member-specific config keys
  • lxd/cluster: Redirect container/snapshost publish to the relevant member
  • lxd/cluster: Serialize reads to the cluster database
  • lxd/containers: Assume device node for older NVIDIA GPUs
  • lxd/containers: Don’t update MAAS for snapshots
  • lxd/containers: Fix fd leak in metadata
  • lxd/containers: Manually release the liblxc structs
  • lxd/forkmount: Ignore ENOENT and EINVAL on umount2()
  • lxd/maas: Allow starting with MAAS offline
  • lxd/maas: Make errors more readable
  • lxd/migrate: Remove debug residuals
  • lxd/migration: Don’t pass -vP to a hidden rsync
  • lxd/nsexec: Prevent fd leak
  • lxd/nsexec: Simplify attach_userns()
  • lxd/storage/lvm: Fix mixup between pool name and VG name
  • lxd/storage/lvm: Rename default thinpool to LXDThinPool
  • lxd/storage/zfs: Improve defaults
  • lxc-to-lxd: Respect LXD_SOCKET environment variable
  • lxd-p2c: Add rsync version check
  • lxd-p2c: Allow overriding rsync args
  • lxd-p2c: Better report rsync errors
  • lxd-p2c: Delete containers on failure
  • lxd-p2c: Handle target URL smarter
  • lxd-p2c: Ignore missing arg errors
  • lxd-p2c: Send rsync output to stderr
  • shared: Add abstract unix socket helpers
  • shared/eagain: Handle EINTR
  • shared/idmap: Allow uidmaps to be parsed from alternate roots
  • tests: Fix broken alternate TLS server cert in integration tests
  • tests: Reduce ceph pg_num down to 1

Try it for yourself

This new LXD release is already available for you to try on our demo service.


The release tarballs can be found on our download page.

(Stéphane Graber) #2