Weekly status for the week of the 18th May to the 24th of May.
Introduction
LXD
This past week has been primarily a bug fix and improvement week, however there are some new features as well.
Firstly we have added the ability to output the memory and disk usage columns to the output of lxc list
. E.g. lxc ls -c nmD
.
We have also added time skew detection (resulting in a warning in the logs) when using clustering to better detect if the system times on each cluster node have diverged from one and other. If this happens it causes problems with the raft replication used by dqlite, so it is important to keep all of the nodes in time sync using NTP. There have also been several pull requests merged that continue to improve the resilience of the clustering feature.
We have also added support for the dns.search
property on a managed LXD networks so that you can instruct dnsmasq to push additional DNS search settings via DHCP to instances.
We have also rolled out a patch to the LVM storage driver that enables the skipactivation
flag on LXD managed volumes. This makes the LVM volumes not appear in /dev until they are ‘activated’ by LXD when needed. This behaviour brings the LVM driver inline with similar behaviour of ZFS and Ceph drivers. There was an issue with the patch not taking into account custom LVM volume group names which has also been fixed and will be pushed to the Snap stable branch shortly.
Also on the storage side, the recent addition of support for BTRFS subvolumes in optimized backups introduced an intermittent restoration issue on our test systems which has been fixed.
On the networking side, an issue preventing using proxy
devices in NAT mode with IPv6 when using nftables has been fixed.
On the VM side, work that was started last week to make the lxd-agent
statically compiled (in order to allow it to run inside Alpine VMs) has been completed. In addition to that an issue preventing unified image unpack for VM images when running on dir
or btrfs
storage pools has been fixed. We have also added support for the s390x architecture.
LXC
On the LXC front, a regression that meant that interface names inside the container were random when using macvlan without the .name
property defined has been fixed.
Distrobuilder
Pongo2 support for templates was added. And a regression to the way checksums for download packages were calculated has been fixed.
Alpine Linux VM images are now available.
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
- Open Source Summit - North America
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.
- Virtual machine support
- Distrobuilder Windows support
- Various kernel work
- 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/resources/memory: Fix memory calculation
- Improve error logging upon daemon shutdown
- lxd/instances/post: Delete restored instance on backup post hook failure
- Fix demoted voters disrupting leader
- mips fixes
- Storage: Fix VM unified image unpack for dir and btrfs drivers
- ethtool: don’t report -1 for speed in ethtoolLink()
- Storage: Restore dir project quotas on import
- Database logic cleanup part 2
- firewall: Fixes proxy nat rule dynamic family when using nftables
- Mips cast
- Make lxd-agent static
- lxd/api: Don’t strip double slashes
- lxd/operations: Improve error message when database insertion fails
- Storage: LVM skipactivation patch
- Recommend to increase the value of aio-max-nr for production use
- Firewall: Updates detection to warn when falling back to non-compatible xtables driver
- shared/simplestreams: Support uefi1.img
- lxd/storage/pools: Improves delete pool error info
- instance_exec: don’t panic
- Storage: Fix intermittent BTRFS optimized restore errors
- Bugfixes
- Add
dns.search
- lxc/list: Add memory and disk columns
- lxd/cluster: Add time skew detection
- lxd/cluster: Transfer leadership before adjusting roles, not after
- test: Wait a few more seconds for the rebalance to happen
- lxc/ucred: Simplify logic
- lxd/qemu: Cleanup arch checks
- lxd/qemu: Add s390x support
LXC
- network: restore old behavior
- network: fix {mac,ip,v}lan device creation
- bionic: s/lxc_raw_execveat()/execveat()/g
- network: use __instantiate_ns_common() in instantiate_ns_phys() too
- lxc-usernsexec: improvements
LXCFS
- Nothing to report this week
Distrobuilder
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