Weekly status for the week of the 25th of October to the 31st of October.
Introduction
Last week LXD saw the addition of the last remaining roadmap items (Built in authoritative DNS server, VM stateful migrations and hardware accelerated OVN NICs using SRIO-VF) for the last development cycle, and we are now going into our next 6-month cycle.
LXD
@stgraber added a video on easy overlay networking in LXD with the Ubuntu Fan:
https://www.youtube.com/watch?v=5cwd0vZJ5bw
New features:
- A built-in authoritative DNS server for serving network DNS zones. See the design specification for more info.
- Hardware accelerated OVN networks using supported SR-IOV NICs. See SR-IOV hardware acceleration details in the OVN NIC device documentation for more details.
- Stateful migrations for virtual machines - this allows a running VM to be migrated without having to shut it down normally. Instead the VM’s state is saved to disk and migrated to the target and then restored. For Ceph based storage pools this means a quick VM migration as only the VM’s memory state has to be transferred.
Improvements:
- Stop logging excessive errors when unable to access swap information for metrics exporter.
- Add verification of seccomp pidfs.
Bug fixes:
- VM fix host-nodes on multi-node host.
- Consider memory limit stats in metrics exporter.
- Fix a deadlock in websocket control message sending.
- Fix issue during clustering instance restore where if an instance wouldn’t stop within its deadline,
we would return nil at that point and so silently abort the restore entirely. - Allow static IP setting on
bridged
NIC connected to an unmanaged bridge when using MAAS subnet setting.
LXC
Bug fixes:
- Fixed an issue that caused some characters from LXD’s
raw.lxc
to be dropped. - Fixed segfault when compiled with liburing.so.2.1.0.
Distrobuilder
Improvements:
- Added a
--sources-dir
flag which controls where sources are downloaded to. - Added a
--keep-sources
flag which defaults to true.
Dqlite (database)
Bug fixes:
- Fixed a stmt leak when closing during query_sql with large result set.
Youtube channel
We’ve started a Youtube channel with live streams covering LXD releases and its use in the wider ecosystem.
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.
- Distrobuilder Windows support
- Virtual networks in LXD
- 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
- Add network zones API and built-in DNS server
- lxd/instance/drivers: Check swap for metrics
- seccomp: verify retrieved fds when
- lxd/instance/qemu: Fix host-nodes on multi-node
- lxd/instance/drivers: Check memory limit for metrics
- VM: Stateful migration to a remote
- Migration: Fix deadlock in websocket control message sending
- VM: Add VM stateful migration support with ceph
- test: Update teardown_clustering_netns to succeed if process has already gone
- NIC: Allow static IP on bridged NIC when using unmanaged bridge with MAAS subnet specified
- NIC: OVN Remove setting accept_ra sysctl unnecessarily as disable_ipv6 is set
- Replace ‘which’ with ‘command -v’
- lxc: better advertise support for VMs
- NIC: Support hardware accelerated OVS/OVN
- NIC: Split up SR-IOV VF management functions
- lxd/cluster: Fix forceful stop on restore
LXC
- AUTHORS: Update to point to git history
- confile: don’t use path_simplify() on lxc.{execute,init}.cmd
- Replace ‘which’ with ‘command -v’
- build & mainloop: fixes
- Replace ‘which’ with ‘command -v’ in tests too
- Replace backticks with $() construct
- Replace remaining occurences of ‘which’ with ‘command -v’
LXCFS
- Nothing to report this week
Distrobuilder
Dqlite (RAFT library)
Dqlite (database)
- Fix tests for non-4KB PAGESIZE
- sqlite3 stmt leak when closing during query_sql with large result set
- Revert “Makefile: Define NDEBUG when not debugging”
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
- lxc: Cherry-pick upstream bugfixes
- lxd: Cherry-pick upstream bugfixes