Weekly status for the week of 29th May to 4th June.
Introduction
This past week has primarily been focused on getting the issue count down with a variety of improvements and bug fixes.
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:
- Allowed hot-plugging of
ovn
NICs into VMs. - Switched the order of image deletion and creation for
lxc publish --reuse
command. The order is now: create image, delete image if necessary, finally add/remove any aliases. - Any left over operations for the local LXD server are cleared on start up.
Bug fixes:
- Fixed bug that meant instances that were previously running were not restarted during cluster instance healing evacuation.
-
lxc init
andlxc launch
now accept theDescription
field from stdin. - Fixed bug in
lxd recover
that meant that database records created were not all removed when an error occurred. - Fixed bug where loop backed files created were not removed if an error occurred during storage pool creation.
- LXD now handles more statuses from QEMU so that VMs do not end up in a
STOPPED
state if the the QEMU process is still running. If the QEMU process is not in a recognized state then it will show asERROR
allowing a forced stop withlxc stop -f
. - Fixed some inconsistencies in the resource URLs for instance snapshot operation responses.
- Fixed potential race condition during VM migration that could cause incorrect failure due to context cancellation on disconnect at end of migration.
- Fixed
zfs list -r
recommendation in ZFS storage pool create when a non-empty pool is found.
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
- shared/ws/mirror: Allow passing nil to Exec
- lxd/device/nic/ovn: Enable hotplug for VMs
- Doc: cluster healing
- doc/UI: update instructions for enabling the UI
- doc/CPU limits: clarify what live update means for CPU limits
- Cluster: Fix instance start after cluster member healing
- doc/storage/zfs: add missing storage volume configuration
- doc/faq: add information about
lxc monitor
- lxc/init: Accept Description field from stdin
- doc/API: add video link and small updates
- Perform alias and image deletion after image creation
- Storage: Return reverters from ImportInstance and ImportCustomVolume to allow revert of storage DB volumes
- Daemon: Clear left over operations for member during start up
- gomod: Updates github.com/canonical/go-dqlite to 1.20.0
- Storage: Cleanup pools on creation failure
- Images: Rework concurrent download locking
- lxd/db:
UpdateImageLastUseDate
is aClusterTx
method - Instance: Handle VM panic by shutting down
- Instance: Pause on VM panic
- Operations: Refactor op.Wait() to return an error so operation failures can be easily discovered
- api: Set correct instance resource path for snapshot operations
- doc/faq: add info about hanging instances
- VM: Fix potential race condition with context being cancelled too early in restoreState
- Code refactor before adding instance rebuild support
- lxd/storage/drivers/driver/zfs: Fix zfs list recommendation in Create
LXC
- Nothing to report this week
LXCFS
- Nothing to report this week
Distrobuilder
- 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
- Nothing to report this week