Weekly status #193


Weekly status for the week of the 5th of April to the 11th of April.

Introduction

The highlight of the past week was the release of LXD 4.13 which includes most of changes from the past week. Please take a look at the release notes for more information.

The LXD team is hiring

Canonical Ltd. is expanding its investment into LXD with a total of 5 additional roles.
The primary focus of this effort is around scalability and clustering as well as developing compelling solutions using LXD for our customers.

All LXD positions are 100% remote with some travel for internal events and conferences.

LXD

In addition to the more flexible snapshot schedule feature described in the 4.13 release notes, there were also a number of bug fixes and improvements made in the past week.

The network firewall subsystem (which is responsible for abstracting the firewall drivers for nftables and xtables used with bridge networks) has been seeing some modifications in order to accommodate the forthcoming ACL support. Firstly the xtables driver has been modified to use a per-network specific chain for NIC level filtering rules. This achieves two benefits; it ensures that the NIC filtering rules are not affected by rule changes in the main xtables chains (which can happen when LXD is reloaded and the network level base rules are re-applied), it also reduces the amount of rules that have to be evaluated as only the NIC rules for the relevant network are evaluated.

The nftables firewall driver has also seen some improvements. We have moved to using a combined inet nftables family rather than separate ip and ip6 family tables. This simplifies LXD rule management, and allows for rule reduction by not needing to add IP address agnostic rules to both the ip and ip6 tables.

There have also been improvements in the image replication logic used with LXD clusters to reduce the amount of traffic caused immediately after joining a new member to a cluster.

An issue that was preventing copying a VM snapshot to another LXD remote has been fixed in the lxc client.

A storage bug that was preventing import of optimized ZFS VM backups has been fixed.

Also related to VMs, we have restricted the use of Qemu virtiofs to Intel architectures only, due to instabilities on ARM architectures.

LXC

This past week has seen continued fixes from oss-fuzz, as well as improved hardening of the config parser, and a fix for handling spaces in $PATH variable in image templates.

Distrobuilder

A fix for the CentOS 8 Stream public GPG key has been applied.

Dqlite (RAFT library)

Several fixes have been applied in the past week to address scalability and inconsistent state issues.

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

  • Nothing to report this week

Distrobuilder

Dqlite (RAFT library)

Dqlite (database)

  • Nothing to report this week

Dqlite (Go bindings)

  • 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

  • lxd: Bump to 4.13
  • edk2: Bump to 202102
  • ovn: Bump to 21.03.0
  • sqlite: Bump to 3.35.4
  • squashfs-tools-ng: Bump to 1.1.0
  • zfs: Bump to 2.0.4