Introduction
The Linux Containers project maintains Long Term Support (LTS) releases for its core projects.
Those come with 5 years of support from upstream with the first two years including bugfixes, minor improvements and security fixes and the remaining 3 years getting only security fixes.
Our current LTS release, 6.0, is as the name implies the 6th time we’ve released an LTS release of our projects, starting over 10 years ago, in February 2014.
At the time of writing, we have three currently supported LTS releases:
- 4.0 (supported until June 2025, security-only)
- 5.0 (supported until June 2027, security-only)
- 6.0 (supported until June 2029).
The 6.0 LTS release begun in April 2024 and was the first to include Incus.
LXC
LXC is the oldest Linux Containers project and the basis for almost every other one of our projects.
This low-level container runtime and library was first released in August 2008, led to the creation of projects like Docker and today is still actively used directly or indirectly on millions of systems.
Announcement: https://discuss.linuxcontainers.org/t/lxc-6-0-1-lts-has-been-released/20283
Highlights of this point release:
- Fixed some build tooling issues
- Fixed startup failures on system without IPv6 support
- Updated AppArmor rules to avoid potential warnings
LXCFS
LXCFS is a FUSE filesystem used to workaround some shortcomings of the Linux kernel when it comes to reporting available system resources to processes running in containers.
The project started in late 2014 and is still actively used by Incus today as well as by some Docker and Kubernetes users.
Unfortunately the LXCFS approach is starting to run into issues due to tools relying more and more on system call interfaces or other methods to obtain resource information these days requiring more complex solution such as Incus’ system call interception support (using the Seccomp Notifier).
Because of that development, we’ve been slowly discussing better ways to provide reliable resource information to userspace without having to rely on filesystem tricks or costly system call interception, but as with anything that requires widespread userspace adoption, it will take a while until such a solution is in place and so LXCFS isn’t going anywhere any time soon!
Announcement: https://discuss.linuxcontainers.org/t/lxcfs-6-0-1-lts-has-been-released/20277
Highlights of this point release:
- Support for running multiple instances of LXCFS (
--runtime-dir
) - Detect systems that has a Yama policy preventing reading process personalities
Incus
Incus is our most actively developed project. This virtualization platform is less than a year old but has already seen over 3000 commits by over 100 individual contributors. Its first LTS release made it usable in production environments and significantly boosted its user base.
Announcement: https://discuss.linuxcontainers.org/t/incus-6-0-1-lts-has-been-released/20297
Highlights of this point release:
- Extended source syntax for ZFS pools (allows mirror & raidz1/raidz2)
- Cross-project listing on all objects (instances, profiles, images, storage volumes/buckets, networks, …)
- Additional functions exposed to instance placement scriptlet
- All
create
sub-commands in the CLI now accept YAML input - All
list
sub-commands in the CLI now accept customizable columns - The
migration.stateful
config key was expanded to containers too - Stateless network ACLs are now supported on OVN
- New timestamp exposed for instance uptime
- New
incus top
command (uses existing metric API) - System load information in
incus info --resources
- PCI devices information in
incus info --resources
- Ability to query who has access to a given project or instance
- Forceful deletion of projects
- Improved alias handling in
incus-simplestreams
What’s next?
We’re going to keep backporting all relevant fixes and minor improvements to our LTS branches and will likely be releasing another LTS point release of those 3 projects later this year.
There is no set schedule on LTS point releases as we instead prefer to wait until we feel there are significant enough fixes to warrant one, then make sure that all three projects are properly tested and ready for a release.
This year we’ve also decided to start releasing non-LTS releases of both LXC and LXCFS.
It’s something we used to do some years ago but then stopped, mostly due to lack of time.
So you can look forward to LXC and LXCFS 6.1 in Q4 of 2024!