← Back to issue list

Spread tests fail on openstack: "remote directory /root/proj ... is not empty"

View original Github issue

Metadata

Project
craft-application
Number
#1200
Type
issue
State
open
Author
lengau
Labels
Status: Triaged Type: Bug
Created
Updated
Closed
—

Current evaluation

OpenStack-only nested testcraft failure: the inner spread run cannot populate /root/proj because a freshly allocated image already contains files; provenance and the fix require backend investigation.

Suggested action: keep open

Reason: The issue is explicitly triaged as a bug and provides an exact CI task plus a repeated allocation failure showing that /root/proj is non-empty before prepare runs. The maintainer states that direct backend access is needed, and the same commit and seed pass on multipass, so the OpenStack-specific investigation remains unresolved rather than stale or fixed.

Evaluated by: mr-cal-bot

Impact: 52 Quick Win: 15 Complexity: 61 Confidence: 89 Actionability: 76

Issue body

### Bug Description The `test-cmd` spread test fails on the openstack backend. `testcraft test` starts an inner spread run using its generated `craft` adhoc backend, which fails while sending project content: `/root/proj` already exists and is non-empty on the freshly allocated system, so all three allocation retries are discarded and the run aborts. The failure happens before any test or backend `prepare` runs, so the directory must be created by `./spread/.extension allocate ci` or shipped in the openstack image. The test passes on multipass (same commit, same seed), both as a single task and as part of the full `multipass:ubuntu-24.04-64` suite, so this appears openstack-specific. Likely we'll need to look at what's actually in `/root/proj` using `spread -debug` to determine the provenance of the stuff in that directory. I suspect it might be the outer project. ### To Reproduce Run the test-cmd spread test on the openstack backend, e.g. the CI job for `openstack:ubuntu-24.04-64:tests/spread/testcraft/test-cmd`. ### Relevant log output ```shell 2026-09-28 17:06:21.840 :: Allocating craft:ubuntu-24.04... 2026-09-28 17:06:22.374 :: Waiting for craft:ubuntu-24.04 to make SSH available at localhost... 2026-09-28 17:06:22.375 :: Allocated craft:ubuntu-24.04. 2026-09-28 17:06:23.278 :: Connecting to craft:ubuntu-24.04... 2026-09-28 17:06:23.363 :: Connected to craft:ubuntu-24.04 at localhost. 2026-09-28 17:06:23.363 :: Sending project content to craft:ubuntu-24.04... 2026-09-28 17:06:23.742 :: Discarding craft:ubuntu-24.04, cannot send project content: remote directory /root/proj on craft:ubuntu-24.04-64 is not empty 2026-09-28 17:06:26.781 :: Cannot allocate craft:ubuntu-24.04 after too many retries. 2026-09-28 17:06:26.781 :: Successful tasks: 0 2026-09-28 17:06:26.781 :: Aborted tasks: 1 2026-09-28 17:06:26.781 :: error: unsuccessful run ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 52
Quick Win: 15
Complexity: 61
Confidence: 89
Actionability: 76
keep open OpenStack-only nested testcraft failure: the inner spread run cannot populate /root/proj because a freshly allocated image already contains files; provenance and the fix require backend investigation.
stealth/space-bunny-alpha
Impact: 72
Quick Win: 28
Complexity: 38
Confidence: 86
Actionability: 62
keep open OpenStack-only nested testcraft failure: the inner spread run cannot populate /root/proj because the freshly allocated image already contains a non-empty directory; its contents and provenance still need confirmation.

Update history

Date Change
created

Related work

  • Related To: canonical/craft-application#1091 (confidence 84%)

    Commit 826edb3f migrated Spread CI to OpenStack, which is now the sole backend in the workflow's test matrix; this is infrastructure context, not a resolving change.

Related issues

Issue Project State Summary Similarity
#1279 test(spread): migrate from google to openstack rockcraft merged PR #1279 by tigarmo migrated rockcraft's spread test setup from Google to OpenStack (spread.yaml, spread workflows, 14 files, +192/-17); merged as commit 132b18c4. Proxy-related spread failures were knowingly deferred.
70%