Bug 85297 - systemctl start hangs for SysVinit script with multiple pid files
Summary: systemctl start hangs for SysVinit script with multiple pid files
Status: NEW
Alias: None
Product: systemd
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: systemd-bugs
QA Contact: systemd-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-21 17:41 UTC by David Gloe
Modified: 2014-12-09 00:39 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Gloe 2014-10-21 17:41:21 UTC
The slurm init script can start multiple daemons, so it has multiple pid files listed.

# processname: /opt/slurm/14.11.0-1.0000.44f7451.73.13.ari/sbin/slurmd
# pidfile: /var/run/slurmd.pid
#
# processname: /opt/slurm/14.11.0-1.0000.44f7451.73.13.ari/sbin/slurmctld
# pidfile: /var/run/slurmctld.pid

If slurm is configured so only slurmd starts on the node, systemctl start slurm.service hangs even though slurmd is running and /var/run/slurmd.pid exists; I believe because it's looking for the slurmctld pid file.

If the second pidfile line is removed then systemctl start slurm.service completes successfully, but that breaks nodes where slurmctld is started.

If slurmd is configured to write its pid to /var/run/slurmctld.pid then systemctl start slurm.service completes successfully, but that means slurmctld and slurmd can't run on the same node.

nid00059:~ # systemctl --version
systemd 210
+PAM +LIBWRAP +AUDIT +SELINUX -IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ +SECCOMP +APPARMOR
Comment 1 Lennart Poettering 2014-12-09 00:39:01 UTC
Hmm, listing two pidile entries in the headers is an extension that is not supported by systemd, sorry, and it's unlikely to be supported. your daemon really shouldn't ship thing with an extension like that...


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.