Weekly status for the week of the 22nd of March to the 28th of March.
Introduction
This past week there has been a focus on stability improvements, testing and bug fixes. We have also continued on migrating our API docs to SWAGGER.
The LXD team is hiring
Canonical Ltd. is expanding its investment into LXD with a total of 5 additional roles.
The primary focus of this effort is around scalability and clustering as well as developing compelling solutions using LXD for our customers.
All LXD positions are 100% remote with some travel for internal events and conferences.
LXD
This week LXD gained the ability to use the --console
flag when performing an lxc stop
operation so that you can see shutdown messages.
LXD also now supports the --quiet
flag when moving an instance within a cluster using the --target
flag.
LXC
LXC has seen a lot of work on adding support for oss-fuzz this past week, and as a result several fixes have been applied.
Distrobuilder
Several fixes for CentOS have been applied this past week, as well as a null-pointer-exception fix in logging, and a new Windows specific version flag --windows-version
was added.
Dqlite (RAFT library)
This past week the Dqlite RAFT library has seen improvements in the heartbeat system to use lighter weight empty AppendEntries
rather than the larger SnapshotInstall
commands. This will reduce network traffic.
An issue that can cause a follower to crash if it receives an incomplete snapshot from a leader has been fixed by using a tmp-file to ensure only fully written snapshots are ever read and sent to a follower.
Support for arm64 and ppc64le continuous integration tests have also been fixed.
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.
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 stop console support
- Support for flagQuiet when in-cluster instance is moved
- lxd/db/cluster: Extend list of entities
- Device: Modifies Bridge NIC state to return IP neighbour entries in valid states first
- Instance: Reduce calls to getLxcState to reduce crashes and improve efficiency
- Add operation API to swagger
- Makefile: Set GO111MODULE=off
- More swagger coverage
- lxd/instance/qemu: Disable net vectors on ccw
- lxc/list: Handle dots in device keys
LXC
- strchrnul: ignore increased required alignment warning
- strchrnul: fix copy-paste braino
- confile_utils: don’t free netdev twice
- conf: fix a memory leak
- ci: turn on CIFuzz
- oss-fuzz: fixes
- network: handle name collisions when returning interfaces to host
- log: dont create log file for fuzz builds
- oss-fuzz: make it possible to build the fuzzer without docker
- confile: be stricter in config helpers
- oss-fuzz: fixes
- oss-fuzz: fixes
- oss-fuzz: a few follow-up commits
- oss-fuzz: fixes
- oss-fuzz: fixes
- confile_utils: free list during lxc_remove_nic_by_idx()
- oss-fuzz: fixes
- confile_utils: fix a signed integer overflow
- oss-fuzz/cifuzz: a couple of follow-up commits
LXCFS
- Nothing to report this week
Distrobuilder
- main: Fix NPE
- windows: Change flag s/version/windows-version/
- Update documentation
- sources/centos: Support patch releases
- Fix CentOS
Dqlite (RAFT library)
- Heartbeats during snapshot install
- Dont load partial snapshots
- Fix clang ‘missing braces’ warning
- Revive arm64 and ppc64le CI tests
- Fix code coverage
- travis: Run ppc64le arch test on PR instead of master
Dqlite (database)
- Nothing to report this week
Dqlite (Go bindings)
- 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
- qemu: Fix virtio-9p-ccw (9p on s390x)