Weekly status #235


Weekly status for the week of the 7th February to the 13th of February.

Introduction

The highlight of the past week was the release of LXD 4.23, this includes 4 new features from our roadmap and several other improvements, along with lots of smaller bug fixes and improvements.

@stgraber will be going through the release in his next video:

LXD

The minimum Go version supported for LXD is now Go 1.16.

New features:

Improvements:

  • Added end-of-line marker to metrics output and reduces metrics caching to 8s to accommodate the default Prometheus scrape time of 15s.
  • Optimised and reduced database queries to improve the speed of instance creation when operating a cluster over a high latency network (>10ms).
  • Added the trusted cluster member’s certificate fingerprint into the HTTP request context (using the username field) to allow for intra-cluster requests to verify which cluster member the request is coming from - this will be initially used for setting up intra-cluster event listener filtering.
  • Added several improvements to the events subsystem as a precursor to the forthcoming event-hub functionality; replaces the isLocal concept with specific event source definitions (so we can tell whether an event was generated locally, pulled via a remote listener or push from a remote client), and replaces the listener level local server location with a server level local location field, which means we no longer need to perform a deep-copy of each event as its sent to each listener.

Bug fixes:

  • Fixed an intermittent crash in lxc exec.
  • Added checks for IPv6 being enabled before trying to setup reverse path filter on routed NIC.
  • Fixed cluster failover problem when the leader closes down cleanly and remaining non-leaders don’t properly close the remote connection to the former leader causing database transaction errors.
  • Now checks that the VM lxd-agent process is running inside the VM guest using the QEMU ringbuffer status check, before trying to connect to it via the vsock connection. This avoids vsock connections hanging if the agent isn’t running.
  • Reworked concurrency model of lxc console for VGA mode to ensure proper socket and channel cleanup.

Dqlite (RAFT library)

Bug fixes:

  • Fixed a bug that came up during jepsen tests: barrier before every snapshot.

Dqlite (Go bindings)

Improvements:

  • Updated the Dqlite App to write “Switching Protocols” header to hijacked response of external connections, as this will always be needed and saves the calling user needing to do it.

YouTube videos

The LXD team is running a YouTube channel with live streams covering LXD releases and weekly videos on different aspects of LXD. 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 planned currently.

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.

  • Reworked cluster event distribution mechanism
  • New unified P2C/P2V tooling
  • Token based remote add
  • Network ACL log API
  • Prometheus & grafana integration with the LXD charm
  • 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

  • Nothing to report this week

LXCFS

  • Nothing to report this week

Distrobuilder

  • Nothing to report this week

Dqlite (RAFT library)

Dqlite (database)

  • Nothing to report this week

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

  • libusb: Bump to 1.0.25
  • nvidia-container: Bump to 1.8.0
  • spice-protocol: Bump to 0.14.4
  • sqlite: Bump to 3.37.2
  • lxd: Bump to 4.23
  • lxd: Cherry-pick upstream bugfixes
  • ovn: Include ovn-sbctl
1 Like