Weekly status for the week of the 27th of September to the 3rd of October.
Introduction
The highlight of the past week was the release of LXD 4.19 which includes the new Prometheus metrics exporter feature from our roadmap. For more information please see the release notes and the release video.
LXD
This past week we have added support custom block volume export and container core scheduling. There has also been a focus on improving the clustering reliability and LXD shutdown sequence to fix some intermittent issues seen in our test suite.
New features:
- Added support for exporting custom block volumes.
- Added core scheduling support for containers - this is enabled by default if both the kernel and liblxc support it.
Improvements:
- LXD server shutdown improvements to handle cluster role transition earlier and make the
/internal/shutdown
API endpoint synchronous so thatlxd shutdown
doesn’t depend on the global database being available. - Disable large decrementor support on ppc64le to support more machine types.
- Create directories when using
lxc file pull
with the-p
option.
Bug fixes:
- Fix filesystem volume export for cephfs custom volumes (and added tests).
- Fix metrics IO stats on cgroup2 systems.
- Add instance type to metrics.
- Don’t listen on IPv6 wildcard
::
when specifying0.0.0.0
as the API listen address. - Handle
:<port>
format for API listen address. - Don’t log an “In Use” error when unmounting a custom volume that is in use with another instance.
- Fix cluster remove leader issue that was calling dqlite twice.
LXC
New features:
- Added core scheduling support.
Improvements:
- Several improvements to the build approach.
Distrobuilder
Bug fixes:
- Handle merged /usr in
debootstrap
. - Shellcheck fixes.
Dqlite (RAFT library)
Improvements:
- Extend tracing feature.
Bug fixes:
- Leader removal would sometimes trigger an assertion.
Dqlite (database)
Improvements:
- Added timestamp to trace.
Dqlite (Go bindings)
Improvements:
- Added benchmark tool.
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
- API: Adds URL builder and updates network UsedBy to use it
- Create dirs on pull -p
- lxd/util: Handle ‘:8443’ syntax in ListenAddresses
- Util: ListenAddresses improvements
- lxd: Remove public facing errors that mention cluster “node”
- doc/metrics: typo fix
- Fix clustering_remove_leader calling dqlite twice
- Support custom block and filesystem export for all drivers
- Daemon: Makes /internal/shutdown synchronous
- Fix
lxc config trust remove
help - Cluster: Fix cluster member remove tests
- Storage: Don’t log an error when unmount of custom volume is skipped due to being in use by another instance
- lxd/instance/drivers: Add instance type to metrics
- lxd: add core scheduling support
- lxd/qemu: Disable large decrementor on ppc64le
- Cluster: Shutdown improvements
- Fix storage volume export for cephfs
- lxc/file: Fix file push help message
- lxd/cgroup: Fix GetIOStats on cgroup2
- [GH-9248] Restrict protocol version
- lxd/checkfeature: check whether the kernel supports core scheduling
- lxd/daemon: Fix crash on lxd start when another lxd already running
LXC
- build: add commands, hooks, and templates
- build: check whether compiler supports nonnull and returns_nonnull at…
- github: Drop 16.04 tests
- build: compiler attribute improvements
- lxc: core scheduling support
- tree-wide: cast to core scheduling cookie to llu
- lxc: core scheduling tweaks
- start: make failure to apply core scheduling fatal
LXCFS
- Nothing to report this week
Distrobuilder
Dqlite (RAFT library)
Dqlite (database)
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
- criu: Bump to 3.16
- libtpms: Bump to 0.9.0
- nvidia: Bump to 1.5.1
- swtpm: Bump to 0.6.1
- zfs: Bump to 2.0.6
- zfs: Bump to 2.1.1
- lxd: Bump to 4.19