providers: choose legacy default provider from snap config
Metadata
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. | |
| #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). | |
| #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. | |
| #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). | |
| #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. |