← Back to issue list

providers: choose legacy default provider from snap config

View original Github issue

Metadata

Project
snapcraft
Number
#3903
Type
pull request
State
merged
Author
mr-cal
Labels
—
Created
Updated
Closed

Current evaluation

Merged in snapcore/snapcraft#3903 as 59bc024, adding snapd-configurable LXD or Multipass selection for the snapcraft_legacy default provider.

Resolution: closed resolved

Reason: PR #3903 was merged as commit 59bc024. It lets users set or unset the legacy provider with `snap set snapcraft provider=<provider>` or `snap unset snapcraft provider`.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [X] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [X] Have you successfully run `make lint`? - [X] Have you successfully run `pytest tests/unit`? ----- The default provider for `snapcraft_legacy` can be set via snapd's config. It can be set with `snap set snapcraft provider=<provider>` where valid providers are 'lxd' and 'multipass'. To unset, run `snap unset snapcraft provider`. The legacy implementation is much smaller than what is implemented for core22 in https://github.com/snapcore/snapcraft/pull/3899. This is because the code for core22 validates the snap config during snapcraft's configure hook. The legacy implementation doesn't need to re-validate the data. It can just assume the config's data is valid. (CRAFT-1323)

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged in snapcore/snapcraft#3903 as 59bc024, adding snapd-configurable LXD or Multipass selection for the snapcraft_legacy default provider.
stealth/space-bunny-alpha — closed resolved Merged in #3903, adding snapd-configurable lxd or multipass selection for the snapcraft_legacy default provider without core22-style revalidation.
stealth/space-bunny-alpha — closed resolved Merged in PR #3903 and commit 7cc2a529e, enabling snapd configuration of the legacy default provider (LXD or Multipass).
qwen/qwen3.6-35b-a3b — — Merged. Enables configuring the legacy default provider (lxd or multipass) via snapd config. Implementation assumes valid config data, simplifying the core22 approach. Approved by reviewer, passed CI, and merged to main.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Enables setting the legacy snapcraft default provider via snapd config. Implementation skips validation to reduce complexity versus core22. Minor coverage drop accepted; unrelated test failure deferred.

Update history

No update history recorded yet.

Related work

  • Related To: snapcore/snapcraft#3899 (confidence 98%)

    Merged companion implementation for choosing the Core 22 default provider from snapd configuration.

Related issues

Issue Project State Summary Similarity
#3899 providers: choose default provider from snap config for core 22 snapcraft merged Merged PR #3899 as commit 4a66b3b1, letting Core 22 users select LXD or Multipass as the default provider through snapd configuration.
88%
#3943 providers: use new craft-providers interface snapcraft merged Merged into snapcraft main as commit 2980d145c: removed in-tree Provider/LXDProvider/MultipassProvider classes in favour of craft-providers, and moved snapcraft/providers/providers.py to snapcraft/providers.py (+65/-1173).
77%
#3962 Setup snapd for snapcraft_legacy providers snapcraft merged Merged #3962 as 6122e30fd, adding craft-providers-style snapd setup for snapcraft_legacy LXD containers so /run/snapd.socket is available during core18 spread tests.
72%
#3660 providers: integrate craft-providers support snapcraft merged PR #3660 by cmatsuoka integrated craft-providers into Snapcraft, running lifecycle commands in LXD/Multipass instances. Merged into the 7.0 line via merge commit 7c2ac0027 (squash commit 8a06cdbbd).
72%
#473 snap: add configure hook with support for provider (CRAFT-363) charmcraft merged Merged as bf350c68, adding a snap configure hook that reads the provider setting and rejects values other than lxd or multipass.
71%