Accepting request 760450 from home:eeich:branches:network:cluster
- Deprecate "ControlMachine" only for SLURM version upgrades and products newer than 1501. This ensures that the original setting is retained for the SLURM version shipped origianlly with SLE-15-SP1 or Leap 15.1. - Update to v18.08.9 for fixing CVE-2019-19728 (bsc#1159692). * Wrap END_TIMER{,2,3} macro definition in "do {} while (0)" block. * Make sview work with glib2 v2.62. * Make Slurm compile on linux after sys/sysctl.h was deprecated. * Install slurmdbd.conf.example with 0600 permissions to encourage secure use. CVE-2019-19727. * srun - do not continue with job launch if --uid fails. CVE-2019-19728. - added pmix support jsc#SLE-10800 - Use --with-shared-libslurm to build slurm binaries using libslurm. - Make libslurm depend on slurm-config. - Fix ownership of /var/spool/slurm on new installations and upgrade (boo#1158696). - Fix permissions of slurmdbd.conf (bsc#1155784, CVE-2019-19727). - Fix %posttrans macro _res_update to cope with added newline (bsc#1153259). - Add package slurm-webdoc which sets up a web server to provide the documentation for the version shipped. - Move srun from 'slurm' to 'slurm-node': srun is required on the nodes as well so sbatch will work. 'slurm-node' is a requirement OBS-URL: https://build.opensuse.org/request/show/760450 OBS-URL: https://build.opensuse.org/package/show/network:cluster/slurm?expand=0&rev=116
This commit is contained in:
parent
163930db89
commit
69c13014d9
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:043a048ac8a6fb6f6bf7c66434b05ed8b5b871e5e86e407c063d0c8cb4cb6e0d
|
||||
size 6208426
|
3
slurm-18.08.9.tar.bz2
Normal file
3
slurm-18.08.9.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a7103b45c58565b580f94cd68bc546344ffaa7dd0e349d23ec849e5acebff9ad
|
||||
size 6210190
|
@ -1,3 +1,59 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 2 09:14:56 UTC 2020 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Deprecate "ControlMachine" only for SLURM version upgrades and
|
||||
products newer than 1501. This ensures that the original setting
|
||||
is retained for the SLURM version shipped origianlly with SLE-15-SP1
|
||||
or Leap 15.1.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 21 09:07:42 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Update to v18.08.9 for fixing CVE-2019-19728 (bsc#1159692).
|
||||
* Wrap END_TIMER{,2,3} macro definition in "do {} while (0)" block.
|
||||
* Make sview work with glib2 v2.62.
|
||||
* Make Slurm compile on linux after sys/sysctl.h was deprecated.
|
||||
* Install slurmdbd.conf.example with 0600 permissions to encourage secure
|
||||
use. CVE-2019-19727.
|
||||
* srun - do not continue with job launch if --uid fails. CVE-2019-19728.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 11 18:23:46 UTC 2019 - Christian Goll <cgoll@suse.com>
|
||||
|
||||
- added pmix support jsc#SLE-10800
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 8 11:33:42 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Use --with-shared-libslurm to build slurm binaries using libslurm.
|
||||
- Make libslurm depend on slurm-config.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 6 17:06:32 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Fix ownership of /var/spool/slurm on new installations
|
||||
and upgrade (boo#1158696).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 31 10:18:21 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Fix permissions of slurmdbd.conf (bsc#1155784, CVE-2019-19727).
|
||||
- Fix %posttrans macro _res_update to cope with added newline
|
||||
(bsc#1153259).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 21 15:54:43 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Add package slurm-webdoc which sets up a web server to provide
|
||||
the documentation for the version shipped.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 7 15:39:43 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Move srun from 'slurm' to 'slurm-node': srun is required on the
|
||||
nodes as well so sbatch will work. 'slurm-node' is a requirement
|
||||
when 'slurm' is installed (bsc#1153095).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 2 08:26:02 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||
|
||||
|
105
slurm.spec
105
slurm.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package slurm
|
||||
#
|
||||
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
# Check file META in sources: update so_version to (API_CURRENT - API_AGE)
|
||||
%define so_version 33
|
||||
%define ver 18.08.8
|
||||
%define ver 18.08.9
|
||||
%define _ver _18_08
|
||||
%define dl_ver %{ver}
|
||||
# so-version is 0 and seems to be stable
|
||||
@ -43,6 +43,13 @@
|
||||
%define upgrade 1
|
||||
%endif
|
||||
|
||||
# Build with PMIx only for SLE >= 15.2 and TW
|
||||
%if 0%{?sle_version} >= 150200 || 0%{suse_version} >= 1550
|
||||
%{bcond_without pmix}
|
||||
%else
|
||||
%{bcond_with pmix}
|
||||
%endif
|
||||
|
||||
# For anything newer than Leap 42.1 and SLE-12-SP1 build compatible to OpenHPC.
|
||||
%if 0%{suse_version} > 1320 || 0%{?sle_version} >= 120200
|
||||
%define OHPC_BUILD 1
|
||||
@ -51,10 +58,14 @@
|
||||
%if 0%{?suse_version} >= 1220 || 0%{?sle_version} >= 120000
|
||||
%define with_systemd 1
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version:1} && 0%{?suse_version} <= 1140
|
||||
%define comp_at %defattr(-,root,root)
|
||||
%else
|
||||
%define have_json_c 1
|
||||
%if 0%{?sle_version} >= 150000 || 0%{?is_opensuse}
|
||||
%define have_apache_rpm_macros 1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0
|
||||
@ -97,7 +108,7 @@ Release: 0
|
||||
Summary: Simple Linux Utility for Resource Management
|
||||
License: SUSE-GPL-2.0-with-openssl-exception
|
||||
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
|
||||
Source1: slurm-rpmlintrc
|
||||
Patch0: slurm-2.4.4-rpath.patch
|
||||
@ -141,6 +152,7 @@ BuildRequires: libnuma-devel
|
||||
%endif
|
||||
BuildRequires: mysql-devel >= 5.0.0
|
||||
BuildRequires: ncurses-devel
|
||||
%{?with_pmix:BuildRequires: pmix-devel}
|
||||
BuildRequires: openssl-devel >= 0.9.6
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: postgresql-devel >= 8.0.0
|
||||
@ -190,6 +202,20 @@ Group: Documentation/HTML
|
||||
%{?upgrade:Provides: %{pname}-doc = %{version}}
|
||||
%{?upgrade:Conflicts: %{pname}-doc}
|
||||
|
||||
%package webdoc
|
||||
Summary: Set up SLURM Documentation Server
|
||||
Group: Productivity/Clustering/Computing
|
||||
%if 0%{?have_apache_rpm_macros}
|
||||
BuildRequires: apache-rpm-macros
|
||||
%else
|
||||
%define apache_sysconfdir /etc/apache2
|
||||
%endif
|
||||
Requires: slurm-doc = %{version}
|
||||
Requires(pre): apache2
|
||||
|
||||
%description webdoc
|
||||
Set up HTTP server for SLURM configuration.
|
||||
|
||||
%description doc
|
||||
Documentation (HTML) for the SLURM cluster managment software.
|
||||
|
||||
@ -213,17 +239,20 @@ through Perl.
|
||||
%package -n %{libslurm}
|
||||
Summary: Libraries for SLURM
|
||||
Group: System/Libraries
|
||||
Requires: %{name}-config = %{version}
|
||||
|
||||
%description -n %{libslurm}
|
||||
This package contains the library needed to run programs dynamically linked
|
||||
with SLURM.
|
||||
|
||||
|
||||
%package -n libpmi%{pmi_so}
|
||||
%package -n libpmi%{pmi_so}%{?upgrade:%{_ver}}
|
||||
Summary: Libraries for SLURM
|
||||
Group: System/Libraries
|
||||
%{?upgrade:Provides: libpmi%{pmi_so} = %{version}}
|
||||
%{?upgrade:Conflicts: libpmi%{pmi_so}}
|
||||
|
||||
%description -n libpmi%{pmi_so}
|
||||
%description -n libpmi%{pmi_so}%{?upgrade:%{_ver}}
|
||||
This package contains the library needed to run programs dynamically linked
|
||||
with SLURM.
|
||||
|
||||
@ -233,14 +262,13 @@ Summary: Development package for SLURM
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{libslurm} = %{version}
|
||||
Requires: %{name} = %{version}
|
||||
Requires: libpmi%{pmi_so} = %{version}
|
||||
Requires: libpmi%{pmi_so}%{?upgrade:%{_ver}} = %{version}
|
||||
%{?upgrade:Provides: %{pname}-devel = %{version}}
|
||||
%{?upgrade:Conflicts: %{pname}-devel}
|
||||
|
||||
%description devel
|
||||
This package includes the header files for the SLURM API.
|
||||
|
||||
|
||||
%package auth-none
|
||||
Summary: SLURM auth NULL implementation (no authentication)
|
||||
Group: Productivity/Clustering/Computing
|
||||
@ -486,6 +514,7 @@ Contains also cray specific documentation.
|
||||
--disable-static \
|
||||
--without-rpath \
|
||||
--without-datawarp \
|
||||
--with-shared-libslurm \
|
||||
%{!?have_netloc:--without-netloc} \
|
||||
--sysconfdir=%{_sysconfdir}/%{pname} \
|
||||
%{!?have_hdf5:--without-hdf5} \
|
||||
@ -516,7 +545,7 @@ install -D -m755 etc/init.d.slurmdbd %{buildroot}%{_initrddir}/slurmdbd
|
||||
ln -sf %{_initrddir}/slurm %{buildroot}%{_sbindir}/rcslurm
|
||||
ln -sf %{_initrddir}/slurmdbd %{buildroot}%{_sbindir}/rcslurmdbd
|
||||
%endif
|
||||
mkdir -p %{buildroot}%{_var}/spool/slurm
|
||||
mkdir -p %{buildroot}%{_localstatedir}/spool/slurm
|
||||
|
||||
rm -f contribs/cray/opt_modulefiles_slurm
|
||||
rm -f %{buildroot}%{_sysconfdir}/plugstack.conf.template
|
||||
@ -530,8 +559,8 @@ install -D -m644 etc/layouts.d.power.conf.example %{buildroot}/%{_sysconfdir}/%{
|
||||
install -D -m644 etc/layouts.d.power_cpufreq.conf.example %{buildroot}/%{_sysconfdir}/%{pname}/layouts.d/power_cpufreq.conf.example
|
||||
install -D -m644 etc/layouts.d.unit.conf.example %{buildroot}/%{_sysconfdir}/%{pname}/layouts.d/unit.conf.example
|
||||
install -D -m644 etc/slurm.conf.example %{buildroot}/%{_sysconfdir}/%{pname}/slurm.conf%{?OHPC_BUILD:.example}
|
||||
install -D -m644 etc/slurmdbd.conf.example %{buildroot}/%{_sysconfdir}/%{pname}/slurmdbd.conf
|
||||
install -D -m644 etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{pname}/slurmdbd.conf.example
|
||||
install -D -m600 etc/slurmdbd.conf.example %{buildroot}/%{_sysconfdir}/%{pname}/slurmdbd.conf
|
||||
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/sgather/sgather %{buildroot}%{_bindir}/sgather
|
||||
|
||||
@ -544,11 +573,13 @@ sed -i 's#\(StateSaveLocation=\).*#\1%_localstatedir/lib/slurm#' %{buildroot}/%
|
||||
sed -i 's#^\(SlurmdPidFile=\).*$#\1%{_localstatedir}/run/slurm/slurmd.pid#' %{buildroot}/%{_sysconfdir}/%{pname}/slurm.conf
|
||||
sed -i 's#^\(SlurmctldPidFile=\).*$#\1%{_localstatedir}/run/slurm/slurmctld.pid#' %{buildroot}/%{_sysconfdir}/%{pname}/slurm.conf
|
||||
sed -i 's#^\(SlurmdSpoolDir=\)/.*#\1%{_localstatedir}/spool/slurm#' %{buildroot}/%{_sysconfdir}/%{pname}/slurm.conf
|
||||
%if 0%{?upgrade} || 0%{suse_version} > 1501
|
||||
sed -i -e '/^ControlMachine=/i# Ordered List of Control Nodes' \
|
||||
-e 's#ControlMachine=\(.*\)$#SlurmctldHost=\1(10.0.10.20)#' \
|
||||
-e 's#BackupController=.*#SlurmctldHost=linux1(10.0.10.21)#' \
|
||||
-e '/.*ControlAddr=.*/d' \
|
||||
-e '/.*BackupAddr=.*/d' %{buildroot}/%{_sysconfdir}/%{pname}/slurm.conf
|
||||
%endif
|
||||
cat >>%{buildroot}/%{_sysconfdir}/%{pname}/slurm.conf <<EOF
|
||||
# SUSE default configuration
|
||||
PropagateResourceLimitsExcept=MEMLOCK
|
||||
@ -644,9 +675,27 @@ cat <<EOF > %{buildroot}/%{_sysconfdir}/logrotate.d/${service}.conf
|
||||
}
|
||||
EOF
|
||||
done
|
||||
mkdir -p %{buildroot}/%{apache_sysconfdir}/conf.d
|
||||
cat > %{buildroot}/%{apache_sysconfdir}/conf.d/slurm.conf <<EOF
|
||||
Alias /slurm/ "/usr/share/doc/slurm-%{ver}/html/"
|
||||
<Directory "/usr/share/doc/slurm-%{ver}/html/">
|
||||
AllowOverride None
|
||||
DirectoryIndex slurm.html
|
||||
# Controls who can get stuff from this server.
|
||||
<IfModule !mod_access_compat.c>
|
||||
Require all granted
|
||||
</IfModule>
|
||||
<IfModule mod_access_compat.c>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</IfModule>
|
||||
</Directory>
|
||||
EOF
|
||||
|
||||
%fdupes -s %{buildroot}
|
||||
|
||||
%define fixperm() [ $1 -eq 1 -a -e %2 ] && /bin/chmod %1 %2
|
||||
|
||||
%pre
|
||||
%if 0%{?with_systemd}
|
||||
%service_add_pre slurmctld.service
|
||||
@ -677,6 +726,8 @@ done
|
||||
%endif
|
||||
|
||||
%post slurmdbd
|
||||
%{fixperm 0600 %{_sysconfdir}/%{pname}/slurmdbd.conf}
|
||||
%{fixperm 0600 %{_sysconfdir}/%{pname}/slurmdbd.conf.example}
|
||||
%if 0%{?with_systemd}
|
||||
%service_add_post slurmdbd.service
|
||||
%else
|
||||
@ -691,6 +742,8 @@ done
|
||||
%endif
|
||||
|
||||
%postun slurmdbd
|
||||
%{fixperm 0600 %{_sysconfdir}/%{pname}/slurmdbd.conf}
|
||||
%{fixperm 0600 %{_sysconfdir}/%{pname}/slurmdbd.conf.example}
|
||||
%if 0%{?with_systemd}
|
||||
%service_del_postun -n slurmdbd.service
|
||||
%else
|
||||
@ -728,6 +781,7 @@ done
|
||||
%define slurmdescr "SLURM workload manager"
|
||||
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
|
||||
[ -d %{_localstatedir}/spool/slurm ] && /bin/chown -h %slurm_u:%slurm_g %{_localstatedir}/spool/slurm
|
||||
exit 0
|
||||
|
||||
%post config
|
||||
@ -742,8 +796,8 @@ exit 0
|
||||
%post -n %{libslurm} -p /sbin/ldconfig
|
||||
%postun -n %{libslurm} -p /sbin/ldconfig
|
||||
|
||||
%post -n libpmi%{pmi_so} -p /sbin/ldconfig
|
||||
%postun -n libpmi%{pmi_so} -p /sbin/ldconfig
|
||||
%post -n libpmi%{pmi_so}%{?upgrade:%{_ver}} -p /sbin/ldconfig
|
||||
%postun -n libpmi%{pmi_so}%{?upgrade:%{_ver}} -p /sbin/ldconfig
|
||||
|
||||
%{!?nil:
|
||||
# On update the %%postun code of the old package restarts the
|
||||
@ -768,8 +822,12 @@ exit 0
|
||||
%define _rest() %{?with_systemd:[ -e /run/%{1}.rst ] && { systemctl status %{1} &>/dev/null || systemctl restart %{1}; }; rm -f /run/%{1}.rst;}
|
||||
%{!?nil:
|
||||
# Until a posttrans macro has been added to macros.systemd, we need this
|
||||
# Do NOT delete the line breaks in the macro definition: they help
|
||||
# to cope with different versions of the %_restart_on_update.
|
||||
}
|
||||
%define _res_update() %{?with_systemd:
|
||||
%{expand:%%_restart_on_update %{?*}}
|
||||
}
|
||||
%define _res_update() %{?with_systemd:%{expand:%%_restart_on_update %{?*}};}
|
||||
|
||||
%pretrans -p <lua>
|
||||
%_test_rest slurmctld
|
||||
@ -817,7 +875,6 @@ exit 0
|
||||
%{_bindir}/sprio
|
||||
%{_bindir}/squeue
|
||||
%{_bindir}/sreport
|
||||
%{_bindir}/srun
|
||||
%{_bindir}/smap
|
||||
%{_bindir}/sshare
|
||||
%{_bindir}/sstat
|
||||
@ -846,7 +903,6 @@ exit 0
|
||||
%{_mandir}/man1/sprio.1*
|
||||
%{_mandir}/man1/squeue.1*
|
||||
%{_mandir}/man1/sreport.1*
|
||||
%{_mandir}/man1/srun.1*
|
||||
%{_mandir}/man1/sshare.1*
|
||||
%{_mandir}/man1/sstat.1*
|
||||
%{_mandir}/man1/strigger.1*
|
||||
@ -872,11 +928,15 @@ exit 0
|
||||
%dir %{_datadir}/doc/%{pname}-%{dl_ver}
|
||||
%{_datadir}/doc/%{pname}-%{dl_ver}/*
|
||||
|
||||
%files webdoc
|
||||
%{?comp_at}
|
||||
%{apache_sysconfdir}/conf.d/slurm.conf
|
||||
|
||||
%files -n %{libslurm}
|
||||
%{?comp_at}
|
||||
%{_libdir}/libslurm*.so.%{so_version}*
|
||||
|
||||
%files -n libpmi%{pmi_so}
|
||||
%files -n libpmi%{pmi_so}%{?upgrade:%{_ver}}
|
||||
%{?comp_at}
|
||||
%{_libdir}/libpmi*.so.%{pmi_so}*
|
||||
|
||||
@ -919,8 +979,8 @@ exit 0
|
||||
%{_sbindir}/slurmdbd
|
||||
%{_mandir}/man5/slurmdbd.*
|
||||
%{_mandir}/man8/slurmdbd.*
|
||||
%config(noreplace) %{_sysconfdir}/%{pname}/slurmdbd.conf
|
||||
%{_sysconfdir}/%{pname}/slurmdbd.conf.example
|
||||
%config(noreplace) %attr(0600,%slurm_u,%slurm_g) %{_sysconfdir}/%{pname}/slurmdbd.conf
|
||||
%attr(0600,%slurm_u,%slurm_g) %{_sysconfdir}/%{pname}/slurmdbd.conf.example
|
||||
%if 0%{?with_systemd}
|
||||
%{_unitdir}/slurmdbd.service
|
||||
%else
|
||||
@ -983,6 +1043,10 @@ exit 0
|
||||
%{_libdir}/slurm/mpi_none.so
|
||||
%{_libdir}/slurm/mpi_openmpi.so
|
||||
%{_libdir}/slurm/mpi_pmi2.so
|
||||
%if %{with pmix}
|
||||
%{_libdir}/slurm/mpi_pmix.so
|
||||
%{_libdir}/slurm/mpi_pmix_v3.so
|
||||
%endif
|
||||
%{_libdir}/slurm/power_none.so
|
||||
%{_libdir}/slurm/preempt_none.so
|
||||
%{_libdir}/slurm/preempt_partition_prio.so
|
||||
@ -1068,6 +1132,9 @@ exit 0
|
||||
%{?comp_at}
|
||||
%{_sbindir}/slurmd
|
||||
%{_sbindir}/slurmstepd
|
||||
# bsc#1153095
|
||||
%{_bindir}/srun
|
||||
%{_mandir}/man1/srun.1*
|
||||
%{_mandir}/man8/slurmd.*
|
||||
%{_mandir}/man8/slurmstepd*
|
||||
%if 0%{?with_systemd}
|
||||
@ -1090,7 +1157,7 @@ exit 0
|
||||
%config(noreplace) %{_sysconfdir}/%{pname}/layouts.d/unit.conf.example
|
||||
%{?OHPC_BUILD:%attr(0755, %slurm_u, %slurm_g) %_localstatedir/lib/slurm}
|
||||
%{?with_systemd:%{_tmpfilesdir}/%{pname}.conf}
|
||||
%dir %{_var}/spool/slurm
|
||||
%dir %attr(0755, %slurm_u, %slurm_g)%{_localstatedir}/spool/slurm
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/slurm*
|
||||
|
||||
%files config-man
|
||||
|
Loading…
Reference in New Issue
Block a user