Announcement
https://discuss.linuxcontainers.org/t/lxd-5-15-has-been-released/17493
What's Changed
- doc: Fix descrption for lxd_memory_Inactive_anon_bytes metric by @hnakamur in #11733
- lxd/metrics: fix copy-n-paste error for MemoryInactiveAnonBytes help text by @simondeziel in #11734
- Instance: Fixes LXD crash when starting VMs if /dev/vhost-net not available by @tomponline in #11732
- Storage: Updates loopFileSizeDefault to consider non-root free space by @tomponline in #11736
- Instance: Allow copying running VMs (both consistently and inconsistently) locally by @tomponline in #11731
- doc/faq: Drop reference to eth1 by @stgraber in #11737
- shared/instance: Separate some instance type specific config key validation by @tomponline in #11735
- shared/ws/mirror: Allow passing nil to Exec by @julio641742 in #11740
- lxd/device/nic/ovn: Enable hotplug for VMs by @tomponline in #11749
- Doc: cluster healing by @ru-fu in #11750
- doc/UI: update instructions for enabling the UI by @ru-fu in #11751
- doc/CPU limits: clarify what live update means for CPU limits by @ru-fu in #11752
- doc/faq: add information about
lxc monitor
by @ru-fu in #11757 - Cluster: Fix instance start after cluster member healing by @tomponline in #11753
- lxc/init: Accept Description field from stdin by @tomponline in #11758
- doc/API: add video link and small updates by @ru-fu in #11759
- doc/storage/zfs: add missing storage volume configuration by @ru-fu in #11756
- Perform alias and image deletion after image creation by @presztak in #11760
- Daemon: Clear left over operations for member during start up by @tomponline in #11763
- Storage: Return reverters from ImportInstance and ImportCustomVolume to allow revert of storage DB volumes by @tomponline in #11762
- gomod: Updates github.com/canonical/go-dqlite to 1.20.0 by @tomponline in #11764
- lxd/db:
UpdateImageLastUseDate
is aClusterTx
method by @gabrielmougard in #11767 - Images: Rework concurrent download locking by @tomponline in #11766
- Instance: Handle VM panic by shutting down by @tomponline in #11768
- Storage: Cleanup pools on creation failure by @tomponline in #11765
- Operations: Refactor op.Wait() to return an error so operation failures can be easily discovered by @tomponline in #11774
- Instance: Pause on VM panic by @tomponline in #11772
- api: Set correct instance resource path for snapshot operations by @roosterfish in #11776
- VM: Fix potential race condition with context being cancelled too early in restoreState by @tomponline in #11779
- lxd/storage/drivers/driver/zfs: Fix zfs list recommendation in Create by @tomponline in #11782
- doc/faq: add info about hanging instances by @ru-fu in #11778
- Code refactor before adding instance rebuild support by @gabrielmougard in #11781
- lxc/utils: Change sort ByName interface name to SortColumnsNaturally by @MusicDin in #11793
- doc: Update max value of
net.core.bpf_jit_limit
by @gabrielmougard in #11789 - lxd/storage: Use a unique apparmor profile for qemu-img unpacking by @roosterfish in #11784
- VM: Fix addNetDevConfig to match the tap interface settings that QEMU uses by @tomponline in #11792
- Instance: Fix VM image unpack apparmor regression by @tomponline in #11797
- Fix SRIOV representor port lookup by @fnordahl in #11786
- lxd/instance: Fix exec record-output location by @MusicDin in #11791
- lxd/instance_logs: Cleanup function call by @MusicDin in #11805
- Introduce auth_user_name and auth_user_method in /1.0 by @stgraber in #11809
- Shared CLI package by @markylaing in #11798
- lxd/db: return an error in
UpdateWarningState
is the warning is not found by @gabrielmougard in #11812 - lxd: Check if warning exists before acknowledging it by @gabrielmougard in #11790
- doc/devices/nic:
ovn
NICs support hotplugging for VMs now by @ru-fu in #11801 - lxd/storage/zfs: Fix ZFS does not respect atime=off option by @MusicDin in #11811
- Add CSM support by @stgraber in #11810
- lxd/endpoints: make sure to not access passed the end of the slice by @simondeziel in #11815
- Network: Ping OVN virtual router external addresses when using physical uplink network by @tomponline in #11802
- lxc/copy: Don't try and modify volatile.idmap.next on refresh if not set in source by @tomponline in #11800
- Allow the consistent selection of a GPU device by DRM ID by @roosterfish in #11799
- doc: restructure the Manage LXD and Internals sections by @ru-fu in #11625
- lxc/remote: Fix rename of global remotes by @stgraber in #11817
- lxd/apparmor/archive: Fix snap handling by @stgraber in #11816
- Use Print/Println when no format specifier is provided/needed by @simondeziel in #11818
- Instances: Fix file descriptor leaks of liblxc by @tomponline in #11821
- lxddoc: a go-swagger like documentation tool by @gabrielmougard in #11652
- lxd/storage: Honor target storage config when migrating by @monstermunchkin in #11771
- Storage: Only delete ZFS volume on failure if not doing refresh in createVolumeFromMigrationOptimized by @tomponline in #11823
- Test: Small tweaks to aid in running tests on Github runners by @tomponline in #11826
- Device: Fix panic when GPU device doesn't have DRM support in startContainer by @tomponline in #11825
- lxd/device: Fix regression for not properly checking for GPU DRM information by @roosterfish in #11827
- lxd-migrate: Fix SecureBoot handling by @stgraber in #11830
- Revert "lxd/device: Fix regression for not properly checking for GPU DRM information" by @roosterfish in #11832
- github: Simplify static-analysis tests by @tomponline in #11833
- Fix loading vhost_vsock module when VMs are not supported by @MusicDin in #11834
- operations: Use
map[string][]url.URL
asresources
passed toOperations
by @gabrielmougard in #11795 - github: re-add
gettext
package for static-analysis by @simondeziel in #11835 - Support for instance rebuild by @gabrielmougard in #11687
- test: Add support for running test suite on Github runners by @tomponline in #11836
- test: skip cleanup if executing from a GitHub Action runner by @simondeziel in #11839
- Improve mdev GPU handling by @stgraber in #11840
- doc: move .sphinx directory and conf.py file by @ru-fu in #11837
- lxd/bgp: Allow one hour for LXD restart by @stgraber in #11842
- lxd/ip: improve performance of
getVhostVDPADevInPath
by @Juneezee in #11843 - VM: Load vhost_vsock kernel module if /dev/kvm is available by @tomponline in #11844
- lxd/recover: Use configuration defaults by @MusicDin in #11820
- shared/util: Use more efficient ReadDir in PathIsEmpty by @tomponline in #11845
- doc: fix symbolic link to rest-api.yaml after moving the directory by @ru-fu in #11848
- github: Extended testing by @tomponline in #11846
- Restrict CPU placement to NUMA nodes by @gabrielmougard in #11850
- github: Add random pool backend test by @tomponline in #11851
- Move doc setup to the conf.py file by @ru-fu in #11849
- *: replace Seek(0, 0) by Seek(0, io.SeekStart) as the later is clearer by @simondeziel in #11853
- doc: fix styling of version box on RTD by @ru-fu in #11854
- github: Adds ceph support by @tomponline in #11855
- github: Add support for Go tip by @stgraber in #11858
- doc: move installation instructions from the website by @ru-fu in #11863
- lxd/instance/qemu: Fix vsock id type by @stgraber in #11866
- lxd/instance/lxc: Fix live cgroup updates by @stgraber in #11868
- github: Combine documentation steps into single job by @tomponline in #11860
New Contributors
Full Changelog: lxd-5.14...lxd-5.15