Weekly status for the week of the 25th to the 31st July.
Introduction
The highlights of the past week were the releases of LXC 5.0.1 LTS and LXCFS 5.0.1 LTS.
One thing to be aware of is that there is a known issue with LXCFS 5.0.1 when used with Fuse 3, please see https://github.com/lxc/lxcfs/issues/549.
On the LXD front we saw the completion of one of our roadmap items, the new Instance Ready state feature, which will allow application(s) running inside instances to report that the instance is ready for operation (as opposed to just started) which will then show up in the LXD API and lxc list
output.
LXD
New features:
- Added a new instance ready state feature, which allows an instance to indicate to LXD via the devlxd API that it is operational (as opposed to just started). For more information please see [LXD] Instance ready state and Communication between instance and host - LXD documentation.
Improvements:
- Automated spell checking has been added to our documentation CI checks and any issues with the previous documentation have been corrected.
- Added the ability to specify a LXD remote address manually when using a token. This is useful in the scenario where all the server-side generated addresses are unreachable from the client due to SNAT being used. LXC will now ask for a manual LXD address if all addresses within the token are unreachable.
- Completed the migration of our database logic to the new V2 generator.
Bug fixes:
- Fixed a regression in LXD 5.4 that prevented the use of
lvm.stripes.*
setting on LVM storage pools that used a thin pool. - Fixed some incorrect URLs in the API
SyncResponseLocation
and lifecycle events. - Fixed a regression in LXD 5.4 that exposed a bug in Dqlite which restricted the amount of query bindings that could be used to 255. This issue only affected LXD installations where an instance list operation would generate >256 results. Until the Dqlite bug can be fixed we have worked around it by not using query bindings for the instance list query. This is still safe from SQL injection as the parameters being passed in are always integers.
- Fixed a regression from LXD 5.3 that was preventing listing of instances when some instances had hundreds of snapshots. The queries for loading snapshot information have been made more efficient.
- Fixed a crash in the resources API VPD parser.
LXC
New features:
- Allow
lxc-usernsexec
to select which {g,u}id to switch to.
LXCFS
Bug fixes:
- Fixed re-initialization issue when using fuse3.
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] Object storage (S3 API)
- [LXD] Instance ready state
- 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
- Doc spell check
- Add instance Ready state
- doc/authentication: add information about a server behind NAT
- lxc/remote: Allow specifying alternate server address for tokens
- Generator: New generator logic for Warnings
- DB: Remove unused warning types
- doc/storage: add link to video about benchmarking storage drivers
- DB: Fix bug in GetNetworkLoadBalancers and other DB query tweaks
- Storage: Fix “lvm.stripes cannot be used with thin pool volumes” error
- LXD: Lifecycle and SyncResponseLocation fixes
- Remove duplicate prepared statement store
- LXD: Update SyncResponseLocation URLs to include project parameter where appropriate
- DB: Don’t use query parameters with IN statement when loading instance config in InstanceList
- lxd/resources: Fix VPD parser crash
- DB: Fixes “Failed to get snapshots: Failed to fetch from “config” table: sql: Rows are closed” errors
- docs: Update storage create pool howto
LXC
LXCFS
Distrobuilder
- Nothing to report this week
Dqlite (RAFT library)
- Nothing to report this week
Dqlite (database)
- Nothing to report this week
Dqlite (Go bindings)
- Nothing to report this week
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
- lxcfs: Bump to 5.0.1
- lxc: Bump to 5.0.1
- lxd: Cherry-pick upstream bugfixes