Skip to content

Reconcile Docker and Podman workers with the restart policy - #244

Merged
Shine-neko merged 7 commits into
mainfrom
scheduler/persist-restart-state
Oct 8, 2026
Merged

Shine-neko merged 7 commits into
mainfrom
scheduler/persist-restart-state

Conversation

@Shine-neko

Copy link
Copy Markdown
Contributor

Second step of the restart policy design (documentation/design/restart-policy.md).

  • Docker and Podman workers are reconciled by the scheduler through a new instance driver interface (observe / start / stop / discard) and the restart policy: they back off with full jitter (10s up to 5m) and are never abandoned unless on_exhaustion = "fail". The counter resets after stable_after (10m).
  • Restart state (next attempt, running since, last termination with a tail of its output) is persisted, so a server restart no longer resets backoffs.
  • New [server.restart] section, validated at startup.
  • crash_loop_back_off and insufficient_resources are reconciled again; liveness kills count as failures.
  • Jobs and the containerd, Cloud Hypervisor and Firecracker runtimes keep their apply path and the 5-attempt budget for now, with retries spaced on the persisted backoff. RetryBackoff is removed.
  • Docker e2e suite and documentation updated.

@Shine-neko
Shine-neko merged commit e1b1e09 into main Oct 8, 2026
5 checks passed
@Shine-neko
Shine-neko deleted the scheduler/persist-restart-state branch October 8, 2026 19:47
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