Weekly status #252


Weekly status for the week of the 6th June to the 12th June.

Introduction

Last week we continued our focus on stability that we’ve had over the last few weeks by continuing to work through our issues backlog (and any other issues we find along the way) expanding our test suite as we go.

There’s also been a community contribution to allow customizing the VM QEMU config to support a wider variety of options than officially supported by LXD.

Additionally @stgraber has added a video covering the network forwards feature in LXD:

Related to network forwards, work has also begun on creating the specification for adding support for OVN load balancers in LXD.

LXD

Improvements:

  • Added a raw.qemu.conf config option which can be used to add/override/remove settings in the qemu.conf file generated by LXD for VMs. See Instance configuration - LXD documentation for more details.
  • Standardized our revert logic process by returning a revert.Hook from functions that provide revert mechanism (as opposed to accepting a revert.Reverter as an argument).
  • Future proof LXD migration index header version negotiation by only offering up to the locally supported version during negotiation with the source side.

Bug fixes:

  • Require a listen address for lxc config trust add token issuance. Before it was possible to get LXD to issue an unusable token if LXD didn’t have core.https_address configured.
  • Custom volume optimized refresh fixes.
  • Improve migration protocol to allow sending (and thus re-creating) the instance storage volume config (and associated snapshots). Previously, volume record config was not sent for instance migrations.
  • Use getent in lxd-user because the Go os/user effectively parses /etc/passwd which is incompatible with external authentication through NSS.
  • Fix invalid QEMU configuration option bootIndex from being used when adding a PCI device pass-through.

LXC

Improvements:

  • Removes autotools build support and replaces with meson.

Dqlite (RAFT library)

Improvements:

  • Added automatic startup recovery of corrupt segment files. By detecting them and moving them out of the way at startup. Once moved out of the way, the next startup can complete successfully requiring no manual intervention. The renamed files are named “corrupt-{timestamp}-{filename}” and are kept around in case they would contain useful data.

Bug fixes:

  • Fixes an issue where a cluster with pre-vote enabled remained unavailable when there was a quorum of nodes online but where one of the nodes has an outdated term resulting in the other servers ignoring its vote.
  • Fixes an issue to prevent a cluster deadlock, with pre-vote enabled, when a node with a stale term reconnects to the cluster but its vote is needed to form quorum.

LXD Charm

Improvements:

  • Add get-client-token action which returns a client certificate add token to use by the client as lxc remote add <remote-name> <token>.

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.

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

Dqlite (RAFT library)

Dqlite (database)

  • Nothing to report this week

Dqlite (Go bindings)

  • Nothing to report this week

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

  • LXC 4.0.12 released to both Ubuntu 20.04 and 21.10.

Snap

  • Nothing to report this week
1 Like