Weekly status #238


Weekly status for the week of the 28th February to the 6th March.

Introduction

Last week the LXD were gathered together for the first time since March 2020 and were focussed on our roadmap items. Two such items were merged; Degraded startup for storage pools and support for remotely mounting an instance’s filesystem on a local system using the lxc file mount command.

Additionally @stgraber has added a video on using the LXD metrics exporter with Prometheus and Grafana:
https://www.youtube.com/watch?v=EthK-8hm_fY

LXD

New features:

  • Degraded startup for storage pools: Previously if a storage pool could not be initialised then LXD startup failed, even if other storage pools were available. This often complicated recovery as if the storage pool could not be manually restored then it would require manual modification of the LXD database to get it running again. Now LXD will detect if a storage pool is not available on start up, and as long as there are no storage patches that need applying, will allow LXD to startup (albeit it with instances and custom volumes on those storage pools being unavailable). Furthermore LXD will continue to periodically try and initialise the storage pool in the background and if it becomes available, and instances that were due to be auto-started when LXD started will then be started up.
  • File streaming API and lxc file mount command: Building on our recently added forkfile feature that simplified and improved the performance of accessing files from instances, the new file streaming API brings provides an SFTP share of the instance’s filesystem to the LXD Go client package. Then using that new functionality we now provide the lxc file mount command that will use sshfs to mount the SFTP share on the local system running the lxc command, even if the instance is on a different server. All communication is done using the existing LXD API, so no additional ports or services needed. We plan to add support for providing a local SSH SFTP server from the lxc command soon for scenarios where sshfs isn’t available.

Improvements:

  • Improve VM image secure boot not supported error by indicating which setting on the instance needs disabling to allow the image to be used.
  • Adds the Grafana dashboard source to the git repository.
  • Add support for recent versions of OVN ovn-nbctl command to detect the multiple routing table output format for static routes list.
  • Allow rw remount of /run in AppArmor profile as some distros require this.

Bug fixes:

  • Fix a regression in image unpacking that caused only part of the image to be unpacked which was introduced with the recent AppArmor protection of unpack commands.
  • VM io_uring regression fixes: When QEMU io_uring support was added, this caused some issues when using QEMU on storage pools that did not support Direct I/O or were loop backed. These scenarios are now handled and io_uring is disabled for those volumes.
  • Fix errors caused by multiple identical BGP prefixes being added but not being able to be removed.

Dqlite (RAFT library)

Bug fixes:

  • Fix assert crash in uv_append by checking if segment wasn’t closed in write request cb.

LXD Charm

Improvements:

  • Tell juju deploy to fetch charms from the Charmhub.

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.

https://www.youtube.com/lxd-videos

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)

  • 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

  • Nothing to report this week

Snap

  • ovs: Bump to 2.17.0
  • ovn: Bump to 21.12.0
  • lxd: Cherry-pick upstream bugfixes
1 Like