Weekly status #131


Weekly status for the week of the 13th January to the 19th of January.

Introduction

Last week was a busy week with the team preparing for the LXD 3.19 release midway through the week. For more information please see the release notes.

In terms of LXD, last week saw the new LVM storage driver get merged (with VM and volume striping support).

Volume striping allows an LVM storage pool to use an existing LVM volume group that spans more than one physical device to spread volumes across multiple devices, which can help I/O performance.

To do this, create a storage pool from an existing volume group that is backed by multiple physical devices, and specify that new volumes should be created with stripes:

lxc storage create lvmStripes lvm source=ExistingVolGroup volume.lvm.stripes=2

You can also optionally specify a stripe size using volume.lvm.stripes.size, e.g. volume.lvm.stripes.size=8KiB

Note: When using LVM thin pools (the default) LVM only supports striping of the thin pool volume itself, so it must be specified at the time of LXD storage pool creation and not at volume creation time.

Virtual machines also gained the ability to have additional disks added to them using the familiar command format:

lxc config device add v1 sdb disk source=/dev/sdb
lxc config device add v1 sdb disk source=/home/my.iso

New disks will appear as new block devices inside the VM.

Virtual machine snapshot and restore support was added using the normal lxc snapshot and lxc restore commands.

When running commands via the lxd-agent inside a VM using lxc exec, a bug was fixed to support window resizing.

Multi-architecture clustering support was also added, allowing an LXD cluster to be comprised of nodes that have different architectures. When deploying a new instance only nodes running an architecture that matches the source image architecture will be selected as a target.

The LXD resources API now outputs the device_id for a disk.

On the LXC front, several bugs were fixed, including restoring the ability to specify a fixed MTU on a bridged or routed network device, a memory leak in the cgroup initialisation, and an issue where an error in a container’s config file could leave an orphaned process and lock when start up fails.

Finally, distrobuilder gained support for building CentOS Stream images.

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.

Full schedule can be found here: https://fosdem.org/2020/schedule/track/containers/

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 virtual machine support
  • 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

  • LXD 3.19 was pushed to the candidate channel
  • The edge channel was reworked to transition to core18
1 Like