many: remove support for remote lxd per project containers
Metadata
Current evaluation
Merged removal of remote LXD per-project container support due to poor user experience, recommending cleanbuild instead. Environment detection was future-proofed. Approved, passed CI, and modified 13 files.
Suggested action: —
No scores available.
Issue body
Remove the support as it has not proved to be the best experience, cleanbuild should be used
instead.
Also future feature proof the environment detection.
- [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] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged removal of remote LXD per-project container support due to poor user experience, recommending cleanbuild instead. Environment detection was future-proofed. Approved, passed CI, and modified 13 files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged removal of remote LXD per-project container support due to poor user experience. Users should use cleanbuild instead. Environment detection was also future-proofed. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged removal of remote LXD per-project container support due to poor user experience, recommending cleanbuild as the alternative. Environment detection was also updated for future compatibility. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2335 lifecycle: remove lxd support for bases | snapcraft | merged | Merged. Removes LXD support for bases from the lifecycle module, deleting ~2,500 lines across 31 files. LXD support will return as a dedicated build provider class since cleanbuild and containerbuilds lack proper environments. Approved and merged. | |
| #1488 lxd: always remove existing device for project folder | snapcraft | merged | Merged as a follow-up to #1483, ensuring existing devices are always removed for the LXD project folder. Approved by two reviewers with zero unresolved comments. The change modifies three files, adds 64 lines, removes one, and passed all CI checks. | |
| #1516 lxd: LXD not installed when using remote | snapcraft | merged | Merged fix for a bug where lxc installation was not correctly verified when using a LXD remote. Also corrected incomplete test scenario usage. Approved by two reviewers, modified two files. | |
| #1230 lxd: refactor Cleanbuilder into Containerbuild and add Project. | snapcraft | merged | Merged. Refactored Cleanbuilder into a Containerbuild base class and introduced a Project class to manage persistent LXD containers for snap builds. Approved after code review and test fixes. | |
| #817 lxd: use built-in image streams. | snapcraft | merged | Merged. Replaced custom remote setup for cleanbuilds with LXD built-in image streams, streamlining configuration. Approved by one reviewer with zero unresolved comments. The two-file change (+4/-13 lines) resolves LP #1625787. | |
| #1627 lxd: split container classes into different files | snapcraft | merged | Merged refactoring splitting LXD container classes from lxd.py into separate modules. Improves organization, moves Cleanbuilder methods, de-duplicates env vars, and fixes mocking imports. No functional changes. Approved by two reviewers and passed CI. |