fix: workaround for mknod in lxd
Metadata
Current evaluation
Merged into main. Implements a mknod shim to bypass inconsistent mknod behavior in LXD, resolving issue #489.
Resolution: closed resolved
Reason: The PR was merged, introducing a mknod shim at the front of PATH to work around inconsistent mknod calls in LXD, which resolves issue #489.
Evaluated by: mr-cal-bot
No scores available.
Issue body
In lxd, some `mknod` calls work while others fail, causing issues with mmdebstrap since its test call succeeds. This works around it by making a `mknod` shim at the front of $PATH that always fails in lxd.
Fixes #489
CRAFT-5332
---
- [x] I've followed the [contribution guidelines](https://github.com/canonical/imagecraft/blob/main/CONTRIBUTING.md).
- [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [x] I've successfully run `make lint && make test`.
- [x] I've added or updated any relevant documentation.
- [x] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [x] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | closed resolved | Merged into main. Implements a mknod shim to bypass inconsistent mknod behavior in LXD, resolving issue #489. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
23
Complexity:
30
Confidence:
75
Actionability:
65
|
needs review | Adds an always-failing mknod shim prepended to PATH in LXD to work around mmdebstrap's partial mknod interception. Approved by 2 reviewers, CI green, 3 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
55
Quick Win:
21
Complexity:
40
Confidence:
75
Actionability:
65
|
needs review | Adds an always-failing mknod shim at the front of PATH in LXD to work around mmdebstrap's partial mknod interception. Approved by one reviewer with CI green, but 2 unresolved review comments remain. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
18
Complexity:
40
Confidence:
70
Actionability:
60
|
needs review | Adds always-failing mknod shim at front of PATH in LXD to work around mmdebstrap's successful test call; CI green, approved with 2 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
18
Complexity:
40
Confidence:
70
Actionability:
60
|
needs review | Adds always-failing mknod shim at front of PATH in LXD to work around mmdebstrap's successful test call; CI green except pending spread, 2 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
20
Complexity:
35
Confidence:
70
Actionability:
60
|
needs review | Adds an always-failing mknod shim at the front of PATH in LXD to work around mmdebstrap's successful test call; CI green except pending spread, 2 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
20
Complexity:
35
Confidence:
65
Actionability:
60
|
needs review | Adds an always-failing mknod shim at the front of PATH in LXD to work around mmdebstrap's successful test call; CI green except pending spread, 2 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
45
Quick Win:
15
Complexity:
40
Confidence:
55
Actionability:
55
|
needs review | Adds an always-failing mknod shim at the front of PATH in LXD so mmdebstrap's test call fails instead of proceeding; CI green, 2 unresolved review comments, spread tests pending. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
20
Complexity:
35
Confidence:
60
Actionability:
60
|
needs review | Adds an always-failing mknod shim at the front of PATH in LXD to work around mmdebstrap's successful test call; CI green except pending snap-builds, 2 unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
16
Complexity:
45
Confidence:
70
Actionability:
60
|
needs review | Adds an always-failing mknod shim at the front of PATH in LXD to work around mmdebstrap's successful test call; CI mostly green, one unresolved review comment. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
18
Complexity:
35
Confidence:
70
Actionability:
55
|
needs review | Adds an always-failing mknod shim at the front of PATH in LXD to work around mmdebstrap's successful test call; CI mostly green, two unresolved review comments. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
21
Complexity:
30
Confidence:
60
Actionability:
60
|
needs review | Adds an always-failing mknod shim at the front of PATH in LXD to work around mmdebstrap's successful test call; CI pending, one unresolved review comment. | |
| ~deepseek/deepseek-pro-latest |
Impact:
45
Quick Win:
23
Complexity:
35
Confidence:
72
Actionability:
80
|
needs review | Adds a PATH-front mknod shim that always fails in LXD to work around mmdebstrap's mknod test succeeding while later calls fail. CI mostly passing, some checks pending. | |
| ~deepseek/deepseek-pro-latest |
Impact:
50
Quick Win:
21
Complexity:
40
Confidence:
60
Actionability:
70
|
needs review | Adds an always-failing mknod shim at the front of $PATH in LXD so mmdebstrap's test call fails and it falls back, avoiding partial mknod failures. Fresh PR, CI partially pending. |
Update history
| Date | Change |
|---|---|
| merged | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related work
-
Related To:
imagecraft#489
(confidence 100%)
Issue explicitly referenced as fixed by this PR.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3218 lxd: enable security.syscalls.intercept.mknod if supported to allow snaps to create some device nodes | snapcraft | merged | Merged PR #3218 enabled LXD mknod interception only on supported kernels, allowing safe device-node creation while preserving compatibility with hosts such as Ubuntu 16.04. | |
| #358 DO NOT MERGE: check fix for lxd bug | craft-providers | closed | Experimental workaround for canonical/lxd#11890 was closed unmerged after prolonged inactivity; no resolving commit or replacement was recorded. | |
| #191 Don't set security.syscalls.intercept.mknod=true for LXD provider | craft-providers | closed | Resolved by merged PR #717 (commit 6ceb498), released in 2.2.0: LXDProvider gained an intercept_mknod option so applications can disable automatic mknod interception. |