← Back to issue list

Multipass build provider does not support resource settings core core22 snaps

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#2008003
Type
issue
State
open
Author
~jocado
Labels
craft-1847
Created
Updated
Closed
—

Current evaluation

Multipass builds of core22+ snaps ignore SNAPCRAFT_BUILD_ENVIRONMENT_CPU/MEMORY; provider hardcodes 2 CPUs/2GB RAM. Maintainer confirmed unsupported; fix tracked upstream in craft-providers#531.

Suggested action: keep open

Reason: Maintainer ~mr-cal explicitly confirmed "this is not currently supported in core22" and ~lissyx reaffirmed real-world impact ("Building Firefox with only 2 CPUs is suboptimal"), so the issue is triaged and valid rather than stale. I verified snapcraft/providers.py returns a bare `MultipassProvider()` with no cpus/memory arguments and the env vars appear nowhere in snapcraft source except a docs tip, so no fix exists here and the limitation is real, not a stale report. The work is blocked on upstream craft-providers#531, which remains open, so the issue should stay open even though age alone is not a reason to close it. The Multipass provider is still an active supported path (core22/core24/core26 all map through providers.py), so no evidence of obsolescence exists.

Evaluated by: mr-cal-bot

Impact: 45 Quick Win: 14 Complexity: 40 Confidence: 84 Actionability: 50

Issue body

Hi, As per the docs, you can set custom resource usage for the Multipass instance using environment variables: https://snapcraft.io/docs/build-providers $ export SNAPCRAFT_BUILD_ENVIRONMENT_CPU=8 $ export SNAPCRAFT_BUILD_ENVIRONMENT_MEMORY=16G It's noted in the docs that this is not possible for core22 snaps, which means that it's a breaking change for core22. Ideally, this still would be supported in some way for core22 snaps. This was discussed a little here: https://forum.snapcraft.io/t/build-providers/4157/34?u=jocado Cheers, Just

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 45
Quick Win: 14
Complexity: 40
Confidence: 84
Actionability: 50
keep open Multipass builds of core22+ snaps ignore SNAPCRAFT_BUILD_ENVIRONMENT_CPU/MEMORY; provider hardcodes 2 CPUs/2GB RAM. Maintainer confirmed unsupported; fix tracked upstream in craft-providers#531.
stealth/space-bunny-alpha
Impact: 50
Quick Win: 14
Complexity: 55
Confidence: 86
Actionability: 62
keep open Multipass builds of core22+ snaps cannot set CPU/RAM (SNAPCRAFT_BUILD_ENVIRONMENT_CPU/MEMORY ignored). craft-providers still hardcodes cpus=2/mem_gb=2 in MultipassProvider; maintainers confirmed, tracked upstream in craft-providers#531.
stealth/space-bunny-alpha
Impact: 45
Quick Win: 13
Complexity: 52
Confidence: 91
Actionability: 60
needs triage core22+ Multipass builds lack custom CPU and memory settings; current provider code still fixes instances at 2 CPUs and 2 GB RAM, and the request remains untriaged.
qwen3.6-35b-a3b-mtp-q6
Impact: 40
Quick Win: 22
Staleness: 95
Complexity: 45
Confidence: 75
Support Request: 25
close stale Multipass build provider does not support resource settings (CPU/memory env vars) for core22 snaps. Untriaged, no maintainer response, 1290 days old.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 25
Confidence: 85
Support Request: 15
close stale Feature request to enable Multipass resource env vars for core22 snaps. Untriaged, over 3 years old, zero maintainer interaction.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 35
Confidence: 80
Support Request: 15
close stale Multipass build provider lacks CPU/memory environment variable support for core22 snaps. Unaddressed for over 3 years with zero maintainer interaction or labels.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 20
Confidence: 75
Support Request: 10
needs triage Multipass build provider lacks support for environment variable resource settings for core22 snaps. The report has received no maintainer response or comments in over three years and remains untriaged.

Update history

Date Change
created

Related work

  • Blocked By: canonical/craft-providers#531 (confidence 88%)

    Upstream issue 'Provide a way to set Multipass CPU and memory' is still open; the MultipassProvider hardcodes 2 CPUs and 2 GB, so the fix must land there before snapcraft can pass resource settings through.

  • Related To: canonical/craft-providers#212 (confidence 82%)

    Maintainer ~mr-cal raised SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT handling in the same thread, noting the likely interaction with SNAPCRAFT_BUILD_ENVIRONMENT_CPU; that tracking issue is also open.

Related issues

Issue Project State Summary Similarity
#212 Incorrectly handling SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT craft-providers open SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT not honored and Multipass instances hardcoded to 2 CPUs. Maintainer triaged; still unfixed in craft-providers (cpus=2 at multipass_provider.py:300), provider-side work split out to #531, snapcraft-side partly fixed in 8.4.4.
77%
#6025 Snapcraft ignores SNAPCRAFT_BUILD_ENVIRONMENT_* environment variables on MacOS snapcraft open Documented SNAPCRAFT_BUILD_ENVIRONMENT_CPU/MEMORY are ignored on macOS; maintainer confirms Multipass CPU/memory hardcoded and points to upstream craft-providers#531. Docs still promise the vars work.
75%
#1792614 use multipass if set in the environment snapcraft (launchpad) closed Closed as fixed: PR snapcore/snapcraft#2275 (commit 04f8896d9) made SNAPCRAFT_BUILD_ENVIRONMENT/multipass take precedence over the base-derived provider choice.
74%
#2260 build providers: allow setting ram and disk size snapcraft merged Merged PR snapcraft#2260 (commit 8d9cc5c5a): added Multipass-only build provider RAM/disk size overrides via two env vars, addressing LP bug #1791661. Provider logic later moved to craft-providers.
74%
#1792581 CPU max and override for multipass snapcraft (launchpad) closed Resolved by snapcore/snapcraft#2273, commit cbd1854d9, which selected the best available CPU configuration for Multipass.
73%
#1996511 snapcraft try with multipass provider crashes snapcraft (launchpad) closed Snapcraft try with Multipass and core22 was fixed by snapcore/snapcraft#3981 (commit 2691262b8) and shipped in Snapcraft 7.3.
72%
#1814729 Setting SNAPCRAFT_BUILD_ENVIRONMENT_MEMORY doesn't take effect snapcraft (launchpad) open Feature request: SNAPCRAFT_BUILD_ENVIRONMENT_MEMORY/CPU are ignored when an existing Multipass VM is reused; maintainer confirmed the vars only apply at VM creation and advised purging the instance. Not implemented
71%