Weekly status for the week of the 23rd of August to the 29th of August.
Introduction
This past week a new feature from our LXD roadmap has landed, which adds BGP route advertisement from bridge
and ovn
networks (and associated NICs) to upstream routers.
Also there has been a big change to how LXD is built. We have now switched to using Go modules meaning that LXD can now be built outside of the traditional GOPATH and we can utilise third party modules from the community, as well as allowing LXD to be built with future Go tooling (when GOPATH support is removed). This will also help with repeatable builds of LXD as each branch will specify the dependencies it needs to be built, and when generating our release tarballs we will vendor the dependencies inside it.
The LXD team is hiring
The LXD team at Canonical is currently looking for a Go software engineer to join our distributed team of engineers. We’re looking for candidates anywhere in Europe or the Americas!
All LXD positions are 100% remote with some travel for internal events and conferences.
LXD
New features:
- Added BGP route advertisement from
bridge
andovn
networks (and associated NICs) to upstream routers. See the BGP documentation for more details. - Added support for exporting and importing CephFS custom volumes.
Improvements:
- LXD is now built with GOMOD enabled.
-
lxc info
now outputs times in the local time zone where the CLI tool is run. - Added
lxd cluster edit
command, to manually edit the cluster configuration see recover cluster for more details.
Bug fixes:
- The leader role is now transferred to the 2nd member in a two member cluster when removing the leader.
LXC
Improvements:
- Enable seccomp profile only when compiled with libseccomp. Previously,
seccomp.profile
was silently ignored if is specified when libseccomp wasn’t used. This could lead to the false impression that the seccomp filter is applied while it actually isn’t.
Bug fixes:
- There were several fixes to
lxc-attach
with LSMs.
Distrobuilder
Improvements:
- Plamolinux packaging improvement.
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 cluster edit
- Switch LXD to using gomod
- gomod: Update dependencies
- Add built-in BGP server
- Proxy: Simplifies ProxyAddress struct to better represent what is possible
- Network: Code cleanups
- Makefile tweaks for gomod
- Client: Improve parsing of response URLs in resource name extraction
- NIC tweaks
- DB: Updates lxd-generate to support go modules
- lxd: implement volume import/export for CephFS
- lxd/main: Add setfattr to dependencies
- lxc/info: Use local timezone
- Fix tests for ‘lxd cluster edit’
- Transfer leader when removing leader of 2 node cluster
- Status error improvements
- Makefile: Set GO111MODULE=on for update-api
- client/util: Update urlsToResourceNames to reduce allocations
LXC
- config: enable seccomp profile only when compiled with libseccomp
- confile: return negative errno everywhere
- tools: lxc-attach fixes
- tree-wide: introduce new list type and port network handling to it
- conf: port more types to new list type
- conf: port more types to new list type
- conf: port more types to new list type
- conf: port more types to new list type
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
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: Bump to 6.1.0
- snapcraft: Improved remote-viewer integration
- snapcraft: Set cohort key for clusters