Weekly status #205


Weekly status for the week of the 28th of June to the 4th of July.

Introduction

Moving our IRC presence to Libera Chat

Our IRC (live chat) channels have moved from Freenode over to Libera Chat.
You can now find us in #lxc and #lxc-dev on irc.libera.chat.
A web chat client can be found here: Kiwi IRC

The LXD team is hiring

The LXD team at Canonical is currently looking for a Go software engineer to join our distributed team of engineers. We’re looking for candidates anywhere in Europe or the Americas!

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

LXD

New features:

  • LXD will now try 3 times to start instances (with a 5s pause between each attempt) when auto starting them at LXD start up. This can be useful when the instance being launched depends on an external resource that is not available yet. If the instance still fails to start then a persistent warning is added that can be seen via lxc warning ls.

Improvements:

  • Lifecycle events have been added for images, storage pools and cluster operations.
  • Improved LXD’s handling of unresponsive VM QEMU processes. It now detects when QEMU is running but in an internal-error state and will show the VM instance as having an Error status. LXD will now also allow that QEMU process to be stopped by using a lxc stop -f <instance> force stop command.
  • When joining a new member to a cluster, if a join token is used, LXD now takes the new member’s name from the join token and does not request it from the user. This simplifies the join process.
  • Improvements to the bridged NIC validation so that when using parent property with a LXD managed network, we now apply the same additional validation checks that we do when using the network property.

Bug fixes:

  • When copying instances to a remote server, if the source server has multiple IP addresses then LXD will try and pull from each one of them in an attempt to find the one that is reachable from the other server. However if an error occurred during the migration process, this client-side retry mechanism would trigger a retry of the process using a different source IP. These unnecessary retry attempts would cause delay and additional load, and would sometimes cause the transfer to hang because the original operation had been ended. The client is now updated to differentiate an internal server error from a connection error and only retry on the latter scenario.

LXC

  • The GPG keyserver in the lxc-download template has been changed from hkp://pool.sks-keyservers.net to hkp://keyserver.ubuntu.com for reliability reasons.
  • The lxc-init file is now called as a library function rather than executed.
  • The /sys/devices/virtual/net path is now available as read/write inside the container.
  • A regression caused by Docker’s cgroup namespace emulation (in older versions) preventing LXC from starting has been fixed.
  • Ensure that terminal output newlines are turned into newlines+carriage.
  • Improves lxc-checkconfig so that it lists cgroup namespaces and renames confusing ns_cgroup entry.

Distrobuilder

Several CentOS and Oracle Linux fixes.

Dqlite (RAFT library)

During Jepsen testing an issue was found with the start_index not being set correctly when no closed segments were present. This has now been fixed.

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

  • Nothing to report this week

Distrobuilder

Dqlite (RAFT library)

Dqlite (database)

  • Nothing to report this week

Dqlite (Go bindings)

  • Nothing to report this week

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