fix(#2410): bump container@hive-ci TimeoutStartSec to survive slow runner registration
gitea-runner registration (hive-ci-prefetch, host-side) sits on the boot-critical path -- nspawn readiness is gated on the runner registering, itself a forge + core-token round trip that can wait up to 60s for the core token. The default ~60s TimeoutStartSec can trip mid-register (especially right after a .runner purge, since every boot re-registers from scratch), killing the half-started container and triggering a restart loop until the token/forge settle. Bump to 180s so one register attempt has room to finish.
This commit is contained in:
parent
0d416df1e8
commit
2bf6290aa0
1 changed files with 22 additions and 4 deletions
|
|
@ -351,10 +351,28 @@ in
|
||||||
# generated by the host `hive-tls-ca` service. Order the container after
|
# generated by the host `hive-tls-ca` service. Order the container after
|
||||||
# it so the bind source exists before nspawn sets the mount up (a
|
# it so the bind source exists before nspawn sets the mount up (a
|
||||||
# condition-skipped/late CA would otherwise fail the container start).
|
# condition-skipped/late CA would otherwise fail the container start).
|
||||||
systemd.services."container@hive-ci" = lib.mkIf useSelfSigned {
|
systemd.services."container@hive-ci" = lib.mkMerge [
|
||||||
after = [ "hive-tls-ca.service" ];
|
(lib.mkIf useSelfSigned {
|
||||||
requires = [ "hive-tls-ca.service" ];
|
after = [ "hive-tls-ca.service" ];
|
||||||
};
|
requires = [ "hive-tls-ca.service" ];
|
||||||
|
})
|
||||||
|
{
|
||||||
|
# gitea-runner registration (hive-ci-prefetch, host-side)
|
||||||
|
# sits on the boot-critical path — the container's nspawn readiness
|
||||||
|
# is gated on the runner registering, a forge + core-token round
|
||||||
|
# trip that itself waits up to 60s for the core token. The default
|
||||||
|
# nspawn `TimeoutStartSec` (~60s, systemd's `DefaultTimeoutStartSec`)
|
||||||
|
# can therefore trip mid-register, especially right after a
|
||||||
|
# `.runner`-purge (every boot re-registers from scratch — see
|
||||||
|
# hive-ci-prefetch above) or during a hive-c0re restart storm that
|
||||||
|
# delays the core token. systemd then kills the half-started
|
||||||
|
# container and reschedules, producing an observed ~60s restart
|
||||||
|
# loop until the forge/token settle. Bumping the timeout well past
|
||||||
|
# the prefetch's own 60s wait gives one register attempt room to
|
||||||
|
# actually finish instead of being killed mid-flight.
|
||||||
|
serviceConfig.TimeoutStartSec = "180s";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
containers.hive-ci = {
|
containers.hive-ci = {
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue