Weekly status #228


Weekly status for the week of the 6th December to 12th of December.

Introduction

The highlight of the past week was the release of LXD 4.21 which includes several features from our roadmap (cluster member groups and first class cloud-init support). For more information please see the release notes and the release video.

LXD

In addition to the release notes video, @stgraber has added another tutorial video, this time covering LXD clustering in depth.

New features:

  • Cluster server grouping. See Clustering | LXD and [LXD] Cluster server grouping for more info.
  • Cluster role to indicate leader in the lxc cluster ls output.
  • Added the ability to retrieve instances for all projects using the lxc ls --all-projects command.
  • Added the ability to see help about all sub-commands in the lxc tool with lxc --help --sub-commands.
  • Added support for ipv{n}.routes setting on routed NIC type.

Improvements:

  • Enabled nodatacow on BTRFS subvolumes for LXD block volumes to improve performance.
  • Enabled direct I/O mode by default for loop device backed storage pools to improve performance.
  • Added several optimisations for proxy device firewall rules when using nat=true mode to reduce the overall number of firewall rules being added when using large port ranges.
  • Added a warning in the docs about using VMs on BTRFS storage pools (due to quota limitations) please see Storage pools | LXD for more info.
  • Consider cluster member offline when offline threshold is met (rather than being exceeded).
  • Make cluster event listener refresh event driven (and via heartbeat) rather than continuously polling on all members ever second.
  • Added ceph.rbd.du storage pool option to disable the use of rbd du to speed up state output performance if disk usage info not needed.

Bug fixes:

  • Restore disk size.state quota on backup restore.
  • Account for disk size.state when checking the project limits.disk setting.
  • Switch events websocket heartbeat to counter rather than absolute deadline times to fix an issue that caused immediate disconnect after a machine is resumed after being suspended.
  • Replace profiles rather than append when specifying the -p flag with lxc copy.
  • Fixes issue when a cluster member is joined to an existing cluster that has networks in non-default projects with the same name as networks in the default project.
  • Move the cluster join notification request out of the DB transaction so we do not delay committing the changes to the global database.
  • Handle lack of available target in evacuation.
  • Fixed regression in routed NIC IPv4 routing setup.

LXC

Improvements:

  • Don’t advertise seccomp notify support if it’s not compiled in.
  • Only guard seccomp notify behind HAVE_DECL_SECCOMP_NOTIFY_FD.

LXCFS

Improvements:

  • Set empty cgroup dir if unified_cgroup_hierarchy=1.
  • Make meminfo and swaps cgroupv2 aware.

Distrobuilder

Improvements:

  • Switch to logrus.

Dqlite (RAFT library)

Bug fixes:

  • Handle negative rv of UvOsIoGetevents in uv_writer.

LXD Charm

Improvements:

  • Use tuples instead of lists where appropriate.

Youtube channel

We’ve started a Youtube channel with live streams covering LXD releases and its use in the wider ecosystem.

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

LXC

LXCFS

Distrobuilder

Dqlite (RAFT library)

Dqlite (database)

  • Nothing to report this week

Dqlite (Go bindings)

  • Nothing to report this week

LXD Charm

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: Bumped to 4.21
  • edk2: Bumped to 202111
  • nftnl: Bumped to 1.2.1
  • seccomp: Bumped to 2.5.3
  • libtpms: Bumped to 0.9.1
  • nftables: Bumped to 1.0.1
  • nvidia: Bumped to 1.7.0
  • ovn: Bumped to 21.09.1
  • swtpm: Bumped to 0.7.0
1 Like