Weekly status #168


Weekly status for the week of the 28th of September to the 4th of October.

Introduction

LXD

This past week has seen several new features added to LXD.

On the networking front, we have added support for stateful DHCPv6 for OVN networks. This can be enabled using the usual ipv6.dhcp.stateful config key.

We have also improved the output of fallback instance IP address list when LXD cannot contact the lxd-agent process inside a VM. In these scenarios we had previously looked at the DHCPv4 leases and the IPv6 neighbour cache on the parent interface. We now also support inspecting the OVN northbound database for IP addresses associated with a virtual port, and for bridged NICs we use the IP neighbour cache for both IPv4 and IPv6 address. For both ovn and bridged NICs we now also ‘guess’ the IPv6 address as the EUI64 address derived from the NIC’s MAC addresses if ipv6.dhcp.stateful is disabled on the parent network. This should improve the accuracy of the IP address output in lxc ls and lxc info when running VMs without an lxd-agent (such as Windows).

Instance and custom volume backups gained the ability to import a backup file as a different instance name or custom volume. We have added an optional argument to specify this to the lxd import and lxd storage volume import commands.

Also on the storage front, storage pools have gained a rsync.compression setting to which allows rsync compression to be disabled during volume transfers. This can significantly speed up transfers when the bottleneck is CPU rather than bandwidth. Rsync compression remains enabled by default.

Virtual machines have gained support for live memory shrinking and growth back to boot time size using the balloon device inside the VM guest. This can be controlled using the lxc set <instance> limits.memory=<size> command.

In some circumstances the VM’s qemu process can hang in such a way that LXD had previously reported the VM as stopped, but it could not be started again because it was still partially running. This issue is now detected, and will show the VM in an error state.

When launching VMs inside a restricted project that does not allow volumes to be attached, this preventing attaching the cloud-init config driver. This is now always allowed inside restricted projects, allowing LXD to control cloud-init.

Finally, there have been several AppAmor fixes that were preventing dnsmasq operation in some environments, and a bug that allowed empty passwords to be set during cluster setup (and subsequently prevented any nodes from joining the cluster) has now been fixed.

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

  • Nothing to report this week

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

  • lxd: Cherry-pick upstream bugfixes