Weekly status for the week of the 13th June to the 19th June.
Introduction
While we continue our our larger roadmap items we have also added some efficiency and usability improvements to LXD and distrobuilder.
On the LXC side, LXC 5.0 LTS has been released, which is the third LXC LTS series. Please see the release notes for details.
Additionally @stgraber has added a video covering the network DNS zones feature in LXD:
https://www.youtube.com/watch?v=2MqpJOogNVQ
LXD
Improvements:
- Database query efficiency improvements - reduced loading unused data.
- Instance device lifecycle cleanup - moves duplicated logic that existed in LXC and QEMU drivers into the common driver to simplify maintenance.
- Allow copying/restoring instances (from migrations, backups and snapshots) that result in device conflicts with an existing instance. This allows the user to manually fix a conflicting instance’s config (using
lxc config edit <instance>
) before being allowed to start it, whereas before the instance creation process would have failed, meaning more low level manual fixes would be required (such as modifying a backup tarball contents or LXD snapshot database entry). - Adds support for SOA only response in DNS zones feature, and support returning full AXFR response when IXFR is requested (which appears to be better supported by external DNS servers than returning an error to the IXFR request).
Bug fixes:
- Fix sysinfo syscall interception to use a stable source of instance boot time.
- Fix potential crash in profiles check.
- Use negotiated migration index header version on target side.
LXC
Bug fixes:
- Fix bad strerror_r check in meson build.
Distrobuilder
Improvements:
- Use multiple threads when possible for compressing.
Bug fixes:
- Restore NetworkManager workaround after it was removed. Without the workaround, some containers only get an IPv4 address after a container reboot.
- Mask systemd-firstboot service.
- CentOS mirror updates.
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 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
- Convert LXC to use meson build system
- [LXD] Bidirectional vsock interface for VMs
- [LXD] Network load-balancers (OVN)
- 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
- Generator: Handle Devices as a collection
- Database: Refactor database actions for Instances
- doc: add link to video about network forwards
- Device: Allow copying and snapshot restoring instance snapshots that results in device confict
- Database: Refactor db.InstanceSnapshot to cluster.InstanceSnapshot
- Database: Refactor db.Image to cluster.Image
- Fix sysinfo boottime
- Database: Refactor db.Operation to cluster.Operation
- Instance: Move most of device lifecycle logic into common driver
- Fix incorrect usage on lxc storage volume
- Storage doc: add howtos
- lxd/profiles/utils: Add missing profiles slice check
- lxd/dns: Add support for SOA (and accept IXFR)
- Enables gosimple linter and fixes lint errors
- Instance: Use the negotiated index migration header version on target
LXC
LXCFS
- Nothing to report this week
Distrobuilder
- main: Reintroduce NetworkManager workaround
- shared/util: Use multiple threads when compressing
- main: Mask systemd-firstboot.service
- CentOS mirror updates
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
- Nothing to report this week