Weekly status #125


Weekly status for the week of the 18th November to the 24th of November.

Introduction

This past week has seen continued focus on getting the virtual machine and storage layer rework ready for the next release.

On the VM side basic state information has been added to the lxc ls and lxc info commands to show IPv4 address and packet statistics when the VM’s lxd-agent is not running by extracting the information from the LXD DHCP leases file and host-side network interfaces. This feature will only work when using bridged NIC, and the IP info will only show when bridged to a managed LXD network. Due to the way IPv6 SLAAC and DHCPv6 don’t use MAC addresses in the leases file this will not be able to show IPv6 addresses. So for full state information the lxd-agent running inside the VM is still the preferred option.

The documentation structure has been updated to refer to “instances” rather than “containers” to accommodate future VM specific documentation.

The OVMF path containing the NVRAM files for EFI on the host has been made configurable using the LXD_OVMF_PATH environment variable. This is to support snap packaging.

Support for aarch64 VMs has also been added.

On the storage layer rework project, support for copying and refreshing instances has been added, as well as laying the groundwork for supporting multiple storage drivers for VMs by ensuring the storage volumes are mounted during relevant stages in the VM life-cycle.

Several bugs in the storage system have been fixed, including fixing migration when using zfs 0.6, and supporting root path mounts when using cephfs.

On the distrobuilder front support for custom flags being passed to the package installer has been added. This allows specific behaviour in the package manager to be requested, for instance using --no-install-recommends in apt. Support for adding custom repositories (in the yaml file) for the apk package manager in Alpine Linux has also been added.

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: https://github.com/lxc/lxd/labels/Easy

You can also find a slightly longer, more detailed list here: Contributing to LXD

FOSDEM 2020 - containers devroom

We will once again be running the containers devroom at the upcoming FOSDEM conference in Brussels, Belgium. This year it’s going to be over the weekend of the 1st and 2nd of February.

The detailed call for papers can be found here: FOSDEM 2020 containers devroom: Call for papers

Upcoming events

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.

  • Virtual machine support
  • Rework of internal LXD storage handling
  • Distrobuilder 1.0 release
  • 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

  • Nothing to report this week

Distrobuilder

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

  • Reworked shutdown logic to prevent hangs on system shutdown.