Weekly status #218


Weekly status for the week of the 27th of September to the 3rd of October.

Introduction

The highlight of the past week was the release of LXD 4.19 which includes the new Prometheus metrics exporter feature from our roadmap. For more information please see the release notes and the release video.

LXD

This past week we have added support custom block volume export and container core scheduling. There has also been a focus on improving the clustering reliability and LXD shutdown sequence to fix some intermittent issues seen in our test suite.

New features:

  • Added support for exporting custom block volumes.
  • Added core scheduling support for containers - this is enabled by default if both the kernel and liblxc support it.

Improvements:

  • LXD server shutdown improvements to handle cluster role transition earlier and make the /internal/shutdown API endpoint synchronous so that lxd shutdown doesn’t depend on the global database being available.
  • Disable large decrementor support on ppc64le to support more machine types.
  • Create directories when using lxc file pull with the -p option.

Bug fixes:

  • Fix filesystem volume export for cephfs custom volumes (and added tests).
  • Fix metrics IO stats on cgroup2 systems.
  • Add instance type to metrics.
  • Don’t listen on IPv6 wildcard :: when specifying 0.0.0.0 as the API listen address.
  • Handle :<port> format for API listen address.
  • Don’t log an “In Use” error when unmounting a custom volume that is in use with another instance.
  • Fix cluster remove leader issue that was calling dqlite twice.

LXC

New features:

  • Added core scheduling support.

Improvements:

  • Several improvements to the build approach.

Distrobuilder

Bug fixes:

  • Handle merged /usr in debootstrap.
  • Shellcheck fixes.

Dqlite (RAFT library)

Improvements:

  • Extend tracing feature.

Bug fixes:

  • Leader removal would sometimes trigger an assertion.

Dqlite (database)

Improvements:

  • Added timestamp to trace.

Dqlite (Go bindings)

Improvements:

  • Added benchmark tool.

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)

Dqlite (Go bindings)

LXD Charm

  • 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

  • criu: Bump to 3.16
  • libtpms: Bump to 0.9.0
  • nvidia: Bump to 1.5.1
  • swtpm: Bump to 0.6.1
  • zfs: Bump to 2.0.6
  • zfs: Bump to 2.1.1
  • lxd: Bump to 4.19