Weekly status for the week of the 24th February to the 1st of March.
Introduction
This week some of the LXD team are meeting in Frankfurt for an engineering sprint.
In the past week LXCFS has gained support for cgroupv2 (to the extent that cgroupv2 allows it) and has been extensively restructured.
On the LXD front, work has continued on removing the old storage layer and updating any references to it to use the new storage layer.
There was also a series of patches for VM disk management that ensures that the GPT alternative header is moved to the end of the disk when creating and resizing VMs as is required by the GPT spec and to avoid kernel log warnings. This also highlighted an issue with ZFS volmode
not being respected that was worked around.
An unnecessary filesystem creation step for VM disks was removed for LVM and Ceph volumes.
An issue with old log removal also removing the VM control socket file has been fixed.
Additionally an issue with backup tarball creation when the container filesystem contained a specific symlink has also been fixed.
On the LXC front a regression in the lxc.cgroup.pattern
config setting was fixed.
Work also continued on adding VM image building support to distrobuilder, including adding lxd-agent
inside the images.
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
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
- Distrobuilder virtual machine support
- Storage database cleanup/rework
- 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
- Storage: Updates internalImport to use new storage framework
- lxd/backup: Have tar not transform symlink targets
- Project limits
- Storage: Removes usage of old storage pool loader
- Storage: Fixes GPT alternative header not being at the end of the VM block device
- lxd/storage/zfs: Set volmode=none for VM datasets
- Update Project Tab Complete Script
- Removed Erroneous Space
- Logging: Updates log rotate to only remove .log files
- Honor “features.profiles” when expanding instance configs
- lxd/patches: Updates patches to use new storage driver mount/unmount
- scripts: Fix syntax errror
- lxd/db: Start-up check ignores pending nodes with out-of-date schema
- Storage: More removal of legacy driver usage
- Storage: Dont format LVM block volumes with filesystem
- lxd/storage/zfs: Skip volmode on 0.6
- Storage: Removes legacy storage interface
- lxc/containers: Fix cgns-less fallback
- Storage: Don’t format ceph block volumes with a filesystem
- lxd/storage/drivers: Don’t use named temporary dirs
LXC
- cgroups: remove unused method and cleanup cgroup_exit()
- cgroups: honor lxc.cgroup.pattern if set explicitly
- cgroups: honor lxc.cgroup.pattern if set explicitly II
- src/lxc/raw_syscalls.c: fix sparc assembly
LXCFS
- bindings: port cpuset to new cgroup getters and implement cgroup2 sup…
- bindings: port blkio to new cgroup getters
- bindings: port cpuview to new cgroup getters & cleanup macro expansion
- bindings: rework {con,de}structor
- cgroups: fixes and improvements
- restructure everything
- tree-wide: post-restructuring cleanup
- lxcfs: add --pidfd option
- bindings: initialize safely & compiler-based hardening
- bindings: cleanup various parts
- bugfixes
- meminfo: add some more metrics
- proc_fuse: ensure struct memory_stat is properly zeroed
- support ASAN and UBSAN + bugfixes
Distrobuilder
- shared/chroot: Make /dev/fuse read-only
- shared: Close created files
- generator/lxd-agent: Fix systemd units path
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