Weekly status for the week of 24th April to 30th April.
Introduction
This past week some of the LXD team were in Prague for the Canonical roadmap sprint and this week the rest of the LXD team have joined them for the engineering sprint.
As well as planning for the next development cycle the team were also focused on reducing our bug backlog ready for the start of the next cycle.
Additionally @stgraber finished his video series on LXD instance devices by adding a summary video covering the nic
top-level device type.
https://www.youtube.com/watch?v=W62eno28KMY
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
qemu.conf
to allowed files that can be accessed when retrieving logs. - Added
oidc.*
keys to bash completion. - Added support in the DB generation package to support marshalling/unmarshalling.
Bug fixes:
- Fixed regression in snapshot pruning where snapshots that should have been deleted were not immediately removed.
- Fixed
lxc exec
losing some output sometimes on highly loaded systems. - Fixed incorrect return type of
GetStoragePoolVolumeNamesAllProjects
in API client package to allow differentiating volumes of the same name in different projects. - Fixed
lxc export
so that if an export file name is not specified then the file created is named after the instance and uses the correct extension name based on the compression used. - Fixed panic in LXD when invalid migration success response was sent by client by handling a nil success message correctly.
- Fixed regression in operation lock timeout for instance create by removing the automatic timeout of operation locks. As part of this the instance shutdown and instance restart tasks now use a default 10 minute timeout if not specified (rather than the previous indefinite timeout).
- Fixed an issue with ZFS filesystem volumes when using block mode with ext4 that was restricting the root disk minimum size an instance could use when being created from an image. The fix was to disable
resize2fs
safety checks when creating instance volumes from an image volume that were smaller than the original image volume. By disabling safety checks theresize2fs
command is able to shrink the volume to a smaller size, and it will still fail if the target size is genuinely too small. Disabling safety checks means that if the resize fails the volume will be left in an inconsistent state, but this does not matter when creating an instance as LXD will then delete the volume as part of the cleanup process.
Distrobuilder
Improvements:
- Added the
--with-post-files
flag to thebuild-dir
command. If set, it runs thosepost-files
actions which don’t have atype
filter set.
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
- doc/network: clarify the difference between default and initial value
- Snapshots: Fixes expired snapshot pruning regression
- instance/logs: Add qemu.conf to log list
- Various doc updates for 5.13
- Instance: Fix exec losing command output on highly loaded systems
- scripts: add missing oidc.* keys to bash completion
- Update return type of GetStoragePoolVolumeNamesAllProjects.
- lxc/export: Rename backup file based on compression type
- doc/storage/buckets: add info on configuring the S3 address
- lxd: Use protobuf helpers to avoid panics with invalid client responses
- Generated marshaling/unmarshaling of non-native database types
- Instance: Remove automatic timeout concept from operation locks
- Storage: Disable safety checks when shrinking a ext4 filesystem volumes created from an image
- doc/storage: clarify that “attach” is an alias for “device add”
- doc/devices/nic: add link to video and missing info about macvlan
LXC
- Nothing to report this week
LXCFS
- Nothing to report this week
Distrobuilder
- Add
--with-post-files
flag tobuild-dir
command - Use LXD-style static analysis
- Update CI test distros
- Fix remaining static analysis issues
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