Describe the bug
charts/gguf-backend/files/runtime_guard.py (deploy/helm/llm-routing/spark; #2331 moves it under recipes/ without changing it) reads /sys/fs/cgroup/memory.swap.current in cgroup_memory(), but only inside the supervision loop, after it has started the runtime with Popen. On a host without cgroup v2 swap accounting, that file does not exist. FileNotFoundError then ends the guard, and its container, right after the RPC or model server starts.
Steps or code to reproduce bug
Run a runtime pod on a node where /sys/fs/cgroup/memory.swap.current is absent inside the container, for example with swap accounting disabled.
Expected behavior
Check that memory.current, memory.swap.current and memory.events exist before starting the runtime, and refuse to start with a clear message. Alternatively, treat a missing swap file as zero swap usage if that is safe.
Additional context
Introduced in #2322. Found during review of #2331.
Describe the bug
charts/gguf-backend/files/runtime_guard.py(deploy/helm/llm-routing/spark; #2331 moves it underrecipes/without changing it) reads/sys/fs/cgroup/memory.swap.currentincgroup_memory(), but only inside the supervision loop, after it has started the runtime withPopen. On a host without cgroup v2 swap accounting, that file does not exist.FileNotFoundErrorthen ends the guard, and its container, right after the RPC or model server starts.Steps or code to reproduce bug
Run a runtime pod on a node where
/sys/fs/cgroup/memory.swap.currentis absent inside the container, for example with swap accounting disabled.Expected behavior
Check that
memory.current,memory.swap.currentandmemory.eventsexist before starting the runtime, and refuse to start with a clear message. Alternatively, treat a missing swap file as zero swap usage if that is safe.Additional context
Introduced in #2322. Found during review of #2331.