Race in LXD config set
Metadata
Current evaluation
Fixed by merged PR #386, which eliminated competing LXC locks and the resulting config-set ETag mismatch race.
Resolution: closed resolved
Reason: PR canonical/craft-providers#386 was merged and changed instance creation to use only the instance LXC lock, preventing concurrent updates from causing ETag mismatches.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### Bug Description
N/A
### To Reproduce
N/A
### part yaml
_No response_
### Relevant log output
```shell
process = <Popen: returncode: 1 args: ['lxc', '--project', 'default', 'config', 'set',...>
stdout = b''
stderr = b"Error: ETag doesn't match: dbbebf13bc48ac98f67500af92a879f1b4d6fff8b9a24779fb211826574101fe vs 3b206a1d89d00d82cc714a45619d2309c5840b544719d7d19884fd9da6c572f2\n"
retcode = 1
```
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR #386, which eliminated competing LXC locks and the resulting config-set ETag mismatch race. | |
| qwen/qwen3.6-35b-a3b | — | closed resolved | Fixed race condition causing LXD config set ETag mismatch errors by serializing LXC config operations in craft-providers#386. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/craft-providers#386
(confidence 99%)
The maintainer linked this merged PR as the resolution for the locking race.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #376 lxc: create status data in lxd to avoid race | craft-providers | merged | Merged PR #376 (commit 9a831a5) adds user.craft_providers.status/timer LXD config keys plus instance restart() to avoid duplicate-instance race; fixes #341. |