Weekly status for the week of the 26th September to the 2nd October.
Introduction
This past week has been a bug fixes and improvements week as we finish off the last of our roadmap items for this cycle.
LXD
Improvements:
- Added basic cloud-init schema validation.
- Allow
proxy
devices (innat=true
mode) to be added & removed when the VM instance is running. - Improved error message returned to user when local storage buckets cannot be created due to missing
minio
command. - Use the go-criu package for CRIU dump statistics.
Bug fixes:
- Fixed race condition in VM
lxd-agent
which was causing systemd unit to become unblocked before the/dev/lxd/sock
socket file had become available. This was causing issues with cloud-init. - Fixed instance AppArmor profile to allow reading
/proc/pid/cpuset
. - Fixed an issue with cgroup
io
stats parsing that was breaking on more recent kernels due to brittle parsing logic. It has now been made more flexible. - Fixed several minor issues related to the recently added Loki log aggregation feature.
- Fixed an issue with VM support detection. LXD now longer offers VM support if the
/dev/vsock
file is missing. - Fixed an issue that was causing an unnecessary unmount and mount of running instance volumes on LXD start up when using the metrics scraper endpoint. The LXD daemon now waits until the server is ready before handling metrics and bucket API requests to ensure the initial instance volume mount counter is initialised first.
- Fixed missing conflicting address detection for
ovn
NICs (aligns with same feature forbridged
NICs). - Fixed
ovn
NIC static IP DHCPv4 reservations so that they are configured at NIC add time and not NIC start time. This way a stopped instance with anovn
NIC that has itsipv4.address
specified will not potentially have its static allocation taken by another running instance.
Dqlite (database)
Bug fixes:
- Fixed an issue that prevented the use of >255 statement parameters.
YouTube videos
The LXD team is running a YouTube channel with live streams covering LXD releases and weekly videos on different aspects of LXD. 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 planned currently.
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.
- Stable release work for LXC, LXCFS and LXD
- [LXD] ACME support for server certificate
- Dqlite disk-only operation mode
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
- docs: Added snap version directory for global remotes
- lxd-agent: Only unblock systemd once /dev/lxd/sock is started
- Enable link checker for the documentation
- doc: update IRC link
- lxd/apparmor/instance: allow reading /proc/pid/cpuset
- tests: Respect LXD_SHIFTFS_DISABLE
- doc/metrics: add
lxd_cpu_effective_total
to the list of metrics - Cgroup: Update GetIOStats to be more flexible
- Loki fixes
- cloud-init schema validation
- Daemon: Wait until server is ready before handling metrics and bucket API requests that can cause mounts
- Storage: Expose minio start up error to client
- VM: Dont offer VM support if /dev/vsock is missing
- doc: Allow forwarded traffic to the lxd bridge for proxy nat devices
- Device: Allows hot plugging proxy device (in nat mode) for VMs
- doc/header: update to new menu style for linuxcontainers.org
- lxd: use go-criu/crit for dump statistics
- Network: Adds duplicate address check for
ovn
NICs - Add client.operation.WaitContext
- API/Swagger update
- doc/server: update Loki config
- Storage: Don’t fail ZFS pool Mount if policy cannot be applied to existing datasets
- Network: Separate DNS IP configuration from dynamic IP extraction logic
- Network: Manage DHCPv4 reservations when adding/removing OVN NICs
LXC
- Nothing to report this week
LXCFS
- Nothing to report this week
Distrobuilder
- Nothing to report this week
Dqlite (RAFT library)
Dqlite (database)
- Support more statement parameters
- github actions: codecov v2 → v3
- tuple: Tweak assertion to avoid warning on LP32 archs
Dqlite (Go bindings)
LXD Charm
- 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