← Back to issue list

charmcraft snap doesn't work with snap parallel installs

View original Github issue

Metadata

Project
charmcraft
Number
#1770
Type
issue
State
closed
Author
samuelallan72
Labels
—
Created
Updated
Closed

Current evaluation

Fixed by merged PR canonical/charmcraft#1950 (commit 2399ddf8), which enabled Charmcraft to work with parallel-installed snaps and added regression coverage.

Resolution: closed resolved

Reason: The issue was resolved by merged PR #1950 in commit 2399ddf8. The change fixed parallel snap-install handling and added spread regression coverage.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### Bug Description Now that charms are beginning to be upgraded to use charmcraft 3, I want to have charmcraft v2 and v3 installed so I can work with all the charms I need to. I tried to do this for the snap using the "parallel installs" feature: ``` sudo snap install charmcraft --channel latest/stable --classic sudo snap install charmcraft_3 --channel 3.x/beta --classic ``` But this failed (see logs section). It appears that charmcraft is trying to access a hardcoded path that doesn't exist on the parallel install? ### To Reproduce 1. install charmcraft 2 and 3 snaps with the parallel install feature (note the underscore postfix): ``` sudo snap install charmcraft --channel latest/stable --classic sudo snap install charmcraft_3 --channel 3.x/beta --classic ``` 2. try to use `charmcraft_3` to build a charm. ### Environment Ubuntu 24.04 LTS ### charmcraft.yaml ```shell type: charm parts: charm: plugin: dump source: . base: ubuntu@24.04 platforms: amd64: build-on: amd64 build-for: amd64 arm64: build-on: arm64 build-for: arm64 ppc64el: build-on: ppc64el build-for: ppc64el s390x: build-on: s390x build-for: s390x ``` ### Relevant log output ```shell # here I already have charmcraft 2.7 installed: $ sudo snap install charmcraft --channel latest/stable --classic --- $ sudo snap install charmcraft_3 --channel 3.x/beta --classic charmcraft_3 (3.x/candidate) 3.1.1 from Canonical✓ installed Channel 3.x/beta for charmcraft_3 is closed; temporarily forwarding to 3.x/candidate. $ charmcraft_3 -v pack Starting charmcraft, version 3.1.1 Logging execution to '/home/ubuntu/.local/state/charmcraft/log/charmcraft-20240730-111057.635886.log' Launching managed ubuntu 24.04 instance... Creating new instance from remote Creating new base instance from remote Creating new instance from base instance Starting instance Starting charmcraft version 2.7.1 Logging execution to '/tmp/charmcraft.log' Bad charmcraft.yaml content: - extra field 'base' not permitted in top-level configuration - extra field 'platforms' not permitted in top-level configuration Failed to execute charmcraft in instance. Full execution log: '/home/ubuntu/.local/state/charmcraft/log/charmcraft-20240730-111057.635886.log' $ sudo snap remove charmcraft charmcraft removed $ charmcraft_3 -v pack Starting charmcraft, version 3.1.1 Logging execution to '/home/ubuntu/.local/state/charmcraft/log/charmcraft-20240730-112715.840030.log' Launching managed ubuntu 24.04 instance... Creating new instance from remote Creating new base instance from remote charmcraft internal error: HTTPError('404 Client Error: Not Found for url: http+unix://%2Frun%2Fsnapd.socket/v2/snaps/charmcraft') Full execution log: '/home/ubuntu/.local/state/charmcraft/log/charmcraft-20240730-112715.840030.log' $ sudo snap remove charmcraft_3 charmcraft_3 removed $ sudo snap install charmcraft --channel 3.x/beta --classic charmcraft (3.x/candidate) 3.1.1 from Canonical✓ installed Channel 3.x/beta for charmcraft is closed; temporarily forwarding to 3.x/candidate. $ charmcraft clean $ charmcraft -v pack Starting charmcraft, version 3.1.1 Logging execution to '/home/ubuntu/.local/state/charmcraft/log/charmcraft-20240730-114924.278890.log' Launching managed ubuntu 24.04 instance... Creating new instance from remote Creating new base instance from remote Creating new instance from base instance Starting instance Starting charmcraft, version 3.1.1 Logging execution to '/tmp/charmcraft.log' Starting charmcraft, version 3.1.1 Logging execution to '/tmp/charmcraft.log' Initialising lifecycle Installing build-packages Pulling charm Building charm :: + cp --archive --link --no-dereference . /root/parts/charm/install Staging charm Priming charm Packing... Packing charm ceph-osd_amd64.charm Packed ceph-osd_amd64.charm ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Fixed by merged PR canonical/charmcraft#1950 (commit 2399ddf8), which enabled Charmcraft to work with parallel-installed snaps and added regression coverage.
stealth/space-bunny-alpha — closed resolved Fixed by merged PR canonical/charmcraft#1950, which enabled parallel-installed Charmcraft snaps and added regression coverage in commit 2399ddf8.
stealth/space-bunny-alpha — closed resolved Fixed by merged PR #1950, which enabled parallel-installed Charmcraft snaps and added spread coverage in commit 2399ddf8.
qwen3.6-35b-a3b-mtp-q6 — — Charmcraft fails with parallel snap installs due to hardcoded snap names ignoring instance keys. Root cause identified in craft-providers, tracked as CRAFT-3351. Closed as blocked by craft-providers#622 pending upstream fix.
qwen/qwen3.6-35b-a3b — — Closed as blocked by upstream craft-providers#622. Root cause: snapd endpoints ignore instance keys. Resolution requires craft-application to dynamically append instance keys to snapd URLs.
qwen/qwen3.6-35b-a3b — — Closed as blocked by craft-providers#622. Parallel installs fail due to hardcoded snap names in snapd calls. Fix requires craft-application or craft-providers to dynamically append SNAP_INSTANCE_KEY to prevent path conflicts.
qwen3.6-35b-a3b-mtp-q6 — — Closed as blocked by craft-providers#622. Parallel installs fail because snapd API calls ignore instance keys. Fix identified in craft-application; internal ticket CRAFT-3351 created. Awaiting blocking dependency.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/charmcraft#1950 (confidence 100%)

    Merged PR explicitly fixes the parallel-installed Charmcraft snap issue.

Related issues

Issue Project State Summary Similarity
#1950 fix: make charmcraft work with snap parallel installs charmcraft merged Merged PR #1950 via commit 2399ddf8, fixing Charmcraft conflicts during parallel snap installs and adding spread regression coverage for issue #1770.
89%
#411 Support snap parallel installs craft-application closed Parallel-installed snap injection was fixed by PR #467 (commit 77a3582b); #411 was closed as fixed, with a separate craft-providers gap noted.
72%
#5085 fix: allow parallel installations of signed snapcraft snaps snapcraft merged Merged PR #5085 fixed parallel installation of signed Snapcraft snaps, resolving #4683 and #4927; #5087 backported the fix to hotfix/7.5.
71%
#2465 fix(snap): workaround for snapcraft/craft-application bug charmcraft merged Merged charmcraft#2465, adding a three-line Snap build workaround for the craft-application bug tracked in snapcraft#5831; it was the only change for 4.0.1.
70%