Add support for Xenial
Metadata
Current evaluation
Enhancement request to add Xenial (16.04) support to craft-providers. Xenial is EOL and explicitly marked as failing in integration tests. Maintainer noted the scope is non-trivial.
Suggested action: close stale
Reason: Xenial (16.04) is EOL and the codebase explicitly marks it as failing in integration tests ("Fails to setup snapd (#582)"). The maintainer noted the scope is "not trivial" and has dropped related TODOs in #492, indicating Xenial support is not a priority.
Impact:
30
Quick Win:
6.0
Staleness:
80
Complexity:
80
Confidence:
65
Support Request:
10
Issue body
### What needs to get done
There is a user request from the desktop team for lpci to support Xenial builds.
`craft-providers` has Xenial support partially built-in, but the mapping to a remote image is missing.
When patching the mapping in via
```
craft-providers on main [$!] via 🐍 (venv)
❯ git diff
diff --git a/craft_providers/lxd/remotes.py b/craft_providers/lxd/remotes.py
index 272722e..33e4ec2 100644
--- a/craft_providers/lxd/remotes.py
+++ b/craft_providers/lxd/remotes.py
@@ -123,6 +123,12 @@ class RemoteImage:
# mapping from supported bases to actual lxd remote images
_PROVIDER_BASE_TO_LXD_REMOTE_IMAGE: Dict[Enum, RemoteImage] = {
+ ubuntu.BuilddBaseAlias.XENIAL: RemoteImage(
+ image_name="xenial",
+ remote_name=BUILDD_RELEASES_REMOTE_NAME,
+ remote_address=BUILDD_RELEASES_REMOTE_ADDRESS,
+ remote_protocol=ProtocolType.SIMPLESTREAMS,
+ ),
ubuntu.BuilddBaseAlias.BIONIC: RemoteImage(
image_name="core18",
remote_name=BUILDD_RELEASES_REMOTE_NAME,
```
I get a Xenial lpci build to kick off, but it fails as it seems to me that `craft-providers` uses a couple of commands and flags of snap(d) which were not present on the snap(d) default version on Xenial.
I am not sure whether that would mean that either
- the snap commands would need to get updated (for the Xenial case)
- a newer version of snap could be deployed to Xenial
Currently, after the above patch, a Xenial build fails with issues as snap uses the `--hold` flag, the `wait` command, and probably more. At one point I stopped patching.
### Why it needs to get done
There is a request which was raised by the Desktop team (https://bugs.launchpad.net/lpci/+bug/2067284).
Their use case:
> Ubuntu Pro is exposed to the user base through update-manager, so we need to keep it in shape from Noble until Xenial.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
30
Quick Win:
6.0
Staleness:
80
Complexity:
80
Confidence:
65
Support Request:
10
|
close stale | Enhancement request to add Xenial (16.04) support to craft-providers. Xenial is EOL and explicitly marked as failing in integration tests. Maintainer noted the scope is non-trivial. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
65
Complexity:
85
Confidence:
80
Support Request:
10
|
keep open | Issue requesting support for Ubuntu Xenial builds in craft-providers. Requires handling older snapd versions and Multipass limitations. Currently blocked by technical complexity. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
60
Complexity:
80
Confidence:
85
Support Request:
10
|
keep open | Feature request to add Ubuntu Xenial support to craft-providers. Maintainer acknowledged the request, noted the non-trivial scope due to legacy snapd command differences, and suggested abstracting snapd version handling. Currently unassigned and awaiting implementation. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
45
Complexity:
80
Confidence:
85
Support Request:
10
|
keep open | Request to add Ubuntu Xenial support to craft-providers. Requires abstracting snapd CLI commands to handle version differences and address Multipass compatibility. Currently scoped and discussed by maintainers. |
Update history
No update history recorded yet.
Related issues
No related issues found above the similarity threshold.