← Back to issue list

Add support for Xenial

View original Github issue

Metadata

Project
craft-providers
Number
#582
Type
issue
State
open
Author
jugmac00
Labels
Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Enhancement request to add Xenial (16.04) support to craft-providers. Mapping is missing from remotes.py and snapd commands need version abstraction for older snapd on Xenial. Issue acknowledged by maintainer as non-trivial scope.

Suggested action: keep open

Reason: Valid enhancement request with maintainer acknowledgement (@mr-cal confirmed the scope and suggested approach in comment on 2024-06-20). The codebase still excludes Xenial from _PROVIDER_BASE_TO_LXD_REMOTE_IMAGE mapping and integration tests explicitly skip it with 'Fails to setup snapd (#582)'. Requires abstracting snapd commands for version compatibility, which is non-trivial but clearly scoped.

Evaluated by: mr-cal-bot

Impact: 35 Quick Win: 7 Complexity: 65 Confidence: 75 Actionability: 60

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
qwen/qwen3.6-35b-a3b
Impact: 35
Quick Win: 7
Complexity: 65
Confidence: 75
Actionability: 60
keep open Enhancement request to add Xenial (16.04) support to craft-providers. Mapping is missing from remotes.py and snapd commands need version abstraction for older snapd on Xenial. Issue acknowledged by maintainer as non-trivial scope.
stealth/space-bunny-alpha
Impact: 48
Quick Win: 8
Complexity: 74
Confidence: 92
Actionability: 64
keep open Xenial remains unimplemented: its base alias exists, but the LXD image mapping is absent and older snapd CLI incompatibilities block launches. Maintainers acknowledge the request as nontrivial.
stealth/space-bunny-alpha
Impact: 55
Quick Win: 10
Complexity: 72
Confidence: 95
Actionability: 62
keep open Xenial support is acknowledged but unimplemented: its alias exists without an LXD image mapping, and older snapd commands still block launches. Integration tests explicitly xfail Xenial because of this issue.
qwen3.6-35b-a3b-mtp-q6
Impact: 30
Quick Win: 6
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.

Update history

No update history recorded yet.

Related work

  • Related To: craft-providers#219 (confidence 90%)

    PR #219 originally added a XXX/TODO for Xenial due to snapd-related problems, which was later dropped in PR #492

  • Related To: craft-providers#492 (confidence 90%)

    PR #492 dropped the Xenial TODO after Lunar removal, but did not implement Xenial support

Related issues

No related issues found above the similarity threshold.