Weekly status #223


Weekly status for the week of the 1st to 7th of November.

Introduction

The highlight of the past week was the release of LXD 4.20 which includes several features from our roadmap (OVN network peering and SR-IOV acceleration, an authoritative DNS server, and VM stateful migration). For more information please see the release notes and the release video.

LXD

Over the past week we have been working on a variety of smaller issues to polish the LXD 4.20 release, and @stgraber has added another video, this time on using LXD with Ansible:

New features:

  • Adds ACL integration for OVN peer connection. You can now reference OVN peer connections in ACL rules using @<network_name>/<peer_name> see Network ACLs | LXD for more info.

Improvements:

  • Added the ability for lxc import to read from STDIN using the - argument.
  • Added support for go-dqlite v1.10.1 which supports NULLable fields by using sql.NullTime where needed.
  • Added support for pre-existing empty ceph storage pools.
  • Added support for VM SMT (Hyper Threading) on x86_64 platforms by passing through the topoext CPUID.
  • Add support for NixOS path.

Bug fixes:

  • Fixed uevents for USB devices.
  • Fixed an issue when using external text editors for config changes from the snap, caused by the incorrect use of the HostPath() helper function on LXD generated temp files. It shouldn’t be used to access files that are generated within LXD’s environment.
  • Prevent modification of cluster.https_address when clustered.
  • Fixed an issue that caused ongoing operations shown in lxc operation ls to be duplicated in a cluster environment where the core.https_address was different to the cluster.https_address.
  • Fixed EOF API response during self-removal of non-leader cluster member.
  • Fixed crash during LXD start up caused by fsmonitor during filesystem walk errors.
  • Fixed occasional crash when running lxd shutdown by waiting for daemon to finish starting up before starting clean shutdown sequence.

LXC

Bug fixes:

  • Fixed a regression that broke handling of lxc.proc.* and lxc.sysctl.* configuration settings.

Distrobuilder

Bug fixes:

  • Fixed an issue with RHEL common build directories that was causing the rootfs to be larger than needed.

Dqlite (RAFT library)

Improvements:

Dqlite (database)

Improvements:

Dqlite (Go bindings)

Improvements:

LXD Charm

Improvements:

  • Default to ceph snap builtin tools/configs.
  • Add additional packages that should allow building pyca/cryptography.
  • Interface with ceph-mon to allow pool creation.

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)

Dqlite (database)

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

  • lxc: Cherry-pick upstream bugfixes
  • lxd: Bump to 4.20
  • ovs: Bump to 2.16.1