Weekly status for the week of 21st October to 27th October.
Introduction
The past week, LXD received several bug fixes, and a new feature that makes virtual machine CPU auto pinning optional instead of applying it by default.
Disabling auto CPU pinning by default
LXD introduced a new setting limits.cpu.pin_strategy
for virtual machines. Prior to that, LXD enabled CPU pinning by default, which meant that each instance was pinned to a specific set of cores when started (auto
). The new default behavior only defines the number of cores the virtual machine gets, but any core may be used at any given time (none
).
To (re)enable automatic CPU pinning, you can set limits.cpu.pin_strategy
for the desired VM to auto
:
lxc config set v1 limits.cpu.pin_strategy=auto
Documentation: Instance options - Resource limits
Bugfixes
-
Fixed an issue where cluster group creation would fail if multiple nodes are present in the request.
-
Improved profile and instance listing by introducing caching of certain data on entities to reduce database queries (from Incus). Instance listing has been further improved by querying database only for the relevant instances, instead of filtering them afterwards.
-
Fixed an issue where instance evacuation and healing process did not respect the project restricted groups, causing an instance to potentially end up on cluster members that are outside project restrictions.
-
Fixed an issue where LXD reapplied old
core.https_address
andcluster.https_address
addresses when a node is added to the cluster again. Now, LXD attempts to apply thecore.https_address
tocluster.https_address
, but if the value is wildcard, the server address is used instead. -
Fixed a issue where console would not start if the instance is started on the server.
-
Fixed an issue where NVIDIA CDI drivers were searched on the host filesystem in Ubuntu Core environments. Since Ubuntu Core is snapped, the drivers are now searched in
core24
snap instead.
All changes
The items listed below is all of the work which happened over the past week and which will be included in the next release.
LXD
- Add
limits.cpu.pin_strategy
setting to disable VM CPU auto pinning by default - Notifier update; MemberState update
- lxd: Use explicit cluster addr when core addr is wildcard
- doc/howto: Fix argument order when adding permissions to a group.
- build(deps): bump tiobe/tics-github-action from 3.2.0 to 3.2.1
- build(deps): bump github/codeql-action from 3.26.12 to 3.26.13
- build(deps): bump tiobe/tics-github-action from 3.2.0 to 3.2.1
- build(deps): bump github/codeql-action from 3.26.12 to 3.26.13
- Backports (stable-5.21)
- Backports (stable-5.0)
- api: Add
state_logical_cpus
extension - Profiles & instance listing efficency improvements (from Incus)
- doc: embed discourse titles as link text (stable-5.0)
- Project limits: Use
InstanceList
- Remove old retry logic (from Incus)
- lxd: Consider project’s restricted cluster groups during instance evacuation
- lxd: Fix cluster group create when >1 node is defined in the request
- Github: Use go mod version of go
- VM: Properly plumb I/O limits (from Incus)
- github: update apt definition in setup-microceph
- github: tune docker firewall disablement to work on 20.04
- github: rework actions
- lxd: Switch to use go-dqlite v2 and dqlite lts-1.17.x (stable-5.21)
- lxd: Use explicit cluster addr when core addr is wildcard (stable-5.21)
- Switch to go-dqlite v3
- lxd/cluster: Replace deprecated Recover with ReconfigureMembership
- lxd/apparmor: Update with new lxd binary location in sbin
- lxc/launch: Start console if instance start was performed on server
- Support NVIDIA CDI in Ubuntu Core environment
- Device: Improvements to GPU CDI mode & Ubuntu Core validation
LXD UI
- fix(semiotics) enhance usage of chips and add context to notifications
- cancel active pr workflow on subsequent pushes to the same branch
- fix(instance) remove read and write limits for custom storage volumes
- chore(security) add security.md
- fix(cache) force cache refetch when lifecycle events come in
- feat: [WD-15078] Add skip to content button
- feat: [WD-15994] Show Instance device details on Overview page.
- fix(instance) layout adjustments for the instance overview tab
- fix: remove publish to gh-pages from workflows
LXD Charm
- Nothing to report this week
LXD Terraform provider
PyLXD
Distribution work
This section is used to track the work done in downstream Linux distributions to ship the latest LXD as well as work to get various software to work properly inside containers.
Ubuntu
- Nothing to report this week.
LXD snap
- snapcraft: enable support for gpu-2404 plug with nvidia-container-cli
- Pre LXD 5.0.4 changes (5.0-candidate)
- go: Bump to 1.23 (5.21-candidate)
- dqlite: Switch to lts-1.17.x branch (5.21-edge)
- dqlite: Switch to lts-1.17.x branch (5.0-edge)
- lxd-ui: Use source-depth 1 to avoid checking out full history (5.0-candidate)
- snapcraft: use non-shallow clone for nvidia-container (5.0-candidate)
- Snap tweaks