Accepting request 928192 from network:cluster
- Utilize sysuser infrastructure to set user/group slurm. For munge authentication slurm should have a fixed UID across all nodes including the management server. Set it to 120 - Limit firewalld service definitions to SUSE versions >= 15. (forwarded request 928191 from eeich) OBS-URL: https://build.opensuse.org/request/show/928192 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/slurm?expand=0&rev=67
This commit is contained in:
commit
147f929296
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 29 15:54:53 UTC 2021 - Egbert Eich <eich@suse.com>
|
||||||
|
|
||||||
|
- Utilize sysuser infrastructure to set user/group slurm.
|
||||||
|
For munge authentication slurm should have a fixed UID across
|
||||||
|
all nodes including the management server. Set it to 120
|
||||||
|
- Limit firewalld service definitions to SUSE versions >= 15.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 18 13:36:14 UTC 2021 - Christian Goll <cgoll@suse.com>
|
||||||
|
|
||||||
|
- added service definitions for firewalld
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Oct 6 07:12:52 UTC 2021 - Christian Goll <cgoll@suse.com>
|
Wed Oct 6 07:12:52 UTC 2021 - Christian Goll <cgoll@suse.com>
|
||||||
|
|
||||||
|
37
slurm.spec
37
slurm.spec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file
|
# spec file for package slurm
|
||||||
#
|
#
|
||||||
# Copyright (c) 2021 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
@ -53,6 +53,10 @@ ExclusiveArch: do_not_build
|
|||||||
%define base_ver 2011
|
%define base_ver 2011
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?suse_version} >= 1500
|
||||||
|
%define have_sysuser 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{?base_ver} > 0 && 0%{?base_ver} < %(echo %{_ver} | tr -d _)
|
%if 0%{?base_ver} > 0 && 0%{?base_ver} < %(echo %{_ver} | tr -d _)
|
||||||
%define upgrade 1
|
%define upgrade 1
|
||||||
%endif
|
%endif
|
||||||
@ -99,6 +103,7 @@ ExclusiveArch: do_not_build
|
|||||||
%define have_hdf5 1
|
%define have_hdf5 1
|
||||||
%define have_boolean_deps 1
|
%define have_boolean_deps 1
|
||||||
%define have_lz4 1
|
%define have_lz4 1
|
||||||
|
%define have_firewalld 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
@ -118,6 +123,9 @@ ExclusiveArch: do_not_build
|
|||||||
%define slurm_u daemon
|
%define slurm_u daemon
|
||||||
%define slurm_g root
|
%define slurm_g root
|
||||||
%endif
|
%endif
|
||||||
|
%define slurm_uid 120
|
||||||
|
%define slurmdir %{_sysconfdir}/slurm
|
||||||
|
%define slurmdescr "SLURM workload manager"
|
||||||
|
|
||||||
%define libslurm libslurm%{so_version}
|
%define libslurm libslurm%{so_version}
|
||||||
%{!?_rundir:%define _rundir /var/run}
|
%{!?_rundir:%define _rundir /var/run}
|
||||||
@ -135,6 +143,9 @@ Group: Productivity/Clustering/Computing
|
|||||||
URL: https://www.schedmd.com
|
URL: https://www.schedmd.com
|
||||||
Source: https://download.schedmd.com/slurm/%{pname}-%{dl_ver}.tar.bz2
|
Source: https://download.schedmd.com/slurm/%{pname}-%{dl_ver}.tar.bz2
|
||||||
Source1: slurm-rpmlintrc
|
Source1: slurm-rpmlintrc
|
||||||
|
Source10: https://raw.githubusercontent.com/openSUSE/hpc/10c105e/files/slurm/slurmd.xml
|
||||||
|
Source11: https://raw.githubusercontent.com/openSUSE/hpc/10c105e/files/slurm/slurmctld.xml
|
||||||
|
Source12: https://raw.githubusercontent.com/openSUSE/hpc/10c105e/files/slurm/slurmdbd.xml
|
||||||
Patch0: Remove-rpath-from-build.patch
|
Patch0: Remove-rpath-from-build.patch
|
||||||
Patch1: slurm-2.4.4-init.patch
|
Patch1: slurm-2.4.4-init.patch
|
||||||
Patch2: pam_slurm-Initialize-arrays-and-pass-sizes.patch
|
Patch2: pam_slurm-Initialize-arrays-and-pass-sizes.patch
|
||||||
@ -156,6 +167,7 @@ BuildRequires: autoconf
|
|||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: coreutils
|
BuildRequires: coreutils
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
|
%{?have_firewalld:BuildRequires: firewalld}
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: gtk2-devel
|
BuildRequires: gtk2-devel
|
||||||
%if 0%{?have_hdf5}
|
%if 0%{?have_hdf5}
|
||||||
@ -198,6 +210,7 @@ BuildRequires: libssh2-devel
|
|||||||
BuildRequires: libyaml-devel
|
BuildRequires: libyaml-devel
|
||||||
BuildRequires: rrdtool-devel
|
BuildRequires: rrdtool-devel
|
||||||
%if 0%{?with_systemd}
|
%if 0%{?with_systemd}
|
||||||
|
%{?have_sysuser:BuildRequires: sysuser-tools}
|
||||||
%{?systemd_ordering}
|
%{?systemd_ordering}
|
||||||
BuildRequires: dejagnu
|
BuildRequires: dejagnu
|
||||||
BuildRequires: pkgconfig(systemd)
|
BuildRequires: pkgconfig(systemd)
|
||||||
@ -609,6 +622,11 @@ install -D -m600 etc/slurmdbd.conf.example %{buildroot}/%{_sysconfdir}/%{pname}/
|
|||||||
install -D -m600 etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{pname}/slurmdbd.conf.example
|
install -D -m600 etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{pname}/slurmdbd.conf.example
|
||||||
install -D -m755 contribs/sjstat %{buildroot}%{_bindir}/sjstat
|
install -D -m755 contribs/sjstat %{buildroot}%{_bindir}/sjstat
|
||||||
install -D -m755 contribs/sgather/sgather %{buildroot}%{_bindir}/sgather
|
install -D -m755 contribs/sgather/sgather %{buildroot}%{_bindir}/sgather
|
||||||
|
%if 0%{?have_firewalld}
|
||||||
|
install -D -m644 %{S:10} %{buildroot}/%{_prefix}/lib/firewalld/services/slurmd.xml
|
||||||
|
install -D -m644 %{S:11} %{buildroot}/%{_prefix}/lib/firewalld/services/slurmctld.xml
|
||||||
|
install -D -m644 %{S:12} %{buildroot}/%{_prefix}/lib/firewalld/services/slurmdbd.xml
|
||||||
|
%endif
|
||||||
|
|
||||||
cat <<EOF >%{buildroot}%{_sysconfdir}/%{pname}/plugstack.conf
|
cat <<EOF >%{buildroot}%{_sysconfdir}/%{pname}/plugstack.conf
|
||||||
include %{_sysconfdir}/%{pname}/plugstack.conf.d/*.conf
|
include %{_sysconfdir}/%{pname}/plugstack.conf.d/*.conf
|
||||||
@ -653,6 +671,11 @@ sed -i -e "s@PIDFile=.*@PIDFile=%{_localstatedir}/run/slurm/slurmd.pid@" \
|
|||||||
sed -i -e "s@PIDFile=.*@PIDFile=%{_localstatedir}/run/slurm/slurmdbd.pid@" \
|
sed -i -e "s@PIDFile=.*@PIDFile=%{_localstatedir}/run/slurm/slurmdbd.pid@" \
|
||||||
-e 's@After=\(.*\)@After=\1 mariadb.service@' \
|
-e 's@After=\(.*\)@After=\1 mariadb.service@' \
|
||||||
%{buildroot}/%{_unitdir}/slurmdbd.service
|
%{buildroot}/%{_unitdir}/slurmdbd.service
|
||||||
|
%if 0%{?have_sysuser}
|
||||||
|
echo "u %slurm_u %{slurm_uid} \"%slurmdescr\" %{slurmdir}\n" > system-user-%{pname}.conf
|
||||||
|
%sysusers_generate_pre system-user-%{pname}.conf %{pname} system-user-%{pname}.conf
|
||||||
|
install -D -m 644 system-user-%{pname}.conf %{buildroot}%{_sysusersdir}/system-user-%{pname}.conf
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Delete static files:
|
# Delete static files:
|
||||||
@ -831,13 +854,13 @@ rm -f %{buildroot}/%{_libdir}/slurm/openapi_*
|
|||||||
%insserv_cleanup
|
%insserv_cleanup
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%pre config
|
%pre config %{?have_sysuser:-f %{pname}.pre}
|
||||||
%define slurmdir %{_sysconfdir}/slurm
|
%if 0%{!?have_sysuser:1}
|
||||||
%define slurmdescr "SLURM workload manager"
|
|
||||||
getent group %slurm_g >/dev/null || groupadd -r %slurm_g
|
getent group %slurm_g >/dev/null || groupadd -r %slurm_g
|
||||||
getent passwd %slurm_u >/dev/null || useradd -r -g %slurm_g -d %slurmdir -s /bin/false -c %{slurmdescr} %slurm_u
|
getent passwd %slurm_u >/dev/null || useradd -r -g %slurm_g -d %slurmdir -s /bin/false -c %{slurmdescr} %slurm_u
|
||||||
[ -d %{_localstatedir}/spool/slurm ] && /bin/chown -h %slurm_u:%slurm_g %{_localstatedir}/spool/slurm
|
[ -d %{_localstatedir}/spool/slurm ] && /bin/chown -h %slurm_u:%slurm_g %{_localstatedir}/spool/slurm
|
||||||
exit 0
|
exit 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%post config
|
%post config
|
||||||
%if 0%{?with_systemd}
|
%if 0%{?with_systemd}
|
||||||
@ -1231,6 +1254,12 @@ exit 0
|
|||||||
%{?_rundir:%ghost %{_rundir}/slurm}
|
%{?_rundir:%ghost %{_rundir}/slurm}
|
||||||
%dir %attr(0755, %slurm_u, %slurm_g)%{_localstatedir}/spool/slurm
|
%dir %attr(0755, %slurm_u, %slurm_g)%{_localstatedir}/spool/slurm
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/slurm*
|
%config(noreplace) %{_sysconfdir}/logrotate.d/slurm*
|
||||||
|
%if 0%{?have_firewalld}
|
||||||
|
%{_prefix}/lib/firewalld/services/slurmd.xml
|
||||||
|
%{_prefix}/lib/firewalld/services/slurmctld.xml
|
||||||
|
%{_prefix}/lib/firewalld/services/slurmdbd.xml
|
||||||
|
%endif
|
||||||
|
%{?have_sysuser:%{_sysusersdir}/system-user-%{pname}.conf}
|
||||||
|
|
||||||
%files config-man
|
%files config-man
|
||||||
%{?comp_at}
|
%{?comp_at}
|
||||||
|
7
slurmctld.xml
Normal file
7
slurmctld.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<service>
|
||||||
|
<short>slurmctld</short>
|
||||||
|
<description>slurmctld is the management daemon for SLURM cluster management.</description>
|
||||||
|
<port protocol="tcp" port="6817"/>
|
||||||
|
<port protocol="udp" port="6817"/>
|
||||||
|
</service>
|
7
slurmd.xml
Normal file
7
slurmd.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<service>
|
||||||
|
<short>slurmd</short>
|
||||||
|
<description>slurmd is the daemon which starts jobs for the SLURM cluster management.</description>
|
||||||
|
<port protocol="tcp" port="6818"/>
|
||||||
|
<port protocol="udp" port="6818"/>
|
||||||
|
</service>
|
7
slurmdbd.xml
Normal file
7
slurmdbd.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<service>
|
||||||
|
<short>slurmd</short>
|
||||||
|
<description>slurmdbd is the database daemon for the SLURM cluster management.</description>
|
||||||
|
<port protocol="tcp" port="6819"/>
|
||||||
|
<port protocol="udp" port="6819"/>
|
||||||
|
</service>
|
Loading…
Reference in New Issue
Block a user