Weekly status #209

Weekly status for the week of the 26th of July to the 1st of August.


This past week the LXD team landed two new features from our roadmap; cluster member evacuation and the new disaster recovery tool, as well as several improvements and bug fixes for existing features.

The LXD team is hiring

The LXD team at Canonical is currently looking for a Go software engineer to join our distributed team of engineers. We’re looking for candidates anywhere in Europe or the Americas!

All LXD positions are 100% remote with some travel for internal events and conferences.


New features:

  • Added cluster member evacuation support. This tool is useful when performing maintenance of a server in a LXD cluster. The lxc cluster evacuate <name> command can be used to trigger a migration of all suitable instances existing on the specified cluster member to different members in the cluster (before the maintenance is started) and then can trigger the migration of the instances back again after the maintenance is completed. Please see [LXD] Cluster member evacuation for more info.
  • Added new disaster recovery tool. This tool is accessed using the lxd recover command. It is an interactive command that aids in the recovery of instances and custom volumes that still exist on a storage device after the LXD database has accidentally been deleted. Please see [LXD] New disaster recovery tool for moe info.


  • USB GPU support - this adds support for machines with DisplayLink adapters.
  • Interactive lxd init now ends cleanly if STDIN is closed rather than looping for ever.
  • Added lxc console and lxc rename instance names to bash auto completion.
  • Improve error message when attempting to access/edit config for an instance device that is part of a profile to clarify that profile inherited devices cannot be modified directly from the instance. This allows a user to differentiate between a device that truly doesn’t exist compared to one that exists but is applied from a profile.

Bug fixes:

  • Fix incorrect full snapshot name (i.e <instance>/<snapshot>) being written to the backup index file for custom volumes. Instead (as per the API docs) it should only be the snapshot name. Also added a fix to allow previously erroneous exports to still be importable in the future.



  • Added zstd compression support.

Dqlite (RAFT library)


  • Don’t send Snapshots to offline nodes. This reduces CPU load in some Dqlite clusters.

Youtube channel

We’ve started a Youtube channel with live streams covering LXD releases and its use in the wider ecosystem.

You may want to give it a watch and/or subscribe for more content in the coming weeks.

Contribute to LXD

Ever wanted to contribute to LXD but not sure where to start?
We’ve recently gone through some effort to properly tag issues suitable for new contributors on Github: Easy issues for new contributors

Upcoming events

  • Nothing to report this week

Ongoing projects

The list below is feature or refactoring work which will span several weeks/months and can’t be tied directly to a single Github issue or pull request.

  • Distrobuilder Windows support
  • Virtual networks in LXD
  • Various kernel work
  • Stable release work for LXC, LXCFS and LXD

Upstream changes

The items listed below are highlights of the work which happened upstream over the past week and which will be included in the next release.




  • Nothing to report this week


Dqlite (RAFT library)

Dqlite (database)

  • Nothing to report this week

Dqlite (Go bindings)

  • Nothing to report this week

Distribution work

This section is used to track the work done in downstream Linux distributions to ship the latest LXC, LXD and LXCFS as well as work to get various software to work properly inside containers.


  • Nothing to report this week


  • Nothing to report this week
1 Like