Introduction

This past week has seen more of the storage re-structure work landing, including a new internal storage interface that provides a blueprint of how each storage driver should interact with LXD.

Custom volume operations and container creation using the directory ( dir ) driver are now using the new storage interface.

The new storage interface includes changes to volume migration too. Previously the websocket connection used for performing the file transfer was passed directly into the driver. Now the websocket connection is wrapped to appear as a standard io.ReadWriteCloser interface. This allows for different implementations of the migration transport layer to be used with the storage layer and means the new storage drivers will be transport agnostic. The benefits of this are: custom volume and instance volume migrations will now share the same code base (which means custom volume migrations will be able to benefit from some driver’s more efficient transfer mechanisms the same way container volumes do today) and that local volume copy/move operations between storage pools will now use the same migration logic (albeit it not using websocket transport) which has fixed some bugs that stopped volumes being transferred properly between some storage pools.

Also this week support was added for using the squashfs compression format when generating image exports and backups.

An issue with recent ebtables filtering has also been fixed, and a regression with MAAS registration occurring before a container NIC’s MAC addresses had been generated has been fixed too.

In LXC a return value bug in the terminal code was fixed and additional tests for were added for lxc-attach and lxc-execute to detect regressions on exit code returned from those commands.

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: https://github.com/lxc/lxd/labels/Easy

You can also find a slightly longer, more detailed list here: Contributing to LXD

FOSDEM 2020 - containers devroom

We will once again be running the containers devroom at the upcoming FOSDEM conference in Brussels, Belgium. This year it’s going to be over the weekend of the 1st and 2nd of February.

The detailed call for papers can be found here: FOSDEM 2020 containers devroom: Call for papers

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.

Virtual machine support

Rework of internal LXD storage handling

Distrobuilder 1.0 release

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

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