Announcement
https://discuss.linuxcontainers.org/t/lxd-4-20-has-been-released/12540
What's Changed
- lxd/checkfeature: check whether the kernel supports core scheduling by @brauner in #9319
- lxd/daemon: Fix crash on lxd start when another lxd already running by @tomponline in #9320
- Fix metrics issues by @monstermunchkin in #9328
- Instance: Use project and instance name for operation locks by @tomponline in #9329
- lxd-agent: Drop aggregated cpu stats in metrics by @monstermunchkin in #9331
- test: Kill LXD process if doesn't start in time by @tomponline in #9332
- Suggest Ubuntu 20.04 instead of 18.04 by @simondeziel in #9337
- lxc: update wording when a cert is successfully trusted by a remote by @simondeziel in #9338
- lxd/main/shutdown: Fix shutdown regression when running in snap by @tomponline in #9334
- Generator: Insert into certificates_projects table by @masnax in #9318
- Instance: Rework instancesOnDisk to load config from backup.yaml if available by @tomponline in #9330
- lxd/apparmor: Allow remount using noatime by @simondeziel in #9341
- Update protobuf code by @stgraber in #9339
- Introduce downstream networks in leases by @stgraber in #9340
- Apparmor simplification by @simondeziel in #9342
- Instance: Fix image download race condition in instanceCreateFromImage by @tomponline in #9346
- Cluster: Error when no leader address found during handover by @tomponline in #9344
- Storage: Use normal mount rather than zfs mount for ZFS volumes by @tomponline in #9349
- Simpler filters by @simondeziel in #9350
- test/suites: Fix cephfs backup tests by @monstermunchkin in #9343
- lxd/network: Move Leases to network package by @stgraber in #9351
- lxd/instance/lxc: Properly report mapped memory by @stgraber in #9355
- Instance: Keep instance operation lock alive whilst waiting for instance to shutdown by @tomponline in #9345
- lxd: core scheduling support for virtual machines and container core scheduling even without LXC shared library support by @brauner in #9352
- Storage: Set mountpoint=none for ZFS filesystem volumes by @tomponline in #9353
- Clustering: Prevent a member that is shutting down from being promoted by @tomponline in #9296
- Instance: Fix container restart locking by @tomponline in #9361
- Network: Rework network loading functionality by @tomponline in #9359
- lxd/network/driver/ovn: Fix comment on getLoadBalancerName by @tomponline in #9362
- Clustering: Improve reliablity of remove raft node test by @tomponline in #9360
- lxd/network/ovn: Add support for leases by @stgraber in #9363
- Backup: Fix regression of VM backup imports by @tomponline in #9366
- Network: Rework isInUseByDevice to remove unnecessary DB lookups via NICType by @tomponline in #9369
- Network: Rework OVN static route management by @tomponline in #9368
- lxd/images: properly return project name in error by @masnax in #9372
- Generator: No-op changes for generator refactor by @masnax in #9373
- Fix image copy between two remotes when source is not in default project by @presztak in #9298
- VM: Use consistent QMP encoding by @tomponline in #9376
- VM: Adds workaround for QEMU 6.x regression in handling memory object host-nodes setting by @tomponline in #9378
- lxd/device: Make sure vfio-pci is loaded by @stgraber in #9379
- Rename
lxc cluster remove --quiet
tolxc cluster remove --yes
by @stgraber in #9382 - Add Cluster member configuration by @masnax in #9380
- Networks: Fixes getStoragePool to support NULL description fields by @tomponline in #9386
- lxd/api/cluster: fix comment on clusterGet clusterPut by @qvjp in #9388
- Network: Add OVN router security policy to prevent address spoofing by @tomponline in #9384
- lxd: Replace inotify with fsnotify/fanotify by @monstermunchkin in #9357
- Network: Fix bridge leases by @tomponline in #9389
- Network: OVN network to network routing (peering) by @tomponline in #9243
- lxd-p2c: Allow passing existing certificate by @stgraber in #9391
- doc: Fixes by @monstermunchkin in #9392
- Instance: Renames IsMigratable to CanMigrate by @tomponline in #9397
- Instance: Add ability to perform stateful instance pool migration by @tomponline in #9394
- lxd: fixes by @brauner in #9383
- lxd/fsmonitor/drivers: Add missing FAN_MARK_FILESYSTEM by @monstermunchkin in #9393
- Instance: Add ability to perform stateful instance cluster member migration by @tomponline in #9395
- Don't autofill cluster config. by @masnax in #9401
- DB: Adds 10s timeout to Transaction by @tomponline in #9404
- Cluster: Add dqlite proxy timeout and event stream heartbeats by @tomponline in #9405
- Add linux.sysctl.* configuration keys by @presztak in #9402
- Events: Moves blocking reader into heartbeat function by @tomponline in #9409
- NIC: Prevent use of static IPs on bridged NIC connected to unmanaged bridge by @tomponline in #9406
- lxd/fsmonitor/drivers: Log warning instead of failing by @monstermunchkin in #9411
- Cluster: Replaces dqliteProxy idle timeout with TCP_USER_TIMEOUT by @tomponline in #9416
- Retry cluster transactions once if context deadline exceeded by @masnax in #9412
- seccomp: Pass the caller TGID to pidfd_open instead of TID by @lephilousophe in #9422
- lxd/instance/drivers: Check swap for metrics by @monstermunchkin in #9427
- seccomp: verify retrieved fds when by @brauner in #9428
- lxd/instance/qemu: Fix host-nodes on multi-node by @stgraber in #9429
- Add network zones API and built-in DNS server by @stgraber in #9371
- lxd/instance/drivers: Check memory limit for metrics by @monstermunchkin in #9430
- Migration: Fix deadlock in websocket control message sending by @tomponline in #9432
- VM: Stateful migration to a remote by @tomponline in #9431
- VM: Add VM stateful migration support with ceph by @tomponline in #9436
- test: Update teardown_clustering_netns to succeed if process has already gone by @tomponline in #9437
- NIC: Allow static IP on bridged NIC when using unmanaged bridge with MAAS subnet specified by @tomponline in #9438
- NIC: OVN Remove setting accept_ra sysctl unnecessarily as disable_ipv6 is set by @tomponline in #9441
- Replace 'which' with 'command -v' by @simondeziel in #9442
- lxc: better advertise support for VMs by @simondeziel in #9443
- NIC: Split up SR-IOV VF management functions by @tomponline in #9446
- NIC: Support hardware accelerated OVS/OVN by @tomponline in #9445
- lxd/cluster: Fix forceful stop on restore by @stgraber in #9448
- bash-completion: Add restore snapshots by @ulziibuyan in #9451
- forkuevent: fixes by @brauner in #9457
- Daemon: Fix shutdown panic by @tomponline in #9454
- Fixes for VM CPU topology by @stgraber in #9458
lxc import
- read from stdin by @presztak in #9459- Remove the last 'which' occurence. by @simondeziel in #9460
- cleanup: remove subtest by @hypnoglow in #9452
- lxc/file: Don't use HostPath on temp files by @stgraber in #9461
- lxd/cluster: Log leader address on failure by @stgraber in #9463
- lxd/api/cluster: Sleep for 100ms to allow http.Flush to render by @masnax in #9468
- lxd/fsmonitor: Don't crash on Walk errors by @stgraber in #9470
- Improve file access operations and add NixOS path by @stgraber in #9471
- Container: Release liblxc cache when stopping or shutting down by @tomponline in #9473
- Network: Add ACL integration for OVN peer connections by @tomponline in #9465
- gomod tweaks by @stgraber in #9478
- lxd/storage/ceph: Properly support pre-existing empty pools by @stgraber in #9482
New Contributors
- @lephilousophe made their first contribution in #9422
- @hypnoglow made their first contribution in #9452
Full Changelog: lxd-4.19...lxd-4.20