← Back to issue list

test(spread): make LXD refresh in prepare more reliable

View original Github issue

Metadata

Project
craft-application
Number
#1133
Type
pull request
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

Current evaluation

Closed unmerged; its LXD auto-refresh race fix was superseded by merged PR #1170 (commit fea3e835), which waits for active snap refreshes during spread prepare.

Resolution: closed superseded

Reason: PR #1170 replaced this retry-based approach with a refresh hold and wait for active auto-refreshes, then merged as commit fea3e835.

Evaluated by: mr-cal-bot

No scores available.

Issue body

## Summary - make spread project prepare robust when LXD snap refresh collides with snap auto-refresh - retry only the known transient error: `snap "lxd" has "auto-refresh" change in progress` - keep other failures as hard failures ## Context - addresses spread project prepare failures seen in https://github.com/canonical/craft-application/actions/runs/29414578447/job/87350369623?pr=1128

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed superseded Closed unmerged; its LXD auto-refresh race fix was superseded by merged PR #1170 (commit fea3e835), which waits for active snap refreshes during spread prepare.
qwen/qwen3.8-27b — closed resolved Made spread project prepare robust against LXD snap refresh colliding with snapd auto-refresh by waiting out in-progress auto-refresh changes. Merged as PR #1170 (commit fea3e835), fixing flaky prepare failures seen in craft-application#1128 CI runs.
stealth/space-bunny-alpha
Impact: 28
Quick Win: 6
Complexity: 20
Confidence: 98
Actionability: 25
close superseded Retries only the known LXD auto-refresh conflict during Spread prepare; inactive with one unresolved comment, failing policy/lint checks, and OpenStack tests pending.
qwen3.6-35b-a3b-mtp-q6
Impact: 50
Quick Win: 38
Staleness: 70
Complexity: 25
Confidence: 65
needs review Retry only the known LXD auto-refresh transient error in spread prepare to avoid hard failures. Has 1 unresolved review comment, 49 days of inactivity, and failing CI checks.
qwen/qwen3.6-35b-a3b
Staleness: 10
Complexity: 15
Confidence: 85
needs review Fixes spread project prepare failures during LXD snap refresh collisions by retrying only the known transient auto-refresh error. Currently pending review with minor lint and title policy failures.
qwen3.6-35b-a3b-mtp-q6
Staleness: 5
Complexity: 15
Confidence: 90
needs review Makes spread project prepare robust against LXD snap refresh collisions by retrying only the known transient auto-refresh error. Currently unreviewed and awaiting maintainer feedback.

Update history

Date Change
closed
updated

Related work

Related issues

Issue Project State Summary Similarity
#1190 test(spread): wait for pending snap auto-refresh before refreshing lxd craft-application closed Superseded by merged PR canonical/craft-application#1170 (fea3e835), which added a broader snap auto-refresh hold and wait; #1190's narrower fix was closed unmerged.
85%
#1170 test(spread): wait out in-progress auto-refresh in prepare craft-application closed Merged PR #1170 as fea3e835, adding a 24-hour snap refresh hold and waiting for active auto-refreshes to prevent spread prepare races.
81%
#2631 spread tests: enable LXD build provider tests snapcraft merged Merged PR #2631 enabled LXD build-provider spread tests and reused early-prepared LXD setup, reducing repeated setup and image-download overhead.
78%
#483 test(spread): run snap-preseed tests in lxd imagecraft merged Merged PR #483 to update snap-preseed plugin tests to run in LXD across all systems, addressing CRAFT-5332.
78%
#467 test(spread): use LXD provider for spread tests imagecraft closed PR closed without merge; spread LXD provider changes were implemented across follow-up PRs (#483, #485, #486, #487, #488, #495)
77%
#485 test(spread): test uc-prepare in lxd imagecraft merged Merged PR adding spread tests for uc-prepare on LXD across core22, core24, and core26 base images.
77%
#2937 spread tests: do not attempt to remove snapd snap snapcraft merged Merged in commit b9290bb32; spread tests now skip removing the protected snapd snap, fixing LXD test failures.
76%
#694 tests(spread): use LXD from `5.21/candidate` rockcraft merged Merged PR #694 in commit 90bc9b34, pinning spread tests to LXD 5.21/candidate to restore main and strengthen LTS regression coverage.
76%
#2983 tests: add LXD spread test snapcraft merged Merged PR #2983 as 4b8522a14, adding spread coverage that builds the LXD package with LXD and destructive/host providers; installation checks were deferred.
75%
#302 test(spread): switch to testing in destructive mode imagecraft merged Merged PR #302 as commit f6aae5e, switching spread tests to destructive mode while LXD lacks required loop-device support.
74%