Skip to content

Orphan reaper: recognise Proxmox's real missing-VM response - #72

Merged
WittsEnd2 merged 1 commit into
mainfrom
fix/reaper-missing-vm
Oct 27, 2026
Merged

WittsEnd2 merged 1 commit into
mainfrom
fix/reaper-missing-vm

Conversation

@WittsEnd2

Copy link
Copy Markdown
Member

Proxmox returns HTTP 500 with "Configuration file ... does not exist" for a missing guest, not 404 (verified on a live cluster). The reaper only accepted 404, so a guest that vanished between inventory and stop/delete was logged as a failure.

The reaper now uses the same check as the destroy paths: confirm_proxmox_absence, i.e. the error must look like absence and a fresh inventory must agree. An absence-like error while inventory still lists the guest stays a failure (safe).

Tests (red first): the real 500 shape on stop and on delete reports not_found; the same message with the guest still in inventory stays stop_failed; a transport error mentioning 404 in its URL stays stop_failed.

PVE answers a request for a missing guest with HTTP 500 and "... does not
exist", not 404, so the reaper reported stop/delete failures for guests
that had already vanished. Use the app's standard check: the error must
look like absence and a fresh inventory must agree.

Co-Authored-By: Claude <noreply@anthropic.com>
@WittsEnd2
WittsEnd2 requested a review from a team as a code owner October 27, 2026 15:21
@WittsEnd2
WittsEnd2 merged commit bb23b4f into main Oct 27, 2026
3 checks passed
@WittsEnd2
WittsEnd2 deleted the fix/reaper-missing-vm branch October 27, 2026 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant