Weekly status for the week of 3rd February to 9th February.
Introduction
This past week LXD received several bug fixes, as well as new features. The highlight of the past week is added support for Pure Storage storage driver.
Thanks to all the contributors!
Pure Storage storage driver
LXD now supports new storage driver pure
, allowing interaction with remote Pure Storage arrays. Connections with the remote storage can be established using either NVMe/TCP (default) or iSCSI. Note that iSCSI requires iscsiadm
to be installed on the LXD host.
The following command demonstrates how to create a storage pool named my-pool
that connects to a Pure Storage storage array using NVMe/TCP.
lxc storage create my-pool pure \
pure.gateway=https://<pure-storage-address> \
pure.api.token=<pure-storage-api-token> \
pure.mode=nvme
Support for storage driver pure
is also included in LXD UI.
Documentation: Storage drivers - Pure Storage
Bug Fixes
-
Fixed an issue where setting
loki.api.url
to an inaccessible URL could block the caller for up to 10 minutes. -
Fixed an issue where mount options for filesystem volumes were not applied to hotplugged VM disk devices by the
lxd-agent
. -
Fixed an issue where an OVN network’s uplink volatile IP could be set outside the allowed ranges.
-
Fixed an issue where LXD allowed authentication via OIDC without requiring an email address claim, causing an identity to be created with a blank identifier.
-
Fixed an issue where the MAC address of a physical network interface was not properly parsed, preventing instances from starting when using
agent.nic_config
option.
LXD images
Changes on images:
simplestream remote:
- Added Fedora 41
- Added openWRT 24.10
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
- Storage: Add Pure Storage storage driver
- CLI: Improve config key update for
loki.api.url
- Projects: Peform uplink quota validation in a single transaction
- Volume disk device
source-type
- Storage: Disk device doc updates
- VM: Apply mount options to hotplugged disks
- Follow-up on
fmt.Sprintf()
replacement - Network: Parse host physical NIC MAC address for storing in device configuration
- Remove handling of old/unsupported
liblxc
(LXC 5.0 or newer required) - build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.4.0 to 5.5.1
- build(deps): bump github/codeql-action from 3.28.5 to 3.28.8
- build(deps): bump github.com/osrg/gobgp/v3 from 3.33.0 to 3.34.0
- build(deps): bump github.com/osrg/gobgp/v3 from 3.33.0 to 3.34.0
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.4.0 to 5.5.1
- build(deps): bump github/codeql-action from 3.28.5 to 3.28.8
- build(deps): bump github.com/osrg/gobgp/v3 from 3.33.0 to 3.34.0
- Doc: Add
storage_driver_powerflex
API extension - Storage: Context linter fixes
- Network: Update physical NIC device options for added clarity
- Storage: Minor fixes for
pure
storage driver - Storage: Delete potentially left snapshot temporary volume
- Storage: Restore specialized mount functions
- lxd/metrics: Simplify
TYPE
handling - Storage: Replace iscsi discovery with manual db management
- Doc: Add how-to guides for Entra ID
- doc: update guide on moving instances and live migration
- Network: Improve ovn validation efficiency and logic
- OIDC: Add methods to extract and verify claims
- lxd/device: Unmount instance disk devices
- doc: improve network forward docs including UI instructions
- VM: Fix nvram file update from older non-symlinked templates file in LXD 4.0
- github/actions/setup-microceph: force the detection of new partitions
- doc: fix looping local sphinx-autobuild
LXD UI
- feat: [WD-18674] CMS Fields - ZFS.Poolname
- feat: initial approach for restricted users permission checks [WD-18836]
- Take project resource limits into account for available limits
- chore(deps): update dependency @canonical/react-components to v1.10.0
- Avoid memory leak on uploading external instance files
- fix: prevent the instance file upload modal from closing when clicking on the backdrop
- Iterate on pool config forms for pure and powerflex drivers
- chore(deps): update dependency vitest to v2.1.9 [security]
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
- Parts from Noble packages/sources
- chore(deps): update redhat-plumbers-in-action/differential-shellcheck action to v5.5.1
- Revert “lxd-ui: build with node snap from 22/stable channel (latest LTS)”
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck from 5.4.0 to 5.5.1
- Revert "Revert "lxd-ui: build with node snap from 22/stable channel (…
- Workaround to ensure LXD is stopped before MicroCeph/MicroOVN
- dqlite: Bump to v1.18.1 (latest-candidate)
- dqlite: Bump to v1.17.2 (5.21-candidate)
- Workaround to ensure LXD is stopped before MicroCeph/MicroOVN (5.21-edge)
- Workaround to ensure LXD is stopped before MicroCeph/MicroOVN (latest-candidate)
- Drop support for OVS/OVN on
armhf
andriscv64
- configure: no need to escape Apparmor for that hook
- edk2: use patch to revert ARM EFI_LOADER_DATA no-exec
- OVS/OVN: don’t install stage packages
- Arch support simplifications
- Revert “configure: no need to escape Apparmor for that hook”
- Update nvidia-container/nvidia-container-toolkit parts to v1.17.4