Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion schedmd/slurm/25.11/rockylinux9/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -153,15 +153,22 @@ RUN --mount=type=cache,target=/var/cache/dnf,sharing=locked <<EOR
set -xeuo pipefail
dnf -q -y install --setopt='install_weak_deps=False' \
socat \
authselect sssd sssd-ad sssd-ldap \
./slurm-slurmctld-[0-9]*.rpm \
./slurm-[0-9]*.rpm
rm *.rpm
# Configure
sed -i -E "s/^passwd:[[:space:]]+/&slurm /g" /etc/nsswitch.conf
sed -i -E "s/^group:[[:space:]]+/&slurm /g" /etc/nsswitch.conf
mkdir -p /etc/authselect
authselect select sssd with-mkhomedir --force
EOR

COPY files/etc/supervisord.conf /etc/
COPY \
files/etc/supervisord.d/slurmctld.ini \
files/etc/supervisord.d/fakesystemd.ini \
files/etc/supervisord.d/fakesystemd-slurm.ini \
files/etc/supervisord.d/sssd.ini \
/etc/supervisord.d/
COPY files/usr/local/bin/fakesystemd.sh /usr/local/bin/
COPY files/usr/local/bin/slurmctld-entrypoint.sh /usr/local/bin/entrypoint.sh
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# SPDX-License-Identifier: Apache-2.0

[program:slurmctld]
user=slurm
environment=NOTIFY_SOCKET="/tmp/fakesystemd.sock"
command=bash -xc "exec slurmctld --systemd %(ENV_SLURMCTLD_OPTIONS)s"
stdout_logfile=/dev/stdout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,25 @@

set -euo pipefail

# Additional arguments to pass to slurmctld.
# Additional arguments to pass to daemons.
export SLURMCTLD_OPTIONS="${SLURMCTLD_OPTIONS:-} $*"
export SSSD_OPTIONS="${SSSD_OPTIONS:-}"

function main() {
mkdir -p /run/slurmctld/
chown slurm:slurm /run/slurmctld/
mkdir -p /run/dbus/
rm -f /var/run/dbus/pid

# Copy SSSD config with correct permissions if mounted
# The operator mounts it to /run/sssd-mounted/ with fsGroup (group-readable)
# We copy to /etc/sssd/ and set strict permissions (SSSD requires root:root 0600)
if [[ -f /run/sssd-mounted/sssd.conf ]]; then
mkdir -p /etc/sssd
cp /run/sssd-mounted/sssd.conf /etc/sssd/sssd.conf
chmod 0600 /etc/sssd/sssd.conf
chown root:root /etc/sssd/sssd.conf
fi

exec supervisord -c /etc/supervisord.conf
}
Expand Down
7 changes: 7 additions & 0 deletions schedmd/slurm/25.11/ubuntu24.04/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ set -xeuo pipefail
apt-get -qq update
apt-get -qq -y install --no-install-recommends --fix-broken \
socat \
authselect sssd sssd-ad sssd-ldap libpam-sss libnss-sss \
./slurm-smd-client_[0-9]*.deb \
./slurm-smd-client-dbgsym_[0-9]*.ddeb \
./slurm-smd-dev_[0-9]*.deb \
Expand All @@ -150,11 +151,17 @@ apt-get -qq -y install --no-install-recommends --fix-broken \
./slurm-smd_[0-9]*.deb \
./slurm-smd-dbgsym_[0-9]*.ddeb
rm *.deb && rm *.ddeb
# Configure
sed -i -E "s/^passwd:[[:space:]]+/&slurm /g" /etc/nsswitch.conf
sed -i -E "s/^group:[[:space:]]+/&slurm /g" /etc/nsswitch.conf
mkdir -p /etc/authselect
authselect select sssd with-mkhomedir --force
EOR

COPY files/etc/supervisor/supervisord.conf /etc/supervisor/
COPY \
files/etc/supervisor/conf.d/slurmctld.conf \
files/etc/supervisor/conf.d/sssd.conf \
/etc/supervisor/conf.d/
COPY files/usr/local/bin/slurmctld-entrypoint.sh /usr/local/bin/entrypoint.sh

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# SPDX-License-Identifier: Apache-2.0

[program:slurmctld]
user=slurm
environment=NOTIFY_SOCKET="/tmp/fakesystemd.sock"
command=bash -xc "exec slurmctld --systemd %(ENV_SLURMCTLD_OPTIONS)s"
stdout_logfile=/dev/stdout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,25 @@

set -euo pipefail

# Additional arguments to pass to slurmctld.
# Additional arguments to pass to daemons.
export SLURMCTLD_OPTIONS="${SLURMCTLD_OPTIONS:-} $*"
export SSSD_OPTIONS="${SSSD_OPTIONS:-}"

function main() {
mkdir -p /run/slurmctld/
chown slurm:slurm /run/slurmctld/
mkdir -p /run/dbus/
rm -f /var/run/dbus/pid

# Copy SSSD config with correct permissions if mounted
# The operator mounts it to /run/sssd-mounted/ with fsGroup (group-readable)
# We copy to /etc/sssd/ and set strict permissions (SSSD requires root:root 0600)
if [[ -f /run/sssd-mounted/sssd.conf ]]; then
mkdir -p /etc/sssd
cp /run/sssd-mounted/sssd.conf /etc/sssd/sssd.conf
chmod 0600 /etc/sssd/sssd.conf
chown root:root /etc/sssd/sssd.conf
fi

exec supervisord -c /etc/supervisor/supervisord.conf
}
Expand Down
9 changes: 8 additions & 1 deletion schedmd/slurm/master/rockylinux9/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -153,15 +153,22 @@ RUN --mount=type=cache,target=/var/cache/dnf,sharing=locked <<EOR
set -xeuo pipefail
dnf -q -y install --setopt='install_weak_deps=False' \
socat \
authselect sssd sssd-ad sssd-ldap \
./slurm-slurmctld-[0-9]*.rpm \
./slurm-[0-9]*.rpm
rm *.rpm
# Configure
sed -i -E "s/^passwd:[[:space:]]+/&slurm /g" /etc/nsswitch.conf
sed -i -E "s/^group:[[:space:]]+/&slurm /g" /etc/nsswitch.conf
mkdir -p /etc/authselect
authselect select sssd with-mkhomedir --force
EOR

