Weekly status for the week of the 25th November to the 1st of December.
This past week’s primary focus has been on the continued storage layer migration and on adding features for the initial virtual machine functionality.
On the VM front the plumbing has been added to make the
lxc list command quicker when VMs are starting and the
lxd-agent has not started yet, as previously this has caused the command to freeze for several seconds. This has been achieved by moving the state check to a background go routine and using Qemu’s management API to access a shared buffer that the
lxd-agent will use to write its status into which will reduce the need to try and connect to VMs over vsock that we know don’t have an agent running yet.
Hugepages support has also been added to VM, as well as a virtual GPU and freeze/unfreeze features.
Also related to VM support being added, the documentation is being updated to change references of “container” to “instance” to reflect the fact that LXD can now support multiple instance types. Further documentation changes will occur in the future to indicate which features work with specific instance types.
On the new storage layer front work has continued into linking the new package into each part of LXD that needs it (this week it has been backup & restore, and migration) and implementing the functionality required for the
Several bugs were fixed in LXD related to RBAC, console disconnection and network config propagation in clustering.
The database change groundwork was also added to accommodate multi-architecture clusters in the future.
On the LXC front work continues on adding cgroupv2 support using BPF.
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
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 virtual machine support
- Various kernel work
- Stable release work for LXC, LXCFS and LXD
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.
- Fix network config propagation in cluster
- Storage instance interface
- Storage restore instance snapshot
- Storage create backup
- Storage backup import cleanup
- Change ‘containers’ to ‘instances’ in used_by fields for projects and profiles
- Fix VM image import/export
- Add hugepages support for VMs
- Fix console disconnection
- Database changes for multi arch cluster
- Backup instance config
- Backup: Simplifies squashfs restore handling
- Storage backup import
- Document container launch algorithm on cluster
- Storage create from migration cleanup
- lxd/storage/zfs: Fix pool import
- Background QMP handling, tweak to machine definition and agent handling
- Storage migration sink cleanup
- VM: Add freeze/unfreeze and file removal
- Don’t block RBAC on startup
- cgfsng: return attach fail if container stopped
- cgroups: add cgroup2 device controller support
- cgroup2: add bpf device controller live update
- cgroups/devices: use dedicated enums
- Nothing to report this week
- Nothing to report this week
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.
- Updated lxc in focal to fix autopkgtest failure
- Reworked the snap shutdown logic
- Tweaked ZFS handling to pass hostid to the snap
- Cherry-pick recent bugfixes