LXD 2.21 has been released

The changes in this release include

Features:

  • The lxc start/stop/restart/pause commands now accept a new --all flag.
  • Introduced a new infiniband device type which supports physical
    passthrough of Infiniband devices as well as SR-IOV allocated cards.
  • Added a new security.devlxd configuration key to control the
    presence of /dev/lxd inside the container.
  • Added support for incremental memory copy with container live-migration.
    This is controlled by a set of new migration.incremental.memory
    configuration keys.
  • A new boot.stop.priority configuration key can be used to control
    container shutdown order when LXD is brought down.
  • LXD users that use MAAS to manage their networks can now have LXD
    directly drive MAAS, recording all containers in MAAS and setting up
    static allocations in MAAS managed subnets.
    This is controlled with the maas.api.url and maas.api.key
    daemon keys as well as the maas.subnet.ipv4 and maas.subnet.ipv6
    network interface configuration keys.

Bugfixes:

  • client: URL escape all user input (Issue #4077)
  • doc: Add example to create an storage pool from existing LVM thinpool.
  • doc: Fix markdown escaping for prlimits
  • doc: Update LVM documentation to cover scalability issues
  • extra: Fix some profile autocompletions
  • i18n: Update translations from weblate
  • lxc: Detect first-run based on conf file not dir (Issue #4112)
  • lxc/exec: Update help to cover shell behavior
  • lxc/shell: Switch to using su -l (Issue #4036)
  • lxd-benchmark: Change the default count of containers from 100 to 1
  • lxd/certificates: Add missing name value (Issue #4080)
  • lxd/console: Adapt to new liblxc changes
  • lxd/containers: Actually return an error
  • lxd/containers: Add new disk-{char,block} path format
  • lxd/containers: Add new unix-{char,block} path format
  • lxd/containers: Escape paths fstab style (Issue #4064)
  • lxd/containers: Fix insertNetworkDevice()
  • lxd/containers: Fix race condition in shutdown (Issue #4102)
  • lxd/containers: Fix typo in prlimit error
  • lxd/containers: Log auto-start errors (Issue #4054)
  • lxd/containers: Only init the config if needed
  • lxd/containers: Skip non-existing Nvidia GPU devices (Issue #4044)
  • lxd/containers: Skip sockets in tarballs
  • lxd/daemon: Fix unsetting https address
  • lxd/daemon: Properly cache the storage information (Issue #4025)
  • lxd/dameon: Add LXD_EXEC_PATH to override execPath
  • lxd/devlxd: Cleanup in preparation for events
  • lxd/devlxd: Properly lock the internal struct
  • lxd/migration: Add handler for CRIU feature checking
  • lxd/migration: Default to pre-copy migration if CRIU supports it
  • lxd/migration: Move pre-dump check to its own function
  • lxd/migration: Remove obsolete TODO comment
  • lxd/networks: Extend allowed character set for interfaces (Issue #4042)
  • lxd/patches: Skip containers that don’t have a devices dir
  • lxd/patches: Update to new device name scheme
  • lxd/storage: Use HostPath for dir/btrfs
  • lxd/storage/zfs: Fix argument order of zfs get commands
  • lxd/storage/zfs: Fix storage pool import (Issue #4056)
  • lxd/storage/zfs: Make sure to allow devices, setuid and exec (Issue #4084)
  • Makefile: Better detect sqlite3.h (Issue #4078)
  • shared/idmap: Fix handling of hardlinks
  • shared/util: Add EscapePathFstab() (Issue #4064)
  • shared/utils: Deal with symlinks (Issue #4097)
  • tests: Adapt to changes in console API behavior
  • tests: Deal with missing ttyS0/ttyS1 (on s390x)
  • tests: Skip console tests on lower liblxc versions
  • travis: Limit to just Go 1.9

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.

The snap package is available in the candidate channel for now and will be released to stable users within the next 48 hours.

The deb package for Ubuntu has been uploaded to the development release and should be available in the next few hours. The PPAs will automatically get updated once this package passes automated testing.

Official backports to older Ubuntu releases will be published around the same time as we promote the snap to the stable channel.

REMINDER: We’d like to remind all users of the LXD PPAs that those will be discontinued at the end of the month. Please migrate to either the snap or to the official backport packages from Ubuntu. LXD 2.21 will be the last LXD release to be available in the PPAs.