Skip to content

Stop waiting when a device push fails, and show its errors - #4

Merged
Former-Stranger merged 1 commit into
mainfrom
fix-pushfail-hang
Oct 25, 2026
Merged

Former-Stranger merged 1 commit into
mainfrom
fix-pushfail-hang

Conversation

@Former-Stranger

Copy link
Copy Markdown
Owner

What does this change?

When a firewall rejects a push, SCM ends the device's job as PUSHFAIL, never FIN. push_and_wait only treated FIN as finished, so it waited until its 30-minute timeout, in the GUI too, instead of reporting the failure.

  • A job now counts as finished on any final status (FIN, PUSHFAIL, PUSHABORT, PUSHSUCC), or once it has an end time and a result.
  • A failed push now logs the device's error lines, for example Error: Failed to find address '…', instead of the raw job JSON.
  • The troubleshooting guide covers the usual cause: a rule references an object that someone created in SCM but hasn't pushed yet, and the app's own push can't include it.

How was it tested?

  • uv run python -m unittest discover tests: new tests replay a real PUSHFAIL job sequence (anonymised), a successful push, and jobs that are still running.
  • terraform test (not affected)
  • Seen against a real tenant: a push failed this way, and the old code hung until its timeout.

Checklist

  • Docs and CHANGELOG.md (Unreleased) updated where users would notice
  • No real hostnames, IPs, tenant IDs, keys or logs in code, tests or this PR

🤖 Generated with Claude Code

SCM ends a device push the firewall rejects as PUSHFAIL, never FIN, so
push_and_wait waited out its 30-minute timeout (in the GUI too) instead of
reporting the failure. Jobs now count as done on any final status, or once
they have an end time and a result, and a failure logs the device's error
lines rather than raw job JSON.

Troubleshooting now covers the usual cause: a rule referencing an object
someone created in SCM but hasn't pushed, which the app's own push can't
include.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Former-Stranger
Former-Stranger merged commit 77e83a9 into main Oct 25, 2026
9 checks passed
@Former-Stranger
Former-Stranger deleted the fix-pushfail-hang branch October 25, 2026 15:59
@Former-Stranger Former-Stranger mentioned this pull request Oct 25, 2026
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