forked from nebius/slurm-deb-packages
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
93 lines (81 loc) · 2.91 KB
/
Dockerfile
File metadata and controls
93 lines (81 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
ARG BASE_IMAGE=cr.eu-north1.nebius.cloud/soperator/cuda:12.9.0-cudnn-devel-ubuntu22.04
FROM $BASE_IMAGE
ARG SLURM_VERSION
ARG LD_LIBRARY_PATH
ARG OPENMPI_VERSION=4.1.7a1
ARG OPENMPI_SUBVERSION=1.2404066
ARG OFED_VERSION=24.04-0.7.0.0
ARG DEBIAN_FRONTEND=noninteractive
# Install dependencies
RUN apt install -y --update \
git \
build-essential \
devscripts \
debhelper \
fakeroot \
wget \
curl \
equivs \
autoconf \
pkg-config \
libssl-dev \
libpam0g-dev \
libtool \
libjansson-dev \
libjson-c-dev \
munge \
libmunge-dev \
libjwt2 \
libjwt-dev \
libhwloc-dev \
liblz4-dev \
flex \
libevent-dev \
jq \
squashfs-tools \
zstd \
zlib1g \
zlib1g-dev \
libpmix-dev
# Download Slurm
RUN cd /usr/src && \
wget https://download.schedmd.com/slurm/slurm-${SLURM_VERSION}.tar.bz2 && \
tar -xvf slurm-${SLURM_VERSION}.tar.bz2 && \
rm -rf slurm-${SLURM_VERSION}.tar.bz2
# Install Openmpi
RUN cd /etc/apt/sources.list.d && \
wget https://linux.mellanox.com/public/repo/mlnx_ofed/${OFED_VERSION}/ubuntu24.04/mellanox_mlnx_ofed.list && \
wget -qO - https://www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox | apt-key add - && \
apt update && \
apt install openmpi=${OPENMPI_VERSION}-${OPENMPI_SUBVERSION}
ENV PATH=/usr/mpi/gcc/openmpi-${OPENMPI_VERSION}/bin:$PATH
# Build deb packages for Slurm
RUN cd /usr/src/slurm-${SLURM_VERSION} && \
ARCH=$(uname -m) && \
sed -i "s|--with-pmix\b|--with-pmix=/usr/lib/${ARCH}-linux-gnu/pmix2|" debian/rules && \
mk-build-deps -i debian/control -t "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y" && \
debuild -b -uc -us
################################################################
# RESULT
################################################################
# /usr/src/slurm-smd_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-client_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-dev_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-doc_25.05.5-1_all.deb
# /usr/src/slurm-smd-libnss-slurm_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-libpam-slurm-adopt_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-libpmi0_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-libpmi2-0_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-libslurm-perl_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-openlava_25.05.5-1_all.deb
# /usr/src/slurm-smd-sackd_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-slurmctld_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-slurmd_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-slurmdbd_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-slurmrestd_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-sview_25.05.5-1_amd64.deb
# /usr/src/slurm-smd-torque_25.05.5-1_all.deb
################################################################
# Move deb files
RUN mkdir /usr/src/debs && \
mv /usr/src/*.deb /usr/src/debs/