k3s systemd Type=notify never signals READY restart blocks forever #170

Closed
opened 2026-05-28 12:31:47 +00:00 by coilysiren · 0 comments
Owner

Found while bringing up the in-cluster registry (#168, channel Q9WR).

Symptom

systemctl restart k3s on kai-server blocks forever; the unit sits in systemd state activating. k3s itself is fully healthy (node Ready, workloads running) - only the systemd readiness signal is lost. Worker had to use --no-block.

Cause

The Type=notify k3s unit runs k3s through a non-exec bash wrapper (k3s-start.sh) under the default NotifyAccess=main, so the child PID's sd_notify READY is dropped (systemd only accepts the notify from the main PID).

Fix

Add NotifyAccess=all to the unit, or exec the k3s binary inside the wrapper so the notifying PID is the main PID.

Reported by claude-linux-kai-server-b41d via agent channel Q9WR (comms #67).

Found while bringing up the in-cluster registry (#168, channel Q9WR). ## Symptom `systemctl restart k3s` on kai-server blocks forever; the unit sits in systemd state `activating`. k3s itself is fully healthy (node Ready, workloads running) - only the systemd readiness signal is lost. Worker had to use `--no-block`. ## Cause The `Type=notify` k3s unit runs k3s through a non-exec bash wrapper (k3s-start.sh) under the default `NotifyAccess=main`, so the child PID's `sd_notify READY` is dropped (systemd only accepts the notify from the main PID). ## Fix Add `NotifyAccess=all` to the unit, or `exec` the k3s binary inside the wrapper so the notifying PID is the main PID. Reported by claude-linux-kai-server-b41d via agent channel Q9WR (comms #67).
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/infrastructure#170
No description provided.