Introduction
The image server at https://images.linuxcontainers.org has been in operation since early 2014, first offering images to LXC users through the download
template and then once LXD came around, it was expanded to also provide LXD container and eventually virtual-machine images.
The infrastructure used to build and distribute those images has always been purposefully kept community owned and operated. That’s so that every distribution represented on the image server is on equal footing and can be sure it will always be represented at its best.
Today, we serve images to over half a million monthly users across a variety of platforms, ranging from LXC, LXD, Incus to OpenNebula and more.
Current situation
Maintaining this service comes at a cost, both financial (build machinery, data center, bandwith) and human (keeping up with the different distribution releases, handling build and test failures, …). Up until recently, this cost was shared between @monstermunchkin at Canonical who was maintaining distrobuilder and helping keep the list of releases we’re building for up to date and @stgraber who was responsible for all the infrastructure.
@monstermunchkin moved on from Canonical at the end of November and Canonical decided not to continue his work on this shared project.
Additionally, Canonical has recently been taking a number of other community hostile actions, essentially preventing our community from benefiting from any of the work that they are doing.
This change also prevents us from debugging any LXD-specific issues reported against our images.
As a result, the Linux Containers project has made the decision to phase out access to our image server for LXD users. We realize that this may cause significant impact on the LXD user base and so have opted for a progressive phase-out matching those users’ ability to migrate to Incus.
NOTE: This does not affect any existing instances you may have running, nor does it affect anyone exclusively using official Ubuntu images (ubuntu:
and ubuntu-daily:
remotes).
Timeline
Date | Change |
---|---|
2024/01/01 | LXD 5.20+ users running on Arch, Debian, Fedora, Gentoo, NixOS or Ubuntu will be restricted to Ubuntu, Debian, CentOS and Alpine images |
2024/01/15 | LXD 5.20+ users running on Arch, Debian, Fedora, Gentoo, NixOS or Ubuntu will completely lose access |
2024/01/22 | Non-LTS LXD users running on Arch, Debian, Fedora, Gentoo, NixOS or Ubuntu will be restricted to Ubuntu, Debian, CentOS and Alpine images. |
2024/02/01 | Non-LTS LXD users running on Arch, Debian, Fedora, Gentoo, NixOS or Ubuntu will completely lose access |
2024/02/15 | LXD 5.20+ users on any distribution will be restricted to Ubuntu, Debian, CentOS and Alpine images |
2024/03/01 | Non-LTS LXD users on any distribution will be restricted to Ubuntu, Debian, CentOS and Alpine images |
2024/03/15 | LXD 5.20+ users running on any distribution will completely lose access |
2024/04/01 | Non-LTS LXD users running on any distribution will completely lose access |
2024/04/15 | All LXD LTS users will be restricted to Ubuntu, Debian, CentOS and Alpine images |
2024/05/01 | All LXD users will lose access |
The list of host distributions affected is subject to change, it’s based on the list of distributions with readily available, good quality Incus packages that users can easily migrate to. Considering current packaging efforts, this list will very likely be expanded over the coming weeks.
The list of distributions for which images are temporarily still made available is based on usage statistics, they are the top 4 most used and account for 90% of uses, this allows a one week brownout period prior to access being revoked for those users.
The 6.0 LTS release of LXC, LXCFS and Incus is scheduled to happen towards the end of March, making it so that LXD LTS users will have an LTS upgrade path by the time image server is revoked for them too a couple of months later.
How to switch to Incus
You’ll find information on how to install Incus for your distribution here: How to install Incus - Incus documentation
As well as how to easily migrate all your LXD data over to Incus here: Migrating from LXD - Incus documentation
On most systems, the migration can be done with just a few seconds of downtime.
NOTE: You may need to wipe /var/cache/incus/
and restart Incus with systemctl restart incus
to clear any bad image cache from your previous LXD installation.
Conclusion
Between Canonical’s decision to no longer fund any work on the image build tooling or infrastructure, as well as the recent community hostile licensing change which prevents Incus from benefiting from any of the work on Canonical LXD, it doesn’t really make a lot of sense to keep spending significant time and money in operating this infrastructure for LXD users.
We all would have far preferred that Canonical stay committed to providing good quality non-Ubuntu images for their users as we would have preferred that they don’t take community hostile actions by re-licensing and requiring the signature of a CLA for new contributions. But they have done neither of those things and so it’s time for us to focus on the future.