From bc42efc6329ea501a7f2edfb8bb9822b9af35444 Mon Sep 17 00:00:00 2001 From: jamesbeedy Date: Sun, 8 Feb 2026 19:11:30 +0000 Subject: [PATCH 01/17] feat: add s2n TLS support and GitHub Actions workflow - Patch debian/control to add libs2n-dev to Build-Depends - Patch debian/rules to add --with-s2n to configure options - Update docker-bake.hcl to use ghcr.io/vantagecompute registry - Add GitHub Actions workflow for building and pushing images - Workflow builds slurmctld, slurmdbd, slurmrestd, slurmd, sackd, login This enables the tls_s2n.so plugin for encrypted SLURM communications. --- .github/workflows/build-slurm-images.yaml | 143 +++++++++++++++++++++ schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 23 +++- schedmd/slurm/docker-bake.hcl | 2 +- 3 files changed, 166 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build-slurm-images.yaml diff --git a/.github/workflows/build-slurm-images.yaml b/.github/workflows/build-slurm-images.yaml new file mode 100644 index 0000000..6df1f68 --- /dev/null +++ b/.github/workflows/build-slurm-images.yaml @@ -0,0 +1,143 @@ +# SPDX-FileCopyrightText: Copyright (C) Vantage Compute, Inc. +# SPDX-License-Identifier: Apache-2.0 + +name: Build SLURM Images with s2n TLS + +on: + push: + branches: + - main + - 'feat/**' + tags: + - 'v*' + pull_request: + branches: + - main + workflow_dispatch: + inputs: + slurm_version: + description: 'SLURM version (e.g., 25.11.0, 25.11-latest)' + required: false + default: '25.11-latest' + push_images: + description: 'Push images to registry' + required: false + default: 'false' + type: boolean + +env: + REGISTRY: ghcr.io/vantagecompute + # Default to 25.11 for ubuntu24.04 + SLURM_VERSION: ${{ github.event.inputs.slurm_version || '25.11-latest' }} + +jobs: + build-ubuntu2404: + name: Build Ubuntu 24.04 Images + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + strategy: + matrix: + target: + - slurmctld + - slurmdbd + - slurmrestd + - slurmd + - sackd + - login + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GitHub Container Registry + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract version info + id: version + run: | + # Extract version from tag or use default + if [[ "${{ github.ref }}" == refs/tags/v* ]]; then + VERSION="${{ github.ref_name }}" + VERSION="${VERSION#v}" # Remove 'v' prefix + else + VERSION="${{ env.SLURM_VERSION }}" + fi + echo "version=${VERSION}" >> $GITHUB_OUTPUT + + # Generate image tags + TAGS="${{ env.REGISTRY }}/${{ matrix.target }}:${VERSION}-ubuntu24.04" + if [[ "${{ github.ref }}" == refs/tags/v* ]]; then + TAGS="${TAGS},${{ env.REGISTRY }}/${{ matrix.target }}:latest-ubuntu24.04" + fi + echo "tags=${TAGS}" >> $GITHUB_OUTPUT + + - name: Build and push ${{ matrix.target }} + uses: docker/build-push-action@v6 + with: + context: schedmd/slurm/25.11/ubuntu24.04 + file: schedmd/slurm/25.11/ubuntu24.04/Dockerfile + target: ${{ matrix.target }} + push: ${{ github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || github.event.inputs.push_images == 'true') }} + tags: ${{ steps.version.outputs.tags }} + build-args: | + SLURM_VERSION=${{ steps.version.outputs.version }} + cache-from: type=gha + cache-to: type=gha,mode=max + labels: | + org.opencontainers.image.title=Vantage SLURM ${{ matrix.target }} + org.opencontainers.image.description=SLURM ${{ matrix.target }} with s2n TLS support + org.opencontainers.image.version=${{ steps.version.outputs.version }} + org.opencontainers.image.source=https://github.com/vantagecompute/slurm-containers + org.opencontainers.image.vendor=Vantage Compute, Inc. + + # Check for new upstream releases (runs weekly) + check-upstream: + name: Check Upstream Releases + runs-on: ubuntu-latest + if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Check for new SLURM releases + id: check + run: | + # Get latest release from SchedMD/slurm + LATEST=$(curl -s https://api.github.com/repos/SchedMD/slurm/releases/latest | jq -r .tag_name) + echo "Latest upstream SLURM release: ${LATEST}" + echo "latest=${LATEST}" >> $GITHUB_OUTPUT + + # Check if we have this version tagged + if git tag -l | grep -q "^v${LATEST#slurm-}$"; then + echo "Already have this version" + echo "new_release=false" >> $GITHUB_OUTPUT + else + echo "New release available!" + echo "new_release=true" >> $GITHUB_OUTPUT + fi + + - name: Create issue for new release + if: steps.check.outputs.new_release == 'true' + uses: actions/github-script@v7 + with: + script: | + const latest = '${{ steps.check.outputs.latest }}'; + await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: `New SLURM release available: ${latest}`, + body: `A new SLURM release is available upstream: ${latest}\n\nPlease update the Dockerfiles and create a new release.`, + labels: ['upstream-update'] + }); diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index 67aa10a..9a79c41 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -54,10 +54,31 @@ EOR COPY --from=slurm-src /workspace/${SLURM_DIR} ${SLURM_DIR} +# Install libs2n-dev for TLS support (s2n plugin) +RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/var/lib/apt,sharing=locked </dev/null ( cd ${SLURM_DIR} && debuild -b -uc -us >/dev/null ) diff --git a/schedmd/slurm/docker-bake.hcl b/schedmd/slurm/docker-bake.hcl index 81d6f18..c7af8c3 100644 --- a/schedmd/slurm/docker-bake.hcl +++ b/schedmd/slurm/docker-bake.hcl @@ -4,7 +4,7 @@ ################################################################################ variable "REGISTRY" { - default = "ghcr.io/slinkyproject" + default = "ghcr.io/vantagecompute" } variable "SUFFIX" {} From ae5b5cc038702d208ef674ac1fc2f5e2176a5d0f Mon Sep 17 00:00:00 2001 From: jamesbeedy Date: Sun, 8 Feb 2026 19:17:25 +0000 Subject: [PATCH 02/17] fix: use actual SLURM version 25.11.2 instead of 25.11-latest The tag 25.11-latest doesn't exist on SchedMD/slurm. Use 25.11.2 which maps to tag slurm-25-11-2-1.tar.gz --- .github/workflows/build-slurm-images.yaml | 8 ++++---- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-slurm-images.yaml b/.github/workflows/build-slurm-images.yaml index 6df1f68..d8c5dbb 100644 --- a/.github/workflows/build-slurm-images.yaml +++ b/.github/workflows/build-slurm-images.yaml @@ -16,9 +16,9 @@ on: workflow_dispatch: inputs: slurm_version: - description: 'SLURM version (e.g., 25.11.0, 25.11-latest)' + description: 'SLURM version (e.g., 25.11.2, 25.11.1)' required: false - default: '25.11-latest' + default: '25.11.2' push_images: description: 'Push images to registry' required: false @@ -27,8 +27,8 @@ on: env: REGISTRY: ghcr.io/vantagecompute - # Default to 25.11 for ubuntu24.04 - SLURM_VERSION: ${{ github.event.inputs.slurm_version || '25.11-latest' }} + # Default to latest 25.11.x release + SLURM_VERSION: ${{ github.event.inputs.slurm_version || '25.11.2' }} jobs: build-ubuntu2404: diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index 9a79c41..e09bd1b 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -4,7 +4,7 @@ ################################################################################ -ARG SLURM_VERSION=25.11-latest +ARG SLURM_VERSION=25.11.2 ARG SLURM_VERSION_MICRO=1 ARG SLURM_DIR=slurm ARG PARENT_IMAGE=ubuntu:24.04 From 0ac0109f1b01874db2f8ef678cf762533a939e87 Mon Sep 17 00:00:00 2001 From: jamesbeedy Date: Sun, 8 Feb 2026 19:21:19 +0000 Subject: [PATCH 03/17] fix: build s2n-tls from source (no apt package available) s2n-tls is not available in Ubuntu 24.04 apt repos. Build from AWS GitHub repo as documented at https://slurm.schedmd.com/tls.html - Clone and build s2n-tls with cmake - Install shared libraries to /usr/local/lib - Copy libs2n.so to runtime images for tls_s2n.so plugin --- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index e09bd1b..41c8bcd 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -54,19 +54,27 @@ EOR COPY --from=slurm-src /workspace/${SLURM_DIR} ${SLURM_DIR} -# Install libs2n-dev for TLS support (s2n plugin) +# Build s2n-tls from source for TLS support +# Ref: https://slurm.schedmd.com/tls.html RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked < Date: Sun, 8 Feb 2026 19:36:30 +0000 Subject: [PATCH 04/17] fix: pass explicit s2n path to configure The s2n-tls library is installed to /usr/local, so we need to pass --with-s2n=/usr/local to the configure script for SLURM to find it. --- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index 41c8bcd..85f0f8e 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -78,9 +78,10 @@ rm -rf /tmp/s2n-tls EOR # Patch debian/rules to add --with-s2n to dh_auto_configure options +# The s2n library is installed to /usr/local, so we pass the explicit path RUN < Date: Sun, 8 Feb 2026 19:49:19 +0000 Subject: [PATCH 05/17] fix: set LD_LIBRARY_PATH for s2n and remove output suppression Configure's AC_RUN_IFELSE test needs libs2n.so in the library path. Also removed >/dev/null to see actual build errors. --- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index 85f0f8e..cf6b9e0 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -89,8 +89,10 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked </dev/null -( cd ${SLURM_DIR} && debuild -b -uc -us >/dev/null ) +mk-build-deps -ir --tool='apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends' ${SLURM_DIR}/debian/control +# Set library path so configure's AC_RUN_IFELSE test can find libs2n.so +export LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH:-}" +( cd ${SLURM_DIR} && debuild -b -uc -us ) EOR ################################################################################ From 37df61c91ae05a3c55bcb16c07904a110a991676 Mon Sep 17 00:00:00 2001 From: jamesbeedy Date: Sun, 8 Feb 2026 20:08:14 +0000 Subject: [PATCH 06/17] fix: ignore missing shlibdeps for libs2n.so built from source dpkg-shlibdeps fails when libs2n.so is installed from source because there's no package dependency information. Set DEB_DH_SHLIBDEPS_ARGS_ALL to ignore-missing-info so the Debian packaging step completes successfully. --- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index cf6b9e0..8be0722 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -92,6 +92,8 @@ set -xeuo pipefail mk-build-deps -ir --tool='apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends' ${SLURM_DIR}/debian/control # Set library path so configure's AC_RUN_IFELSE test can find libs2n.so export LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH:-}" +# Tell dh_shlibdeps to ignore missing dependency info for libs2n.so (installed from source, not a package) +export DEB_DH_SHLIBDEPS_ARGS_ALL="--dpkg-shlibdeps-params=--ignore-missing-info" ( cd ${SLURM_DIR} && debuild -b -uc -us ) EOR From b33fabad1c7ec177b18ddbf44b5297b1cd3ce7fa Mon Sep 17 00:00:00 2001 From: jamesbeedy Date: Sun, 8 Feb 2026 20:19:49 +0000 Subject: [PATCH 07/17] fix: add override_dh_shlibdeps to debian/rules The DEB_DH_SHLIBDEPS_ARGS_ALL environment variable doesn't propagate through debuild to dh_shlibdeps. Instead, patch debian/rules directly with an override_dh_shlibdeps target to pass --ignore-missing-info for the libs2n.so dependency which is built from source. --- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index 8be0722..f2a4797 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -79,9 +79,16 @@ EOR # Patch debian/rules to add --with-s2n to dh_auto_configure options # The s2n library is installed to /usr/local, so we pass the explicit path +# Also add override for dh_shlibdeps to ignore missing dependency info for libs2n.so RUN <> ${SLURM_DIR}/debian/rules << 'EOF' + +override_dh_shlibdeps: + dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info +EOF EOR # Ref: https://slurm.schedmd.com/quickstart_admin.html#debuild @@ -92,8 +99,6 @@ set -xeuo pipefail mk-build-deps -ir --tool='apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends' ${SLURM_DIR}/debian/control # Set library path so configure's AC_RUN_IFELSE test can find libs2n.so export LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH:-}" -# Tell dh_shlibdeps to ignore missing dependency info for libs2n.so (installed from source, not a package) -export DEB_DH_SHLIBDEPS_ARGS_ALL="--dpkg-shlibdeps-params=--ignore-missing-info" ( cd ${SLURM_DIR} && debuild -b -uc -us ) EOR From d1847bce839e19e697241c54c240df4b1638f0f3 Mon Sep 17 00:00:00 2001 From: jamesbeedy Date: Mon, 9 Feb 2026 23:11:10 +0000 Subject: [PATCH 08/17] fix: add sssd-client to authselect --- schedmd/slurm/25.05/rockylinux9/Dockerfile | 4 ++-- schedmd/slurm/25.11/rockylinux9/Dockerfile | 4 ++-- schedmd/slurm/master/rockylinux9/Dockerfile | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/schedmd/slurm/25.05/rockylinux9/Dockerfile b/schedmd/slurm/25.05/rockylinux9/Dockerfile index df9799a..cdb0896 100644 --- a/schedmd/slurm/25.05/rockylinux9/Dockerfile +++ b/schedmd/slurm/25.05/rockylinux9/Dockerfile @@ -189,7 +189,7 @@ set -xeuo pipefail dnf -q -y install --setopt='install_weak_deps=False' \ gawk socat \ openssh-server \ - authselect sssd sssd-ad sssd-ldap \ + authselect sssd sssd-ad sssd-ldap sssd-client \ ./slurm-devel-[0-9]*.rpm \ ./slurm-libpmi-[0-9]*.rpm \ ./slurm-pam_slurm-[0-9]*.rpm \ @@ -329,7 +329,7 @@ set -xeuo pipefail dnf -q -y install --setopt='install_weak_deps=False' \ socat \ openssh-server \ - authselect sssd sssd-ad sssd-ldap + authselect sssd sssd-ad sssd-ldap sssd-client # Configure mkdir -p /etc/authselect authselect select sssd with-mkhomedir --force diff --git a/schedmd/slurm/25.11/rockylinux9/Dockerfile b/schedmd/slurm/25.11/rockylinux9/Dockerfile index 2017259..20f91fc 100644 --- a/schedmd/slurm/25.11/rockylinux9/Dockerfile +++ b/schedmd/slurm/25.11/rockylinux9/Dockerfile @@ -187,7 +187,7 @@ set -xeuo pipefail dnf -q -y install --setopt='install_weak_deps=False' \ gawk socat \ openssh-server \ - authselect sssd sssd-ad sssd-ldap \ + authselect sssd sssd-ad sssd-ldap sssd-client \ ./slurm-devel-[0-9]*.rpm \ ./slurm-libpmi-[0-9]*.rpm \ ./slurm-pam_slurm-[0-9]*.rpm \ @@ -325,7 +325,7 @@ set -xeuo pipefail dnf -q -y install --setopt='install_weak_deps=False' \ socat \ openssh-server \ - authselect sssd sssd-ad sssd-ldap + authselect sssd sssd-ad sssd-ldap sssd-client # Configure mkdir -p /etc/authselect authselect select sssd with-mkhomedir --force diff --git a/schedmd/slurm/master/rockylinux9/Dockerfile b/schedmd/slurm/master/rockylinux9/Dockerfile index 46db070..1f0f771 100644 --- a/schedmd/slurm/master/rockylinux9/Dockerfile +++ b/schedmd/slurm/master/rockylinux9/Dockerfile @@ -187,7 +187,7 @@ set -xeuo pipefail dnf -q -y install --setopt='install_weak_deps=False' \ gawk socat \ openssh-server \ - authselect sssd sssd-ad sssd-ldap \ + authselect sssd sssd-ad sssd-ldap sssd-client \ ./slurm-devel-[0-9]*.rpm \ ./slurm-libpmi-[0-9]*.rpm \ ./slurm-pam_slurm-[0-9]*.rpm \ @@ -324,7 +324,7 @@ set -xeuo pipefail dnf -q -y install --setopt='install_weak_deps=False' \ socat \ openssh-server \ - authselect sssd sssd-ad sssd-ldap + authselect sssd sssd-ad sssd-ldap sssd-client # Configure mkdir -p /etc/authselect authselect select sssd with-mkhomedir --force From 34a0279f3207fb68c6d939365004b9ded5ed1e71 Mon Sep 17 00:00:00 2001 From: jamesbeedy Date: Wed, 11 Feb 2026 01:59:39 +0000 Subject: [PATCH 09/17] fix: put openssl in the base --- schedmd/slurm/25.05/rockylinux9/Dockerfile | 2 +- schedmd/slurm/25.05/ubuntu24.04/Dockerfile | 2 +- schedmd/slurm/25.11/rockylinux9/Dockerfile | 2 +- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 2 +- schedmd/slurm/master/rockylinux9/Dockerfile | 2 +- schedmd/slurm/master/ubuntu24.04/Dockerfile | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/schedmd/slurm/25.05/rockylinux9/Dockerfile b/schedmd/slurm/25.05/rockylinux9/Dockerfile index cdb0896..ec1d21c 100644 --- a/schedmd/slurm/25.05/rockylinux9/Dockerfile +++ b/schedmd/slurm/25.05/rockylinux9/Dockerfile @@ -129,7 +129,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses + procps-ng iputils ncurses openssl EOR ################################################################################ diff --git a/schedmd/slurm/25.05/ubuntu24.04/Dockerfile b/schedmd/slurm/25.05/ubuntu24.04/Dockerfile index c26b2a4..55d8edc 100644 --- a/schedmd/slurm/25.05/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.05/ubuntu24.04/Dockerfile @@ -108,7 +108,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin + procps iputils-ping ncurses-bin openssl EOR ################################################################################ diff --git a/schedmd/slurm/25.11/rockylinux9/Dockerfile b/schedmd/slurm/25.11/rockylinux9/Dockerfile index 20f91fc..b2247df 100644 --- a/schedmd/slurm/25.11/rockylinux9/Dockerfile +++ b/schedmd/slurm/25.11/rockylinux9/Dockerfile @@ -127,7 +127,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses + procps-ng iputils ncurses openssl EOR ################################################################################ diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index f2a4797..52fa61a 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -151,7 +151,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin + procps iputils-ping ncurses-bin openssl EOR ################################################################################ diff --git a/schedmd/slurm/master/rockylinux9/Dockerfile b/schedmd/slurm/master/rockylinux9/Dockerfile index 1f0f771..9b43f59 100644 --- a/schedmd/slurm/master/rockylinux9/Dockerfile +++ b/schedmd/slurm/master/rockylinux9/Dockerfile @@ -127,7 +127,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses + procps-ng iputils ncurses openssl EOR ################################################################################ diff --git a/schedmd/slurm/master/ubuntu24.04/Dockerfile b/schedmd/slurm/master/ubuntu24.04/Dockerfile index fe1760f..ef32e3a 100644 --- a/schedmd/slurm/master/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/master/ubuntu24.04/Dockerfile @@ -108,7 +108,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin + procps iputils-ping ncurses-bin openssl EOR ################################################################################ From 467e39ed8496ba862582a84d20ee4a7fa3abe508 Mon Sep 17 00:00:00 2001 From: jamesbeedy Date: Wed, 11 Feb 2026 02:08:46 +0000 Subject: [PATCH 10/17] fix: include feat/* branches --- .github/workflows/build-slurm-images.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-slurm-images.yaml b/.github/workflows/build-slurm-images.yaml index d8c5dbb..a535650 100644 --- a/.github/workflows/build-slurm-images.yaml +++ b/.github/workflows/build-slurm-images.yaml @@ -88,7 +88,7 @@ jobs: context: schedmd/slurm/25.11/ubuntu24.04 file: schedmd/slurm/25.11/ubuntu24.04/Dockerfile target: ${{ matrix.target }} - push: ${{ github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || github.event.inputs.push_images == 'true') }} + push: ${{ github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/feat/') || startsWith(github.ref, 'refs/tags/v') || github.event.inputs.push_images == 'true') }} tags: ${{ steps.version.outputs.tags }} build-args: | SLURM_VERSION=${{ steps.version.outputs.version }} From abdfee5617535d735209d1ce4c3fd73feac5f3ee Mon Sep 17 00:00:00 2001 From: Skyler Malinowski Date: Tue, 3 Feb 2026 11:38:48 -0500 Subject: [PATCH 11/17] feat(slurm): bump to Slurm 25.11.3 --- schedmd/slurm/25.11/rockylinux9/slurm.hcl | 2 +- schedmd/slurm/25.11/ubuntu24.04/slurm.hcl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schedmd/slurm/25.11/rockylinux9/slurm.hcl b/schedmd/slurm/25.11/rockylinux9/slurm.hcl index ea323ef..915faa8 100644 --- a/schedmd/slurm/25.11/rockylinux9/slurm.hcl +++ b/schedmd/slurm/25.11/rockylinux9/slurm.hcl @@ -3,6 +3,6 @@ ################################################################################ -slurm_version = "25.11.2" +slurm_version = "25.11.3" slurm_version_micro = "1" linux_flavor = "rockylinux9" diff --git a/schedmd/slurm/25.11/ubuntu24.04/slurm.hcl b/schedmd/slurm/25.11/ubuntu24.04/slurm.hcl index 120b933..880ea16 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/slurm.hcl +++ b/schedmd/slurm/25.11/ubuntu24.04/slurm.hcl @@ -3,6 +3,6 @@ ################################################################################ -slurm_version = "25.11.2" +slurm_version = "25.11.3" slurm_version_micro = "1" linux_flavor = "ubuntu24.04" From b582ccb6b00a1533f8a925afe8ccd6a149f91c92 Mon Sep 17 00:00:00 2001 From: Skyler Malinowski Date: Fri, 13 Mar 2026 09:09:10 -0400 Subject: [PATCH 12/17] feat: remove unused dbus.{ini,conf} --- .../rockylinux9/files/etc/supervisord.d/dbus.ini | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/dbus.ini diff --git a/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/dbus.ini b/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/dbus.ini deleted file mode 100644 index 3e9e8e8..0000000 --- a/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/dbus.ini +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (C) SchedMD LLC. -# SPDX-License-Identifier: Apache-2.0 - -[program:dbus] -command=bash -xc "exec dbus-daemon --system --nofork --nopidfile --nosyslog %(ENV_DBUS_OPTIONS)s" -stdout_logfile=/dev/stdout -stderr_logfile=/dev/stderr -stdout_logfile_maxbytes=0 -stderr_logfile_maxbytes=0 -stopasgroup=true From 5077a6dab5571c351719a3bb68b020f79787e281 Mon Sep 17 00:00:00 2001 From: Skyler Malinowski Date: Fri, 13 Mar 2026 09:05:16 -0400 Subject: [PATCH 13/17] fix: ensure fakesystemd starts before Slurm daemon Without priority being set, both would have the same default priority of 999, and it would be race on which started first. If fakesystemd started after slurmd, you would get an initial error from slurmd about failing to notify systemd about PID change. --- .../25.05/rockylinux9/files/etc/supervisord.d/fakesystemd.ini | 1 + .../ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf | 1 + .../rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini | 1 + .../25.11/rockylinux9/files/etc/supervisord.d/fakesystemd.ini | 1 + .../files/etc/supervisor/conf.d/fakesystemd-slurm.conf | 1 + .../ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf | 1 + .../rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini | 1 + .../master/rockylinux9/files/etc/supervisord.d/fakesystemd.ini | 1 + .../files/etc/supervisor/conf.d/fakesystemd-slurm.conf | 1 + .../ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf | 1 + 10 files changed, 10 insertions(+) diff --git a/schedmd/slurm/25.05/rockylinux9/files/etc/supervisord.d/fakesystemd.ini b/schedmd/slurm/25.05/rockylinux9/files/etc/supervisord.d/fakesystemd.ini index 1a01459..952d492 100644 --- a/schedmd/slurm/25.05/rockylinux9/files/etc/supervisord.d/fakesystemd.ini +++ b/schedmd/slurm/25.05/rockylinux9/files/etc/supervisord.d/fakesystemd.ini @@ -9,3 +9,4 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 diff --git a/schedmd/slurm/25.05/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf b/schedmd/slurm/25.05/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf index 1a01459..952d492 100644 --- a/schedmd/slurm/25.05/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf +++ b/schedmd/slurm/25.05/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf @@ -9,3 +9,4 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 diff --git a/schedmd/slurm/25.11/rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini b/schedmd/slurm/25.11/rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini index 1f6fa62..e88a82c 100644 --- a/schedmd/slurm/25.11/rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini +++ b/schedmd/slurm/25.11/rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini @@ -9,4 +9,5 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 user=slurm diff --git a/schedmd/slurm/25.11/rockylinux9/files/etc/supervisord.d/fakesystemd.ini b/schedmd/slurm/25.11/rockylinux9/files/etc/supervisord.d/fakesystemd.ini index 1a01459..952d492 100644 --- a/schedmd/slurm/25.11/rockylinux9/files/etc/supervisord.d/fakesystemd.ini +++ b/schedmd/slurm/25.11/rockylinux9/files/etc/supervisord.d/fakesystemd.ini @@ -9,3 +9,4 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 diff --git a/schedmd/slurm/25.11/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd-slurm.conf b/schedmd/slurm/25.11/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd-slurm.conf index 1f6fa62..e88a82c 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd-slurm.conf +++ b/schedmd/slurm/25.11/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd-slurm.conf @@ -9,4 +9,5 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 user=slurm diff --git a/schedmd/slurm/25.11/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf b/schedmd/slurm/25.11/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf index 1a01459..952d492 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf +++ b/schedmd/slurm/25.11/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf @@ -9,3 +9,4 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 diff --git a/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini b/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini index 1f6fa62..e88a82c 100644 --- a/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini +++ b/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/fakesystemd-slurm.ini @@ -9,4 +9,5 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 user=slurm diff --git a/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/fakesystemd.ini b/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/fakesystemd.ini index 1a01459..952d492 100644 --- a/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/fakesystemd.ini +++ b/schedmd/slurm/master/rockylinux9/files/etc/supervisord.d/fakesystemd.ini @@ -9,3 +9,4 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 diff --git a/schedmd/slurm/master/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd-slurm.conf b/schedmd/slurm/master/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd-slurm.conf index 1f6fa62..e88a82c 100644 --- a/schedmd/slurm/master/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd-slurm.conf +++ b/schedmd/slurm/master/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd-slurm.conf @@ -9,4 +9,5 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 user=slurm diff --git a/schedmd/slurm/master/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf b/schedmd/slurm/master/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf index 1a01459..952d492 100644 --- a/schedmd/slurm/master/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf +++ b/schedmd/slurm/master/ubuntu24.04/files/etc/supervisor/conf.d/fakesystemd.conf @@ -9,3 +9,4 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 stopasgroup=true +priority=1 From 7e7170fe78c9d5cb4eb1e1d55b6916af0c8d59c1 Mon Sep 17 00:00:00 2001 From: Skyler Malinowski Date: Thu, 12 Mar 2026 09:32:16 -0400 Subject: [PATCH 14/17] feat: bump Slurm 25.11.4, 25.05.7 --- schedmd/slurm/25.05/rockylinux9/slurm.hcl | 2 +- schedmd/slurm/25.05/ubuntu24.04/slurm.hcl | 2 +- schedmd/slurm/25.11/rockylinux9/slurm.hcl | 2 +- schedmd/slurm/25.11/ubuntu24.04/slurm.hcl | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/schedmd/slurm/25.05/rockylinux9/slurm.hcl b/schedmd/slurm/25.05/rockylinux9/slurm.hcl index 7ae76fb..28e09f2 100644 --- a/schedmd/slurm/25.05/rockylinux9/slurm.hcl +++ b/schedmd/slurm/25.05/rockylinux9/slurm.hcl @@ -3,6 +3,6 @@ ################################################################################ -slurm_version = "25.05.6" +slurm_version = "25.05.7" slurm_version_micro = "1" linux_flavor = "rockylinux9" diff --git a/schedmd/slurm/25.05/ubuntu24.04/slurm.hcl b/schedmd/slurm/25.05/ubuntu24.04/slurm.hcl index 9d14678..d9fd86e 100644 --- a/schedmd/slurm/25.05/ubuntu24.04/slurm.hcl +++ b/schedmd/slurm/25.05/ubuntu24.04/slurm.hcl @@ -3,6 +3,6 @@ ################################################################################ -slurm_version = "25.05.6" +slurm_version = "25.05.7" slurm_version_micro = "1" linux_flavor = "ubuntu24.04" diff --git a/schedmd/slurm/25.11/rockylinux9/slurm.hcl b/schedmd/slurm/25.11/rockylinux9/slurm.hcl index 915faa8..69dc963 100644 --- a/schedmd/slurm/25.11/rockylinux9/slurm.hcl +++ b/schedmd/slurm/25.11/rockylinux9/slurm.hcl @@ -3,6 +3,6 @@ ################################################################################ -slurm_version = "25.11.3" +slurm_version = "25.11.4" slurm_version_micro = "1" linux_flavor = "rockylinux9" diff --git a/schedmd/slurm/25.11/ubuntu24.04/slurm.hcl b/schedmd/slurm/25.11/ubuntu24.04/slurm.hcl index 880ea16..2ff8d35 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/slurm.hcl +++ b/schedmd/slurm/25.11/ubuntu24.04/slurm.hcl @@ -3,6 +3,6 @@ ################################################################################ -slurm_version = "25.11.3" +slurm_version = "25.11.4" slurm_version_micro = "1" linux_flavor = "ubuntu24.04" From 19ee7e12cde2f831a405df5849a74b02f3759be3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 7 Jun 2026 20:46:05 +0000 Subject: [PATCH 15/17] Initial plan From 8a5259f0db767b65883809d22ddaa5b2aeb34323 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 7 Jun 2026 20:52:46 +0000 Subject: [PATCH 16/17] Refactor s2n build into shared scripts and drop redundant openssl package deltas --- schedmd/slurm/25.05/rockylinux9/Dockerfile | 2 +- schedmd/slurm/25.05/ubuntu24.04/Dockerfile | 2 +- schedmd/slurm/25.11/rockylinux9/Dockerfile | 2 +- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 20 ++++----------- schedmd/slurm/docker-bake.hcl | 3 +++ schedmd/slurm/master/rockylinux9/Dockerfile | 2 +- schedmd/slurm/master/ubuntu24.04/Dockerfile | 2 +- .../slurm/scripts/s2n/build-and-install.sh | 25 +++++++++++++++++++ .../scripts/s2n/enable-slurm-debian-s2n.sh | 17 +++++++++++++ 9 files changed, 55 insertions(+), 20 deletions(-) create mode 100755 schedmd/slurm/scripts/s2n/build-and-install.sh create mode 100755 schedmd/slurm/scripts/s2n/enable-slurm-debian-s2n.sh diff --git a/schedmd/slurm/25.05/rockylinux9/Dockerfile b/schedmd/slurm/25.05/rockylinux9/Dockerfile index ec1d21c..cdb0896 100644 --- a/schedmd/slurm/25.05/rockylinux9/Dockerfile +++ b/schedmd/slurm/25.05/rockylinux9/Dockerfile @@ -129,7 +129,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses openssl + procps-ng iputils ncurses EOR ################################################################################ diff --git a/schedmd/slurm/25.05/ubuntu24.04/Dockerfile b/schedmd/slurm/25.05/ubuntu24.04/Dockerfile index 55d8edc..c26b2a4 100644 --- a/schedmd/slurm/25.05/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.05/ubuntu24.04/Dockerfile @@ -108,7 +108,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin openssl + procps iputils-ping ncurses-bin EOR ################################################################################ diff --git a/schedmd/slurm/25.11/rockylinux9/Dockerfile b/schedmd/slurm/25.11/rockylinux9/Dockerfile index b2247df..20f91fc 100644 --- a/schedmd/slurm/25.11/rockylinux9/Dockerfile +++ b/schedmd/slurm/25.11/rockylinux9/Dockerfile @@ -127,7 +127,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses openssl + procps-ng iputils ncurses EOR ################################################################################ diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index 52fa61a..1019df1 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -53,6 +53,8 @@ apt-get -qq -y install --no-install-recommends \ EOR COPY --from=slurm-src /workspace/${SLURM_DIR} ${SLURM_DIR} +COPY --from=slurm-shared /scripts/s2n/build-and-install.sh /usr/local/bin/build-and-install-s2n.sh +COPY --from=slurm-shared /scripts/s2n/enable-slurm-debian-s2n.sh /usr/local/bin/enable-slurm-debian-s2n.sh # Build s2n-tls from source for TLS support # Ref: https://slurm.schedmd.com/tls.html @@ -68,13 +70,7 @@ EOR RUN <> ${SLURM_DIR}/debian/rules << 'EOF' - -override_dh_shlibdeps: - dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info -EOF +/usr/local/bin/enable-slurm-debian-s2n.sh ${SLURM_DIR} EOR # Ref: https://slurm.schedmd.com/quickstart_admin.html#debuild @@ -151,7 +141,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin openssl + procps iputils-ping ncurses-bin EOR ################################################################################ diff --git a/schedmd/slurm/docker-bake.hcl b/schedmd/slurm/docker-bake.hcl index c7af8c3..5f8e617 100644 --- a/schedmd/slurm/docker-bake.hcl +++ b/schedmd/slurm/docker-bake.hcl @@ -45,6 +45,9 @@ target "_slurm" { SLURM_VERSION = slurm_version SLURM_VERSION_MICRO = slurm_version_micro } + contexts = { + "slurm-shared" = "." + } labels = { # Ref: https://github.com/opencontainers/image-spec/blob/v1.0/annotations.md "org.opencontainers.image.authors" = "slinky@schedmd.com" diff --git a/schedmd/slurm/master/rockylinux9/Dockerfile b/schedmd/slurm/master/rockylinux9/Dockerfile index 9b43f59..1f0f771 100644 --- a/schedmd/slurm/master/rockylinux9/Dockerfile +++ b/schedmd/slurm/master/rockylinux9/Dockerfile @@ -127,7 +127,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses openssl + procps-ng iputils ncurses EOR ################################################################################ diff --git a/schedmd/slurm/master/ubuntu24.04/Dockerfile b/schedmd/slurm/master/ubuntu24.04/Dockerfile index ef32e3a..fe1760f 100644 --- a/schedmd/slurm/master/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/master/ubuntu24.04/Dockerfile @@ -108,7 +108,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin openssl + procps iputils-ping ncurses-bin EOR ################################################################################ diff --git a/schedmd/slurm/scripts/s2n/build-and-install.sh b/schedmd/slurm/scripts/s2n/build-and-install.sh new file mode 100755 index 0000000..b854f39 --- /dev/null +++ b/schedmd/slurm/scripts/s2n/build-and-install.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -xeuo pipefail + +S2N_REPO_URL="${S2N_REPO_URL:-https://github.com/aws/s2n-tls.git}" +S2N_GIT_REF="${S2N_GIT_REF:-}" +S2N_SRC_DIR="$(mktemp -d /tmp/s2n-tls.XXXXXX)" + +cleanup() { + rm -rf "${S2N_SRC_DIR}" +} +trap cleanup EXIT + +git clone --depth 1 "${S2N_REPO_URL}" "${S2N_SRC_DIR}" + +if [ -n "${S2N_GIT_REF}" ]; then + git -C "${S2N_SRC_DIR}" fetch --depth 1 origin "${S2N_GIT_REF}" + git -C "${S2N_SRC_DIR}" checkout --detach FETCH_HEAD +fi + +cmake "${S2N_SRC_DIR}" -B "${S2N_SRC_DIR}/build" \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON +cmake --build "${S2N_SRC_DIR}/build" -j "$(nproc)" +cmake --install "${S2N_SRC_DIR}/build" +ldconfig diff --git a/schedmd/slurm/scripts/s2n/enable-slurm-debian-s2n.sh b/schedmd/slurm/scripts/s2n/enable-slurm-debian-s2n.sh new file mode 100755 index 0000000..3e74330 --- /dev/null +++ b/schedmd/slurm/scripts/s2n/enable-slurm-debian-s2n.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -xeuo pipefail + +SLURM_DIR="${1:?missing slurm source directory}" +SLURM_RULES_FILE="${SLURM_DIR}/debian/rules" + +if ! grep -q -- "--with-s2n=/usr/local" "${SLURM_RULES_FILE}"; then + sed -i 's|\(dh_auto_configure --\)|\1 --with-s2n=/usr/local|' "${SLURM_RULES_FILE}" +fi + +if ! grep -q -- "^override_dh_shlibdeps:" "${SLURM_RULES_FILE}"; then + cat >> "${SLURM_RULES_FILE}" <<'EOF' + +override_dh_shlibdeps: + dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info +EOF +fi From e8f22cda0085ae3e9508e9117a17a2ec8605af70 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 7 Jun 2026 20:58:48 +0000 Subject: [PATCH 17/17] Re-add openssl to runtime debug packages across all flavors --- schedmd/slurm/25.05/rockylinux9/Dockerfile | 2 +- schedmd/slurm/25.05/ubuntu24.04/Dockerfile | 2 +- schedmd/slurm/25.11/rockylinux9/Dockerfile | 2 +- schedmd/slurm/25.11/ubuntu24.04/Dockerfile | 2 +- schedmd/slurm/master/rockylinux9/Dockerfile | 2 +- schedmd/slurm/master/ubuntu24.04/Dockerfile | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/schedmd/slurm/25.05/rockylinux9/Dockerfile b/schedmd/slurm/25.05/rockylinux9/Dockerfile index cdb0896..ec1d21c 100644 --- a/schedmd/slurm/25.05/rockylinux9/Dockerfile +++ b/schedmd/slurm/25.05/rockylinux9/Dockerfile @@ -129,7 +129,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses + procps-ng iputils ncurses openssl EOR ################################################################################ diff --git a/schedmd/slurm/25.05/ubuntu24.04/Dockerfile b/schedmd/slurm/25.05/ubuntu24.04/Dockerfile index c26b2a4..55d8edc 100644 --- a/schedmd/slurm/25.05/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.05/ubuntu24.04/Dockerfile @@ -108,7 +108,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin + procps iputils-ping ncurses-bin openssl EOR ################################################################################ diff --git a/schedmd/slurm/25.11/rockylinux9/Dockerfile b/schedmd/slurm/25.11/rockylinux9/Dockerfile index 20f91fc..b2247df 100644 --- a/schedmd/slurm/25.11/rockylinux9/Dockerfile +++ b/schedmd/slurm/25.11/rockylinux9/Dockerfile @@ -127,7 +127,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses + procps-ng iputils ncurses openssl EOR ################################################################################ diff --git a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile index 1019df1..3e7c0ae 100644 --- a/schedmd/slurm/25.11/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/25.11/ubuntu24.04/Dockerfile @@ -141,7 +141,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin + procps iputils-ping ncurses-bin openssl EOR ################################################################################ diff --git a/schedmd/slurm/master/rockylinux9/Dockerfile b/schedmd/slurm/master/rockylinux9/Dockerfile index 1f0f771..9b43f59 100644 --- a/schedmd/slurm/master/rockylinux9/Dockerfile +++ b/schedmd/slurm/master/rockylinux9/Dockerfile @@ -127,7 +127,7 @@ dnf -q -y install --setopt='install_weak_deps=False' \ supervisor tini # Debug dnf -q -y install --setopt='install_weak_deps=False' \ - procps-ng iputils ncurses + procps-ng iputils ncurses openssl EOR ################################################################################ diff --git a/schedmd/slurm/master/ubuntu24.04/Dockerfile b/schedmd/slurm/master/ubuntu24.04/Dockerfile index fe1760f..ef32e3a 100644 --- a/schedmd/slurm/master/ubuntu24.04/Dockerfile +++ b/schedmd/slurm/master/ubuntu24.04/Dockerfile @@ -108,7 +108,7 @@ apt-get -qq -y install --no-install-recommends \ supervisor tini # Debug apt-get -qq -y install --no-install-recommends \ - procps iputils-ping ncurses-bin + procps iputils-ping ncurses-bin openssl EOR ################################################################################