Weekly status for the week of the 13th of September to the 19th of September.
Introduction
This past week LXD has seen improvements to it’s BGP support as it now exports the network address forward addresses as prefixes. BGP support has also been added to the LXD charm.
@stgraber has also added Youtube videos covering using LXD on two very different types of machines; Rapsberry Pis and IBM mainframes.
LXD
Tutorial videos:
https://www.youtube.com/watch?v=iRsbAQw8ooA
https://www.youtube.com/watch?v=mZOUX3KYZRo
Improvements:
- Export the network address forwards via BGP as single address prefixes.
- Adds IPv6 EUI64 to network lease output.
- When LXD is cleanly shutdown using
lxd shutdown
or SIGPWR, the storage pools are now unmounted (except LVM due to an ongoing issue that is being investigated). - No longer allow
limits.memory
to be set to 0, as this will prevent the instance from being started. - Respect modprobe blacklist config when trying to load a kernel module.
Bug fixes:
- A recent change to LXD that added the cluster member names to the local database for ease in editing cluster config caused an unintended problem when using clustering in a cross-data centre environment where latency was higher than an internal LAN. The issue was caused because when a heartbeat was sent to each cluster member from the leader, the recipient member then proceeded to query back to the leader to enrich the cluster member names for its own local database. This took time over a high latency link and caused the heartbeat response to be sufficient delayed for the leader to consider the remote member offline. This has been fixed by getting the leader to broadcast the other member names in the heartbeat data itself, avoiding the need for the enrichment lookup step on the recipient.
- Workaround an issue in OVN’s
ovn-nbctl
when removing existing NAT config before re-adding it. - An issue that prevented the use of cluster member targeting in some restricted projects has been fixed.
LXC
Improvements:
- Adds support for building using Meson and various other build-time improvements.
- Improve bash completion.
LXCFS
Improvements:
- Various build-time improvements and clean-ups.
Distrobuilder
New features:
- Adds
--import-into-lxd
flag which runslxc image import
at the end of the build.
Improvements:
- Allow custom source variants in Gentoo image.
Bug fixes:
- Fix post-files actions for LXC builds.
LXD Charm
New features:
- Adds BGP and HTTP endpoints support.
- Adds support for resources.
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
- lxd/networks: Improved IPv6 support for leases
- Network: Exports bridge forward addresses via BGP
- Unmount storage pools on lxd shutdown
- Network: Exports OVN forward addresses via BGP
- Cluster: Fix slow heartbeat response due to multiple remote queries when populating raft node names
- don’t allow ‘limits.memory’ to be 0
- lxd/util: Respect modprobe configuration
- Change restrictions check function in CheckClusterTargetRestriction
- Extend cgroup abstraction and other preparations for metrics
- OVN: Work around a bug in lr-nat-del in ovn-nbctl in LogicalRouterDNATSNATAdd
- shared/api/network/forward: Fix api extension references
- Network: Use consistent terminology in address forward swagger descriptions
- Storage: Workaround LVM unmount issues
LXC
- build: add basic meson support
- Improve bash completion - part 2.
- log: fix cross-compilation with %m modifier
- tests: fix config file tests
- tests: fix config file tests
- build: ensure all relevant calls are checked for availability at buil…
- tools: use correct include for Android
- Don’t include internal headers in external library headers
- build: fixes
LXCFS
Distrobuilder
- sources/gentoo: Allow custom source variants
- Add
--import-into-lxd
flag - Update docs
- main: Fix post-files actions for lxc
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
- Use pyproject.toml and tox. Rework github actions
- Charm actions
- Add support for resources (lxd binary and lxd snap)
- github: Add deployment test
- Add bgp and https endpoints
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
- lvm: Handle lvresize with
lvm.external=true
- wrappers: Be less verbose in editor/remote-viewer