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 newmigration.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 themaas.api.url
andmaas.api.key
daemon keys as well as themaas.subnet.ipv4
andmaas.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.