COPY files/etc/supervisord.conf /etc/
COPY \
files/etc/supervisord.d/slurmctld.ini \
files/etc/supervisord.d/fakesystemd.ini \
files/etc/supervisord.d/fakesystemd-slurm.ini \
files/etc/supervisord.d/sssd.ini \
/etc/supervisord.d/
COPY files/usr/local/bin/fakesystemd.sh /usr/local/bin/
COPY files/usr/local/bin/slurmctld-entrypoint.sh /usr/local/bin/entrypoint.sh
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# SPDX-License-Identifier: Apache-2.0

[program:slurmctld]
user=slurm
environment=NOTIFY_SOCKET="/tmp/fakesystemd.sock"
command=bash -xc "exec slurmctld --systemd %(ENV_SLURMCTLD_OPTIONS)s"
stdout_logfile=/dev/stdout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,25 @@

set -euo pipefail

# Additional arguments to pass to slurmctld.
# Additional arguments to pass to daemons.
export SLURMCTLD_OPTIONS="${SLURMCTLD_OPTIONS:-} $*"
export SSSD_OPTIONS="${SSSD_OPTIONS:-}"

function main() {
mkdir -p /run/slurmctld/
chown slurm:slurm /run/slurmctld/
mkdir -p /run/dbus/
rm -f /var/run/dbus/pid

# Copy SSSD config with correct permissions if mounted
# The operator mounts it to /run/sssd-mounted/ with fsGroup (group-readable)
# We copy to /etc/sssd/ and set strict permissions (SSSD requires root:root 0600)
if [[ -f /run/sssd-mounted/sssd.conf ]]; then
mkdir -p /etc/sssd
cp /run/sssd-mounted/sssd.conf /etc/sssd/sssd.conf
chmod 0600 /etc/sssd/sssd.conf
chown root:root /etc/sssd/sssd.conf
fi

exec supervisord -c /etc/supervisord.conf
}
Expand Down
7 changes: 7 additions & 0 deletions schedmd/slurm/master/ubuntu24.04/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ set -xeuo pipefail
apt-get -qq update
apt-get -qq -y install --no-install-recommends --fix-broken \
socat \
authselect sssd sssd-ad sssd-ldap libpam-sss libnss-sss \
./slurm-smd-client_[0-9]*.deb \
./slurm-smd-client-dbgsym_[0-9]*.ddeb \
./slurm-smd-dev_[0-9]*.deb \
Expand All @@ -150,11 +151,17 @@ apt-get -qq -y install --no-install-recommends --fix-broken \
./slurm-smd_[0-9]*.deb \
./slurm-smd-dbgsym_[0-9]*.ddeb
rm *.deb && rm *.ddeb
# Configure
sed -i -E "s/^passwd:[[:space:]]+/&slurm /g" /etc/nsswitch.conf
sed -i -E "s/^group:[[:space:]]+/&slurm /g" /etc/nsswitch.conf
mkdir -p /etc/authselect
authselect select sssd with-mkhomedir --force
EOR

COPY files/etc/supervisor/supervisord.conf /etc/supervisor/
COPY \
files/etc/supervisor/conf.d/slurmctld.conf \
files/etc/supervisor/conf.d/sssd.conf \
/etc/supervisor/conf.d/
COPY files/usr/local/bin/slurmctld-entrypoint.sh /usr/local/bin/entrypoint.sh

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# SPDX-License-Identifier: Apache-2.0

[program:slurmctld]
user=slurm
environment=NOTIFY_SOCKET="/tmp/fakesystemd.sock"
command=bash -xc "exec slurmctld --systemd %(ENV_SLURMCTLD_OPTIONS)s"
stdout_logfile=/dev/stdout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,25 @@

set -euo pipefail

# Additional arguments to pass to slurmctld.
# Additional arguments to pass to daemons.
export SLURMCTLD_OPTIONS="${SLURMCTLD_OPTIONS:-} $*"
export SSSD_OPTIONS="${SSSD_OPTIONS:-}"

function main() {
mkdir -p /run/slurmctld/
chown slurm:slurm /run/slurmctld/
mkdir -p /run/dbus/
rm -f /var/run/dbus/pid

# Copy SSSD config with correct permissions if mounted
# The operator mounts it to /run/sssd-mounted/ with fsGroup (group-readable)
# We copy to /etc/sssd/ and set strict permissions (SSSD requires root:root 0600)
if [[ -f /run/sssd-mounted/sssd.conf ]]; then
mkdir -p /etc/sssd
cp /run/sssd-mounted/sssd.conf /etc/sssd/sssd.conf
chmod 0600 /etc/sssd/sssd.conf
chown root:root /etc/sssd/sssd.conf
fi

exec supervisord -c /etc/supervisor/supervisord.conf
}
Expand Down