deprovision: firewall deletion fails with resource_in_use immediately after server delete
Opened by 4chems · 4/9/2026
Description
During node deprovisioning, the Hetzner firewall DELETE call fails with a 422 resource_in_use error immediately after the server is confirmed deleted. Re-running deprovision a few seconds later succeeds (server skipped as already gone, firewall deletes cleanly).
Steps to Reproduce
- Run
deprovisionon a provisioned node - Server deletion completes and is confirmed
- Firewall deletion immediately follows — returns 422
resource_in_use
Expected Behavior
Firewall deletion should succeed in a single deprovision run.
Actual Behavior
[NP-E021] Hetzner firewall deletion failed: DELETE /firewalls/{id} returned 422: resource_in_use
The error is transient — re-running deprovision after a few seconds always succeeds.
Root Cause (suspected)
Hetzner's server deletion is async. Even after the server deletion is confirmed, the firewall detachment takes a moment to propagate on Hetzner's side. The deprovision method proceeds to firewall deletion too quickly.
Suggested Fix
Add a short retry loop with backoff (e.g. 3 attempts, 3s apart) around the firewall DELETE call, or add an explicit wait after server deletion before attempting firewall cleanup.
Open
No activity in this phase yet.
Sign in to post a ripple.