Weekly status for the week of the 27th of July to the 2nd of August.
Introduction
The highlight of the past week was the release of LXD 4.4. Please see the release notes for more information.
LXD
On the networking front, in addition to the 4.4 release above, LXD also saw some improvements to the new macvlan
and sriov
managed network feature to support adding mtu
and vlan
options to these managed networks.
We continue to make structural changes to the networking subsystem to accommodate the forthcoming OVN feature; these include moving the static DHCP lease allocation logic out from the bridged
NIC driver into its own package for use with OVN’s uplink interface, and splitting the veth host-side interface initialisation function into separate functions so that each config setting can be configured on a per-NIC type basis (as OVN only needs to use a subset of them).
An issue with the 4.4 release that prevented starting containers on systems that did not have AppArmor installed has been fixed. This will be cherry-pick into the snap package shortly.
On the clustering front, an issue preventing updating of the recently introduced Failure Domains feature has been fixed. Moving VMs between cluster nodes is now also possible.
We have added support for moving an instance from a standalone node to a clustered node using the existing --target
argument.
There have been some optimisations to our seccomp code to use process_vm_readv()
rather than pread()
in order to read multiple syscall arguments at once.
The documentation has seen an addition to explain how to mount volumes in the snap package’s mount namespace when performing disaster recovery.
LXC
On the LXC side, an improvement to our seccomp handling was added to ensure compatibility with the recent Linux 5.8 release. Also an issue preventing building LXC on some platforms due to missing headers was fixed.
Upcoming events
- OSTConf (online, 10 -13 August 2020)
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
- lxd/device: fix empty error message when tc fails
- test: Wait for operations to be removed from the database
- Networks: Adds mtu and vlan options for macvlan and sriov networks
- seccomp: switch from individual pread() to process_vm_readv()
- seccomp: fix i386 builds
- Fix migration of VMs
- Network: Splits host veth helper functions
- Allow using
lxc move --target
when only target is cluster - Network: DHCP static allocation package
- lxd/main_activateifneeded: Clarify ‘No DB’ debug statements
- lxd/cluster: Fix failure domain updates
- Cover snap mount namespace
- lxd/apparmor: Don’t fail on missing apparmor
LXC
- seccomp: remove seccomp fd from event loop after task exited
- seccomp: add missing header
- syscall: don’t fail if __NR_signalfd is not defined
LXCFS
- Nothing to report this week
Distrobuilder
- 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
- Bump to LXD 4.4
- Cherry-pick LXD bugfixes
- Cherry-pick LXCFS bugfixes
- Cherry-pick LXC bugfixes