← Back to issue list

build providers: support injection for LXD

View original Github issue

Metadata

Project
snapcraft
Number
#2621
Type
pull request
State
merged
Author
sergiusens
Labels
—
Created
Updated
Closed

Current evaluation

Merged as d59622a81, adding LXD snap injection through snapd's file API, replacing mount-based injection with file pushes, and refactoring provider concerns.

Resolution: closed resolved

Reason: PR #2621 was approved and merged as commit d59622a81, delivering the requested LXD injection implementation.

Evaluated by: mr-cal-bot

No scores available.

Issue body

By use of snapd's new snaps/<snap-name>/file API. This also removes the use of mounts and leverages file pushing. Refactoring has been done for a better separation of concerns. Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com> - [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `./runtests.sh static`? - [ ] Have you successfully run `./runtests.sh tests/unit`? -----

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged as d59622a81, adding LXD snap injection through snapd's file API, replacing mount-based injection with file pushes, and refactoring provider concerns.
stealth/space-bunny-alpha — closed resolved Merged into main as d59622a81, adding LXD snap injection through snapd's file API, replacing mounts with file pushes, and refactoring provider responsibilities.
stealth/space-bunny-alpha — closed resolved Merged PR #2621 (commit d59622a81): LXD build provider now supports snap injection via snapd's /v2/snaps/<name>/file API, replacing mount-based injection with file pushing and refactoring provider code for separation of concerns.
stealth/space-bunny-alpha — closed resolved Merged PR #2621 (d59622a81): added LXD injection via snapd's file API, replaced mount-based injection with file pushing, and refactored 12 files.
stealth/space-bunny-alpha — closed resolved Merged PR #2621 added LXD injection through snapd's file API, replaced mounts with file pushing, and refactored provider code in commit d59622a8.
stealth/space-bunny-alpha — closed resolved Merged PR #2621 (commit d59622a8), adding LXD provider injection through snapd’s file API, removing mount-based injection, and refactoring 12 files.
qwen/qwen3.6-35b-a3b — — Merged after approval and passing CI. Implements LXD injection support via snapd's new file API, removes legacy mounts, and refactors code for better separation of concerns across 12 files.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Implements LXD injection support using snapd's file API, replacing mount usage with file pushing and refactoring for improved separation of concerns.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#2222 (confidence 85%)

    Earlier merged LXD snap-injection work that provided the foundation refactored by #2621.

Related issues

Issue Project State Summary Similarity
#2222 lxd: support new style snap injection snapcraft merged Merged in #2222 via commit 8acd203, adding new-style LXD snap handling, removing sudo-based injection, and consolidating duplicated tests.
78%
#2509 build providers: initial support for LXD snapcraft merged Merged PR #2509 (commit 067024732) adding initial LXD build-provider support: `snapcraft --use-lxd` runs all lifecycle steps and clean inside an LXD container. Released via beta/lxd channel; LP bug #1805221 closed.
77%
#1779137 build provider support to inject snaps on the host snapcraft (launchpad) closed Build providers gained host-snap injection when Snapcraft runs from a snap; fixed by merged snapcore/snapcraft#2174 (commit 283ab0bb8).
74%
#1364 lxd: Inject snapcraft and core snaps into the container snapcraft merged Merged PR #1364 as 99f5598ac, injecting the host's Snapcraft and core snaps into LXD containers so builds no longer use a mismatched Xenial archive version.
73%
#2249 build providers: provide support to shell in snapcraft merged Merged PR #2249 (commit 9f5640b17) adding a shell() method to snapcraft build providers, enabling interactive 'shell into' the Multipass/LXD build instance.
71%
#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%
#1788667 changes in snapd break lxd snap injection for cleanbuild snapcraft (launchpad) closed snapd's 0600 perms on injected snaps broke LXD cleanbuild injection. Fixed by merged PR snapcore/snapcraft#2222 (commit b2bd6b776), adding new-style LXD snap injection; bug closed.
71%
#3141 build providers: use LXD-provided DNS by default snapcraft merged Merged in canonical/snapcraft#3141 via commit 0a9fe51ad, making build providers use LXD-provided DNS through systemd-resolved and restart networkd without restarting containers.
71%
#2966 build providers: move to buildd images snapcraft merged Merged as commit 916097e6d, moving LXD build providers to Ubuntu buildd images to support all architectures and core20.
71%
#2773 build providers: inject snapd snap for latest feature availability snapcraft merged Merged PR #2773 in commit 3740c61bc, replacing injected core snaps with the smaller snapd snap for current build features without requiring core18.
71%