Weekly status #171


Weekly status for the week of the 19th of October to the 25th of October.

Introduction

The highlight of the past week was the release of both LXD 4.0.4 LTS and LXC 4.0.5 LTS

Both releases are for their respective 4.0 LTS series which are supported until June 2025.
Please see the release notes for more information.

LXD

The main feature added to LXD this past week was the integration of TPM (Trusted Platform Module) emulation functionality using libtpms (via swtpm). This support comes via a new instance device type called tpm. This can be added to both containers and virtual machines to provide /dev/tpm devices to the instance.

E.g.

lxc config device add <instance> my-tpm tpm path=/dev/tpm0

Please see the https://linuxcontainers.org/lxd/docs/master/instances#type-tpm for more information.

Because of the persistent nature of TPM, adding support for this also required modifying the order of device startup to occur after the instance’s root disk is mounted (so that the device’s persistent state is available).

On the networking front there we have added support for selectively disabling either IPv4 or IPv6 on OVN networks by allowing the network’s ipv4.address or ipv6.address to be set to none (the same as the bridge network type).

Also for OVN, we have made changes to the recently added external IP pass-through feature by simplifying the configuration. You no longer needed to specify the routes allowed for use by instance NICs at the parent network level. Instance NIC routes are now validated directly against the parent network’s uplink routes and the instance’s project subnets. This has meant that we have removed the ipv4.routes.external and ipv6.routes.external settings from ovn networks (and if these are set we have a patch that will remove them when LXD is upgraded).

There have also been a couple of network related fixes; firstly a recent patch to add the ipv4.nat and ipv6.nat keys to existing OVN networks (to accommodate being able to disable NAT) introduced an issue on older bridge networks that prevented LXD startup due the description field on the network being NULL. The affected function has been updated to fix this issue.

Secondly the meaning of a missing ipv4.nat key for bridge networks when using fan mode has changed to bring it inline with the documentation and the meaning of it when using a non-fan bridge. Previously a missing ipv4.nat key on a fan bridge would mean that NAT should be enabled. However this was the opposite behaviour than when using a non-fan bridge. This has now been fixed, and any existing fan bridges without an ipv4.nat key will have one added with a value of true when LXD is upgraded to maintain existing behaviour.

On the storage side, an issue affecting musl systems that prevented creating ZFS volumes due to argument ordering has been fixed. Also we have fixed an issue related to forwarding API requests for storage volumes in non-default projects.

On the general instance side, a restarted event has been added for both containers and virtual machines. And an issue preventing instance move when security.protection.delete was enabled has been fixed.

Finally, on s390x architecture support for USB devices have been removed as s390x doesn’t actually support USB.

LXC

An issue when using devptfs_fd that was preventing container startup due to a missing response has been fixed.

Youtube channel

We’ve started a Youtube channel with a couple of live streams so far.
You may want to give it a watch and/or subscribe for more content in the coming weeks.

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

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.

  • Distrobuilder Windows support
  • Virtual networks in LXD
  • Various kernel work
  • 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

LXC

LXCFS

  • Nothing to report this week

Distrobuilder

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

  • Improved remove logic
  • Cherry-picked upstream bugfixes
  • Added TPM support
  • Updated to LXC 4.0.5
  • Updated to LXCFS 4.0.6
  • Simplified bash completion logic
1 Like