Weekly status for the week of the 10th to the 16th of January.
Introduction
The highlight of the past week was the release of LXD 4.22. This is our first release of the year but still a pretty busy one with the all new lxd-user
daemon, improved documentation and a number of other smaller features and enhancements.
There is also a release video covering the key changes:
LXD
New features:
- Adds
lxd-user
daemon (see LXD 4.22 release notes for more info). - Adds
--allow-inconsistent
flag forlxc copy
andlxc move
.
Improvements:
- Add Go Context support to the LXD client package.
- Adds
GetInstanceFull
to LXD client package to make use of the new?recursion=1
API argument. - Adds support for SQLite 3.37.
- Attempt live migration during cluster evacuation.
- Take extra precautions when unpacking image tarballs.
- Attempt to detect conflicting IPs on the parent network when using
routed
NIC.
Bug fixes:
- Use expanded devices/config when checking for limits.
- Fixed some file descriptor leaks into containers.
- Fix static DHCP allocation issue when using an instance with multiple NICs connected to same managed bridge.
LXC
Improvements:
- Detect CONFIG_NF_NAT_IPV4 in lxc-config.
- Cgroup improvements.
Distrobuilder
New features:
- Adds CentOS 9 stream.
Bug fixes:
- Fix content override for cloud-init.
LXD Charm
- Fixes a model name issue.
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
- FOSDEM 2022, online on February 5-6th
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.
- LXD desktop integration
- Reworked cluster event distribution mechanism
- New unified P2C/P2V tooling
- Token based remote add
- Custom DNS records in network zones
- Prometheus & grafana integration with the LXD charm
- 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
- Automatically attempt live migration during evacuation
- lxd/device: Adds arp check for nic routed device.
- lxd/db/cluster: Fixes v19 migration for sqlite 3.37.
- fsmonitor: fixes
- Introduce the
lxd-user
daemon - lxd: ensure file descriptors are closed before starting container
- lxd-user: use atomic operations
- Allow inconsistent rsync copies with flag
- lxd-user: More integration bits
- lxd/network: Fixes misspelling of interface.
- Support context.Context in client
- lxd/storage/ceph: Always pass cluster name and id
- doc: only link the Swagger files that we actually need
- Bug static ip on multiple bridged nics
- Take extra precautions when calling tar
- lxc/config/file: allow overriding default remote by env variable
- doc: Adds note about newuidmap to machine setup.
- lxd/projects: Use expanded devices/config when checking for limits
- test: Ensure ebtables is legacy when driver is xtables.
- test: Fixes number of expected NAT rules when using xtables driver.
- Introduce GetInstanceFull
LXC
- lxc-checkconfig.in: CONFIG_NF_NAT_IPV4
- cgroups: improvements
- Update README.md: Fix broken link (403 Forbidden)
LXCFS
- Nothing to report this week
Distrobuilder
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
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
- sqlite: Bump to 3.37.0
- snapcraft: Cleanup FIXME
- lxd-user: Initial support
- hooks: Fix ownership of sockets during configure
- daemon.activate: Use SNAP_COMMON variable
- editor: Cleanup shellcheck warnings
- daemon.activate: Ensure we have the socket ownership information
- hooks: Use lxd-support for the configure hook
- lxd-user: Tighten storage directory permissions
- lxd: Bump to 4.22
- lxd: Cherry-pick upstream bugfixes
- qemu: Revert to 6.1.1 (migration failure on 6.2.0)