Weekly status for the weeks of the 4th of January to the 10th of January.
Introduction
The highlight of the past week was the release of both LXD 4.10 and LXCFS 4.0.7 LTS.
The LXCFS release is part of its 4.0 LTS series which is supported until June 2025.
Please see the release notes for more information.
LXD
This past week the OVN network feature gained some improvements.
Clustered OVN network members now generate a random-stable chassis priority for their uplinks, meaning that the cluster members will be used in a reliable order for uplink gateway failover priority.
Before this change all cluster members had their chassis priority set to the maximum value, meaning that OVN decided which chassis to use during a failover scenario.
The random-stable priority generated is derived from the network ID and member ID, meaning that a different priority will be used for each OVN network in the cluster. The aim for this is to distribute the primary uplink gateway chassis used for OVN networks across the cluster members, rather than using the same member for all OVN networks.
Additionally when updating OVN network config, previously the entire OVN northbound config was deleted and rebuilt using the updated config. Unfortunately this was causing problems when using Instance NIC level static routes which would also be removed and not re-added until the Instance was restarted.
To fix this we have made the OVN update process less destructive, and now it selectively updates only the parts of the config that have changed and leaves intact the rest.
Also related to this, OVN networks depend on an “uplink” network to get external connectivity. However before when the config of these uplink networks were changed, the effects were not applied to the dependent OVN networks until the next time the OVN network was modified. This has now been improved to add the concept of dependent network notifications so that changing the dns.nameservers
or ovn.ingress_mode
setting on an uplink network will update the relevant settings on the OVN networks that depend on it.
Background operation names have been updated to remove references to “container” and have been changed to “instance” to reflect that operations can be happening on both containers and VMs.
There have also been some bug fixes for issues copying instances with snapshots to remote systems.
Firstly any snapshots with expiry dates were having their expiry dates removed when they were copied. Secondly snapshots that had device config were intermittently having some of their devices removed during remote copy. Both issues are now fixed.
When performing an lxd import
container recovery after, the storage quota was not being re-initialised. This was causing problems when importing a directory based container using ext4 project quotas, as the project quota ID is derived from the DB volume ID, and during import this ID was being changed due to new DB records being created. We now re-initialise the storage quota for a container when doing an import to fix this issue.
LXC
This past week LXC has had improvements made to its capabilities handling code, including adding support for the following capabilities: CAP_{BLOCK_SUSPEND,PERFMON,BPF,CAP_CHECKPOINT_RESTORE}
.
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
- 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.
- 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
- Network: Make OVN updates more nuanced and less destructive
- simplestreams: Drop duplicated slash
- QMP: Fix race in Disconnect
- test/suites/static/analysis: Fixes ineffassign usage due to upstream changes
- Instance: Copy snapshot expiry date
- Instance: Copy snapshot devices reliably during migration
- Storage: Reinitialise root disk quota on lxd import
- Rename background operation types
- Network: Adds support for notifying dependent networks when their uplink networks change config
- Network: Handle changes to OVN uplink ovn.ingress_mode setting
- lxd/resources: Always initialize lists
- DB: Adds optional filter argument to InstanceList function
- Network: Re-organises SRIOV and PCI helper functions
- Network: Generate OVN chassis priority using stable random value
- lxd/init: Clarify https listener question
- doc: Fixes typo in macvlan NIC section
- client: Fix output of GetClusterMemberNames
LXC
LXCFS
- Nothing to report this week
Distrobuilder
- 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
- nvidia: Update to 1.3.1
- swtpm: Update to 0.5.2
- zfs: Update to 0.8.6 and 2.0.1
- lxcfs: Update to 4.0.7
- lxc: Update to 4.0.6
- lxd: Update to 4.10