Weekly status for the week of the 6th April to the 12th of April.
The highlight of last week was the release of LXCFS 4.0.2 LTS.
On the LXD front the past week has been focused on improvements and bug fixes.
The operating system information is now available in the resources API.
lxc CLI tool now sorts using natural sorting order.
We now create any missing snapshot mount directories before attempting to mount. Whilst the new storage layer creates these directories at snapshot create time, the old storage layer did not and so this caused issues when trying to mount old snapshots, such as when doing a restore or backup operation.
For LVM pools using a loop file, we now activate all of the volumes in the pool when mounting the pool. We previously did this just for normal non-loop volume groups, however this caused issues when using LVM loop pools inside the SNAP package.
We have improved our snapshot usage feature, making the reported values more consistent across the different storage drivers.
For directory pools where project quotas were supported, new volumes were having a default quota of 10GB enforced. This has now been removed as non-block storage drivers do not have any default quota.
For ZFS pools, we now ignore any
.zfs directories and consider the directory empty still. This prevents failed starts when the
snapdir=visible setting is enabled.
An issue with snapshot migration when upgrading LXD has been fixed.
A recovery command to remove leftover raft node has been added.
Improvements for validation of sysctl settings when using routed with VLAN have been added so that the sysctl settings on the VLAN interface rather than the parent interface are checked.
Support for Intel i350 cards and newer versions of the
ip tool have been added when using SR-IOV virtual functions.
We now push any custom MTU settings from managed networks in the DHCP response to the instances.
Managed field in the
NetworksPost structure has been removed, as this field was never modifiable from the API.
We have added documentation for getting LXD to work with default firewalld configuration in Fedora.
An issue preventing migration of VMs with snapshots when using the ZFS storage driver has been fixed. And improvements to the cleanup procedure when a migration fails have been added to prevent lock ups.
On the LXC front and issue that prevented IPVLAN Layer 2 mode working has been fixed. In addition to that there was an improvement added to
lxc-user-nic to allow it to run when the group name was not found. There was also several cgroup improvements added to better support cgroupv2 systems.
An improvement to the way LXCFS reads
/proc/meminfo has been added to avoid reading the wrong value when two values have the same prefix.
The LXD snap has been refreshed quite a few times with cherry-picked bugfixes from LXC, LXCFS and LXD as well as seen updates to fix some longstanding issues including
lxd.migrate hanging, cleanup of the lxcfs mount namespace, better process tracking as well as adding a number of utilities.
The LXD snap is also being transitioned from
core18, replacing its old 16.04 based with an 18.04 one.
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: https://github.com/lxc/lxd/labels/Easy
You can also find a slightly longer, more detailed list here: Contributing to LXD
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 virtual machine support
- Storage database cleanup/rework
- Various kernel work
- Stable release work for LXC, LXCFS and LXD
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.
- Add recovery command to remove leftover raft node
- Increase timeout when calling dqlite.Client.Add() to join the cluster
- Storage: Snapshot usage
- Fix typos
- Storage: Create snapshot mount path before mounting
- lxd/storage/lvm: Always call vgchange on mount
- lxd/patches: Fix snapshot migration
- Storage: ceph snapshot usage
- Add OS information to /1.0
- Tweak sorting in CLI
- lxd/main: Move forkzfs mntns to cgo
- doc/networks: Adds note about firewalld and DHCP/DNS
- NIC Routed: Improves VLAN validation of sysctl settings
- Storage: VM migration fixes
- NIC SR-IOV: Updates networkGetVirtFuncInfo to use json output from ip tool
- doc: Add missing os_api extension
- Storage Dir: Removes default project quota
- forkexec: mark fd cloexec so the attaching process doesn’t inherit it
- forkexec: close all inherited fds
- forkexec: log unexpected fds
- lxd/daemon: Ignore .zfs in volumes
- lxd/network: Push MTU over DHCP
- Drop invalid
Managedfield from NetworksPost
- cgroup isolation: handle devices cgroup early
- start: ensure all file descriptors are closed during exec
- lxc_user_nic: fixes
- network: Make it possible to set the mode of IPVLAN to L2
- src/lxc/network: ipvlan comment and code style tweak
- lxc-update-config: Fix bad handling of lxc.logfile
- tests/no-new-privs: Don’t mess with /etc/lxc
- cgroups: ignore legacy limits on pure cgroup2 systems
- Nothing to report this week
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.
- Nothing to report this week
- Updated LXC to 4.0.1
- Updated LXCFS to 4.0.2
- Cherry-picked LXC bugfixes
- Cherry-picked LXD bugfixes
- Cherry-picked LXCFS bugfixes
- Added a removal hook to cleanup broken systems
- Added logic to cleanup the LXCFS mount namespace
- Fixed bad library path on armhf
- Added a
- Added qemu VGA bios and keymaps
- Added the
iwcommand for Wifi device passthrough
- Fixed cleanup logic in
lxd.migrateto deal with hangs on package removal