Bug#1090031: slurmctld: Cannot log to /var/log/slurm/slurmctld.log after logrotate due to reconfig failure by wrong pid ownership
Package: slurmctld
Version: 22.05.8-4+deb12u2
Severity: normal
Tags: patch
X-Debbugs-Cc: Benda Xu <orv@debian.org>, xgreenlandforwyy@gmail.com
To reproduce on a non-systemd machine which uses /etc/init.d/slurmctld
sudo logrotate -fv /etc/logrotate.d/slurmctld
Result contains the following error messages.
running postrotate script
start-stop-daemon: matching only on non-root pidfile /run/slurmctld.pid is insecure
Then slurm stops logging into /var/log/slurm/slurmctld.log
This error can also be triggered by sudo /usr/sbin/invoke-rc.d slurmctld reconfig
start-stop-daemon: matching only on non-root pidfile /run/slurmctld.pid is insecure
invoke-rc.d: initscript slurmctld, action "reconfig" failed.
This patch fixes the issue:
diff --git a/debian/slurmctld.init.d b/debian/slurmctld.init.d
index fc3e0002..510f50d2 100644
--- a/debian/slurmctld.init.d
+++ b/debian/slurmctld.init.d
@@ -218,7 +218,7 @@ case "$1" in
reconfig)
for prog in $DAEMONLIST ; do
PIDFILE=$(getpidfile $prog)
- start-stop-daemon --stop --signal HUP --pidfile \
+ start-stop-daemon --user slurm --stop --signal HUP --pidfile \
"$PIDFILE" --quiet $prog
done
;;
-- System Information:
Debian Release: 12.6
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-23-amd64 (SMP w/64 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: OpenRC (via /run/openrc), PID 1: init
Versions of packages slurmctld depends on:
ii libc6 2.36-9+deb12u7
ii munge 0.5.15-2
ii slurm-client 22.05.8-4+deb12u2
ii slurm-wlm-basic-plugins 22.05.8-4+deb12u2
ii ucf 3.0043+nmu1
slurmctld recommends no packages.
slurmctld suggests no packages.
-- Configuration Files:
/etc/init.d/slurmctld changed [not included]
/etc/logrotate.d/slurmctld changed [not included]
-- no debconf information
Reply to: