[Bug 290211] sysutils/slurm-wlm: refresh rc.d scripts (slurmctld & slurmd): configurable conf/log dirs, pidfiles, status, and cleanup
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 290211] sysutils/slurm-wlm: refresh rc.d scripts (slurmctld & slurmd): configurable conf/log dirs, pidfiles, status, and cleanup"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 290211] sysutils/slurm-wlm: refresh rc.d scripts (slurmctld & slurmd): configurable conf/log dirs, pidfiles, status, and cleanup"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 290211] sysutils/slurm-wlm: refresh rc.d scripts (slurmctld & slurmd): configurable conf/log dirs, pidfiles, status, and cleanup"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 290211] sysutils/slurm-wlm: refresh rc.d scripts (slurmctld & slurmd): configurable conf/log dirs, pidfiles, status, and cleanup"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 13 Oct 2025 15:52:34 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290211
Bug ID: 290211
Summary: sysutils/slurm-wlm: refresh rc.d scripts (slurmctld &
slurmd): configurable conf/log dirs, pidfiles, status,
and cleanup
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: ports-bugs@FreeBSD.org
Reporter: rikka.goering@outlook.de
Summary
Modernize and harden the slurmctld and slurmd rc.d services:
- Make the configuration file path configurable via rc.conf (default to
%%ETCDIR%%/slurm.conf).
- Add configurable log directory and pidfile locations; run via daemon(8) by
default.
- Implement robust status (and onestop) using pidfiles/rc.subr.
- Review & remove outdated bits; align defaults with current port
(--sysconfdir=%%ETCDIR%%).
- Preserve backwards compatibility with existing *_flags and SLURM_CONF.
Motivation / Why now
- The port now installs config under %%ETCDIR%%; rc.d should reflect that and
allow overrides.
- Current scripts lack a proper status and don’t consistently manage
pidfiles/logging.
- Users expect rc.d services to support configurable paths without editing
scripts.
Scope of change
- Files: files/slurmctld.in and files/slurmd.in
- No ABI/API change; rc knobs only.
- Defaults safe for fresh installs; compatible with existing deployments.
Proposed rc variables (defaults)
# Common (both services honour these)
slurm_user="slurm"
slurm_group="slurm"
slurm_conf="%%ETCDIR%%/slurm.conf" # exported as SLURM_CONF
slurm_logdir="/var/log/slurm" # created with 0750/slurm:slurm
slurm_rundir="/var/run/slurm" # created with 0755/root:wheel
# Service-specific (overridable)
slurmctld_enable="NO"
slurmctld_flags="" # extra args
slurmctld_pidfile="/var/run/slurm/slurmctld.pid"
slurmctld_logfile="/var/log/slurm/slurmctld.log"
slurmd_enable="NO"
slurmd_flags=""
slurmd_pidfile="/var/run/slurm/slurmd.pid"
slurmd_logfile="/var/log/slurm/slurmd.log"
Behavioural details
- start: create run/log dirs, ensure ownership, export
SLURM_CONF="${slurm_conf}", start via daemon(8) with -P <pidfile> -o <logfile>
-r.
- status: use rc_subr pidfile helpers (status_cmd="${name}_status" with
check_pidfile).
- stop: stop_postcmd verifies pidfile removal; fall back to pkill -F if needed.
- reload: send HUP to daemon pid (both daemons support SIGHUP to re-read
config).
- Backward compatible: existing slurm_*_flags still honoured; SLURM_CONF can be
set globally in /etc/rc.conf or environment—rc script exports it from
slurm_conf if not already set.
--
You are receiving this mail because:
You are the assignee for the bug.