Weekly status for the week of 27th February to 5th March.
Introduction
This past week LXD gained support for virtual machine generation IDs, as well a new storage pool setting source.wipe
. There were also several fixes for the recently added ZFS block mode filesystem volume feature.
Additionally @stgraber has continued his series on LXD instance devices, this week covering the tpm
(Trusted Platform Module) device:
https://www.youtube.com/watch?v=iE1TN7YIqP0
Job openings
Canonical Ltd. strengthens its investment into LXD and is looking at building multiple squads under the technical leadership of @stgraber.
As such, we are looking for first line managers (highly technical) and individual contributors to grow the team and pursue our efforts around scalability and clustering.
All positions are 100% remote with some travel for internal events and conferences.
For more info please see LXD related openings at Canonical Ltd (2022-2023)
LXD
Improvements:
- Added a
source.wipe
storage pool configuration setting. This instructs LXD to forcefully wipe any existing partitions and filesystem headers from the source device specified during storage pool creation. This can be useful if re-using an existing storage device for a new storage pool. However, as this will be destructive, please use with care! - Added support for virtual machine generation IDs. Generation IDs are UUIDs that are changed in each time a VM is initialized from a source that means its place in time goes backwards (such as restoring from a snapshot or importing from a backup). The Generation ID is exposed to the VM guest operation system which means that applications can then choose to reinitialize their own internal state if needed. This is implemented by regenerating the VM’s
volatile.uuid
which is then passed to the VM guest. - Several improvements to documentation; added an FAQ section to record where
lxc
stores its configuration files, and cleaned up the cloud-init section.
Bug fixes:
- Several fixes around the recently added ZFS block mode filesystem volumes feature. Including adding the missing
zfs_block_mode
API extension so that API clients can detect if a LXD server has this feature or not. - Fixed a bug in the storage buckets S3 API handler that was not correctly excluding the URL parameters before extracting the bucket name from the URL path.
LXC
Improvements:
- Added support for squashfs images in oci via atomfs.
Bug fixes:
- Apparmor: don’t try to mmap empty files
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.
https://www.youtube.com/lxd-videos
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.
- 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
- lxd: tweak do_move_forkmount()
- Instance: Add support for VM generation ID
- Storage: Only use path parts of URL to extract bucket name
- Introduce
source.wipe
to storage-pool config - doc: add sphinx-copybutton extension
- doc: fix documentation warnings
- doc: removed the
-p 1053
param from thedig
call - Storage: Regenerate UUID on ZFS optimized migration
- api: Add zfs_block_mode API extension
- lxd/main_interactive: Tweak LVM thin pool error
- Storage: Sync and freeze in-use ZFS block mode filesystem volumes during consistent copy
- doc/faq: add a section explaining where lxc stores its config
- Clean up cloud-init docs
- Storage: Also pass -f to zpool create on source.wipe=true
- Storage: remove redundant ZFS version detection
- test: Use per-instance storage pool VG for clustering tests
- doc: Small doc fixes
- GitHub actions: cancel running tests
LXC
LXCFS
- Nothing to report this week
Distrobuilder
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
- snapcraft: Switched the edge channel to core22