This commit is contained in:
+12
-2
@@ -284,8 +284,18 @@ scheduler treats as transient back-pressure rather than a failure.
|
||||
### Timeouts
|
||||
|
||||
* A slot in `.provisioning(since:)` longer than `bootTimeoutSeconds` (default
|
||||
300) is torn down. Covers a guest that never gets a lease, never starts `sshd`,
|
||||
or hangs in Setup Assistant.
|
||||
900) is torn down. Covers a guest that never gets a lease, never starts `sshd`,
|
||||
or hangs in Setup Assistant. The default is deliberately generous: several
|
||||
Virtualization guests sharing one host push a boot from tens of seconds into
|
||||
minutes, and a limit below the worst case does not time out a bad boot, it
|
||||
livelocks — each replacement clone starts from zero and adds load, so the next
|
||||
boot is slower still and no runner ever registers.
|
||||
* The lifecycle's own `waitForLease` and `waitForSSH` budgets are derived from
|
||||
what is *left* of that deadline, not from a fresh copy of it. Given the full
|
||||
`bootTimeoutSeconds` their deadlines would fall after the planner's, so the
|
||||
planner would always cancel first and the specific error — which host, how
|
||||
many attempts, what the last one said — would be discarded in favour of a bare
|
||||
cancellation.
|
||||
* A slot in `.running(jobHint:since:)` longer than `jobTimeoutMinutes` (default
|
||||
120) is torn down. Covers a job that hangs. This is comfortably below Gitea's
|
||||
own `ABANDONED_JOB_TIMEOUT` (24 h), so our teardown always happens first and
|
||||
|
||||
Reference in New Issue
Block a user