Weekly news #364

Weekly status for the week of 16th September to 22nd September.

Introduction

In the past week, LXD received several new features and bug fixes. Highlights include improved LXD cluster recovery with automatic database backups and added support for non-interactive mode in lxd-migrate. The LXD UI has also seen notable improvements, including the ability to create instances from uploaded files in various formats, instance and profile configuration support for all device types, and overall improvements to the user experience when editing existing configurations.
Thanks to all the contributors!

Non-interactive usage of lxd-migrate

The lxd-migrate is a utility tool that allows you to create instances in LXD from existing physical or virtual machines. Previously, only interactive mode was supported, but now all options are configurable using CLI flags. This makes the tool also suitable for usage within scripts.

Example VM import to remote LXD server:

# Token from remote server.
token=$(lxc config trust add --name lxd-migrate --quiet)

lxd-migrate \
  --server https://example.com:8443 \
  --token "${token}" \
  --name v1 \
  --type vm \
  --source "${sourcePath}" \
  --non-interactive

Documentation: How to import physical or virtual machines to LXD instances - Non-interactive instance import

Automatic backup before LXD cluster recovery

The LXD cluster recovery process now includes an automatic database backup before any changes are made. The backup is a tarball of /var/snap/lxd/common/lxd/database when LXD is installed using Snap, or /var/lib/lxd/lxd/database otherwise. The backup file, named db_backup.<timestamp>.tar.gz, is stored in /var/snap/lxd/common/lxd/ or /var/lib/lxd/lxd/, based on the installation method.

To recover a database from an automated backup, unpack the tarball in the database location. For users who installed LXD via Snap, this can be done with the following commands:

cd /var/snap/lxd/common/lxd
sudo rm -r database
sudo tar -xf db_backup.<timestamp>.tar.gz

Documentation: How to recover a cluster - Automated backups

Bugfixes

  • Fixed an issue where requests originating from /dev/lxd caused an unnecessary warning to be displayed in LXD logs.

  • Fixed an issue where VM exec output could not be recorded without waiting for websocket connections. (from Incus)

  • Fixed an issue where lxd init could fail to update an existing network device in the default profile due to a configuration mismatch. This mismatch occurred because managed and unmanaged networks were not distinguished.

  • Added a missing ETag check when updating storage buckets to prevent potential race conditions.

  • Added instance name validation in lxd-migrate to prevent continuation in interactive mode if the name is invalid.

  • Fixed an issue where VM backups could not be exported via standard output due to the inclusion of export progress data.

LXD UI

The following are the most notable contributions to the LXD UI:

  • Added support for creating an instance from uploaded files in VMDK, QCOW2, QCOW, VDI, or VHDX formats.

  • Enable the configuration of proxy devices on instances or profiles. The UI now supports configuring all device types.

  • Enhance the editing experience for instance and profile configurations by allowing users to directly edit values. Display a count of pending changes within the save button.

  • Display which images are cached when creating a new instance and selecting a base image.

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 UI

LXD Charm

  • Nothing to report this week

LXD Terraform provider

PyLXD

  • Nothing to report this week

Distribution work

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

Ubuntu

  • Nothing to report this week.

LXD snap

2 Likes