Weekly status for the week of 22nd May to 28th May.
Introduction
The highlight of the past week was the release of LXD 5.14.
New features include Cluster auto-healing and OIDC web authentication.
Please see the release notes and release video for more information:
https://www.youtube.com/watch?v=YvGbvspXObI
Additionally @stgraber has added a video covering the LXD REST API:
https://www.youtube.com/watch?v=YvGbvspXObI
Job openings
Canonical Ltd. strengthens its investment into LXD and is looking at building multiple squads under the technical leadership of @stgraber.
As such, we are looking for first line managers (highly technical) and individual contributors to grow the team and pursue our efforts around scalability and clustering.
All positions are 100% remote with some travel for internal events and conferences.
For more info please see LXD related openings at Canonical Ltd (2022-2023)
LXD
Improvements:
- Aligned instance automatic scheduled snapshots and snapshot pruning with the recently changed custom volume snapshot tasks so that instance snapshots are pruned before new snapshots are created. This reduces the risks of a disk space shortage occurring.
- Added support for triggering host-side device cleanup when a VM crashes or becomes non-responsive (at least when its QMP socket becomes non-functional).
- Added support for vhost-net CPU offloading for VM NICs.
- Added support for using the
size
storage pool property when creating anlvm
thin-pool ontop of an existing volume group or physical device. Previously the thin-pool was created using 100% of the volume group free space, but this can now be overridden if needed. - Added support for copying running VMs (with understanding of both the default consistent mode and the optional
--allow-inconsistent
mode). - Updated the default storage pool loop file size logic to take into account free space on the host’s filesystem rather than overall disk size. If there is less than 5GiB space available the pool creation will be rejected without the user specifying a desired size explicitly. This is to try and avoid people getting into scenarios where they have created a sparse loop file backed storage pool that is larger than their actual free space and then encountering disk I/O errors when the parent filesystem runs out of space.
Bug fixes:
- Fixed some issues with cluster healing, including adding support for instances in non-default projects, and attempting to start instances after healing.
- Fixed cluster member rename so that the cluster member is aware its name has changed.
- Fixed an issue where it was possible to import an instance backup over the top of an existing instance in certain scenarios. This is not a supported operation.
- Fixed VM filesystem volumes incorrectly being created as ZVOL block volumes when
zfs.block_mode
was enabled. The VM filesystem volume is just used for config and its not appropriate/relevant for VMs to be influenced by thezfs.block_mode
setting.
YouTube videos
The LXD team is running a YouTube channel with live streams covering LXD releases and weekly videos on different aspects of LXD. You may want to give it a watch and/or subscribe for more content in the coming weeks.
https://www.youtube.com/lxd-videos
Contribute to LXD
Ever wanted to contribute to LXD but not sure where to start?
We’ve recently gone through some effort to properly tag issues suitable for new contributors on Github: Easy issues for new contributors
Upcoming events
- Nothing to report this week
Ongoing projects
The list below is feature or refactoring work which will span several weeks/months and can’t be tied directly to a single Github issue or pull request.
- Stable release work for LXC, LXCFS and LXD
Upstream changes
The items listed below are highlights of the work which happened upstream over the past week and which will be included in the next release.
LXD
- Instance: Deleted expired snapshots before creating new scheduled snapshots
- Instance: Cluster healing fixes to support projects and starting instances after evacuation
- Cluster: Fix member rename in clusterNodePost
- VM: Don’t run onStop hook when QMP disconnects during start failure
- VM: Enable vhost-net acceleration for TAP based NIC devices
- Network: Simplify bridge ipv{n}.routing logic
- Instance: Reject import if conflicting DB records found
- Use
shared.IsTrueOrEmpty
where appropriate - Storage: Fix VM filesystem volumes incorrectly being created as ZVOLs when zfs.block_mode enabled
- doc/network/bridge: clarify options for using LXD with Docker
- doc/cluster: clarify
lxc cluster group assign
command - Document how to enable manual testing of zone DNS.
- Instance: Improve VM forced stop in scenarios where QEMU isn’t stopping
- Storage: Adds support for specifying the LVM thinpool size when reusing an existing PV or VG
- Instance: Allow copying running VMs (both consistently and inconsistently) locally
- Instance: Fixes LXD crash when starting VMs if /dev/vhost-net not available
- doc: Fix descrption for lxd_memory_Inactive_anon_bytes metric
- lxd/metrics: fix copy-n-paste error for MemoryInactiveAnonBytes help text
- shared/instance: Separate some instance type specific config key validation
- Storage: Updates loopFileSizeDefault to consider non-root free space
- doc/faq: Drop reference to eth1
LXC
LXCFS
- Nothing to report this week
Distrobuilder
- Nothing to report this week
LXD Charm
- Nothing to report this week
Distribution work
This section is used to track the work done in downstream Linux distributions to ship the latest LXC, LXD and LXCFS as well as work to get various software to work properly inside containers.
Ubuntu
- Nothing to report this week
Snap
- lxd: Bump to 5.14
- lxd: Cherry-pick upstream bugfixes
- ui: Add LXD UI to candidate snap (under ui.enable=true)
- virtiofsd: Bump to v1.6.1
- sqlite: Bump to 3.42.0
- spice: Bump to v0.15.2
- nvidia-container: BUmp to v1.13.1
- minio: Bump to RELEASE.2023-05-18T00-05-36Z
- criu: Bump to v3.18
- remote-viewer: Detect disabled unpriv userns