Weekly status #217


Weekly status for the week of the 20th of September to the 26th of September.

Introduction

This past week LXD has gained a Prometheus compatible metrics exporter , which is one of our roadmap items. As well as the usual mix of improvements and fixes across several subsystems.

In addition to that Distrobuilder gained extended templating support, although its worth pointing out that this has broken backward compatibility with some keys.

LXD

New features:

  • Prometheus compatible metrics exporter was added that allows scraping metrics for instances on a particular LXD server for graphing/alerting in Prometheus (or similar). For more information please see the design and documentation.

Improvements:

  • Add CPU usage metric support for cgroup v2 systems.
  • Improve API request/response debug logging to include more context (including HTTP code).
  • Adds lxc network forward get command.
  • Updates lxc cluster list to show the server role rather than just a boolean database column.
  • Updates API errorResponse.Render to return a JSON encoded api.ResponseRaw struct, to bring inline with other response types.

Bug fixes:

  • Only require the path config key for tpm devices when attached to a container.
  • Fixed filesystem detection when running on 32bit architectures.
  • Fix regression that prevented the use of raw.lxc during container stop.
  • Added missing syscalls mappings for riscv64.
  • Several storage unmount bug fixes to improve clean LXD daemon shutdown:
    • Skip unmounting LVM storage pools (as this cannot be safely done right now, for more info see https://github.com/lxc/lxd/issues/9278).
    • Stop instances before trying to unmount storage pools.
    • Add VMs to running instances detection before shutting down.

Distrobuilder

Improvements:

  • Extended templating support. Source, Path, and Content can be templated. Note: This breaks backward compatability as some yaml keys are renamed. That is because pongo2 doesn’t support hyphens in key names.
  • Adds retry mechanism when downloading external assets.

Bug fixes:

  • Detect LXD snap socket when importing images.

Dqlite (Go bindings)

Improvements:

  • Adds additional busy err codes to aid with additional Jepsen testing.

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)

  • Nothing to report this week

Dqlite (database)

  • Nothing to report this week

Dqlite (Go bindings)

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

  • Nothing to report this week
2 Likes