Weekly status #292

Weekly status for the week of 27th March to 2nd April.

Introduction

This past week there has been a focus on VM instance functionality, with support for differential VM image downloads and migration subsystem changes that lay the ground work for QEMU to QEMU live migration support.

This week @stgraber has added two new videos.
The first continues his series on LXD instance devices and covers the none device:
https://www.youtube.com/watch?v=6NCLnd5_guQ

The second video covers the LXD image serving infrastructure:
https://www.youtube.com/embed/pM0EgUqj2a0

Job openings

Canonical Ltd. strengthens its investment into LXD and is looking at building multiple squads under the technical leadership of @stgraber.

As such, we are looking for first line managers (highly technical) and individual contributors to grow the team and pursue our efforts around scalability and clustering.

All positions are 100% remote with some travel for internal events and conferences.

For more info please see LXD related openings at Canonical Ltd (2022-2023)

LXD

Improvements:

  • Added support for differential VM image download to simplestreams.
  • Reworked migration subsystem so that intra-cluster ceph instance moves are now handled by the per-instance driver migration logic, rather than being its own implementation (using stateful stop & start). This lays the ground work for supporting live QEMU to QEMU VM migration.
  • Reworked migration subsystem to remove unnecessary concept of src/dest field containing the migrationFields struct and instead embedded that struct directly into the associated src/dest struct that already exists. This removed the need for lots of logic testing for which field to use based on whether it was a push or pull migration.
  • Reworked how the migration connections (control, filesystem and state) are established and managed. Previously connections were expected to be established before the negotiation process had taken place, and for backward compatibility this is still the case for containers, as well as for VMs (but just for control and filesystem connections). But internally this has now been pushed down into the instance driver so that each driver can decide when to connect/wait for a particular type of connection to be established. This lays the ground work for the VM driver to add live QEMU to QEMU migration feature detection during the negotiation phase and then, if that feature is available on both sides, connect/wait for the state connection to be established before performing live state transfer over it.
  • Reworked CPU topology logic for the VM driver. This reduces the number of times the CPU topology was calculated from 3 down to 1 and moved all of the limits.cpu handling over to it making it much easier to fix issues in the future.

Bug fixes:

  • Fixed an issue that was preventing instance creation when using an alternative target whether specified by the user or as the result of internal placement logic. We were forwarding the request to that target with the notify bit on. This would then cause the target server to think this was a legitimate notification, that is, the completion of a cluster internal instance relocation. LXD no longer sets the notify bit when forwarding the instance creation request to another cluster member.
  • Fixed a crash in certain circumstances when updating server config in api10Put caused by passing nil for rather than localConfig to doApi10UpdateTriggers.
  • Fixed candid based authentication on file transfers.

LXD Charm

Improvements:

  • General cleanup and improvement in the HTTPS relation.

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 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.

  • 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

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
1 Like