SHA256
1
0
forked from pool/slurm

Accepting request 587828 from network:cluster

OBS-URL: https://build.opensuse.org/request/show/587828
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/slurm?expand=0&rev=10
This commit is contained in:
Dominique Leuenberger 2018-03-20 20:59:01 +00:00 committed by Git OBS Bridge
commit d6b57f2b49
8 changed files with 89 additions and 153 deletions

View File

@ -1,45 +0,0 @@
From: Egbert Eich <eich@freedesktop.org>
Date: Sun Oct 16 13:10:39 2016 +0200
Subject: plugins/cgroup: Fix slurmd for new API in hwloc-2.0
Git-repo: https://github.com/SchedMD/slurm
Git-commit: 018eee7d8dee1f769477263a891948e5bca8f738
References:
The API of hwloc has changed considerably for version 2.0.
For a summary check:
https://github.com/open-mpi/hwloc/wiki/Upgrading-to-v2.0-API
Test for the API version to support both the old and new API.
Signed-off-by: Egbert Eich <eich@freedesktop.org>
Signed-off-by: Egbert Eich <eich@suse.de>
---
src/plugins/task/cgroup/task_cgroup_cpuset.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/plugins/task/cgroup/task_cgroup_cpuset.c b/src/plugins/task/cgroup/task_cgroup_cpuset.c
index 9c41ea4..94a4b09 100644
--- a/src/plugins/task/cgroup/task_cgroup_cpuset.c
+++ b/src/plugins/task/cgroup/task_cgroup_cpuset.c
@@ -641,8 +641,23 @@ static int _get_cpuinfo(uint32_t *nsockets, uint32_t *ncores,
/* parse full system info */
hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM);
/* ignores cache, misc */
+#if HWLOC_API_VERSION < 0x00020000
hwloc_topology_ignore_type (topology, HWLOC_OBJ_CACHE);
hwloc_topology_ignore_type (topology, HWLOC_OBJ_MISC);
+#else
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L1CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L2CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L3CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L4CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L5CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_MISC,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+#endif
/* load topology */
if (hwloc_topology_load(topology)) {
error("%s: hwloc_topology_load() failed", __func__);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:faf4704505dfc5b6fa199f099d36dbc3d23faf149251f36672631dbbbe3b1b71
size 6053443

3
slurm-17.11.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39f5c53bc101909494c4abc1fb47a8cd86cba16ec77503aa9e994c11bef7f01d
size 6248551

2
slurm-rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
addFilter(".*obsolete-not-provided slurm-sched-wiki.*")
addFilter(".*obsolete-not-provided slurmdb-direct.*")

View File

@ -1,3 +1,74 @@
-------------------------------------------------------------------
Fri Mar 16 08:57:20 UTC 2018 - cgoll@suse.com
- added comment for (bsc#1085606)
-------------------------------------------------------------------
Wed Mar 14 19:34:58 UTC 2018 - eich@suse.com
- Fix security issue in accounting_storage/mysql plugin by always escaping
strings within the slurmdbd. CVE-2018-7033
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-7033
(bsc#1085240).
- Update slurm to v17.11.5 (FATE#325451)
Highlights of 17.11:
* Support for federated clusters to manage a single work-flow
across a set of clusters.
* Support for heterogeneous job allocations (various processor types,
memory sizes, etc. by job component). Support for heterogeneous job
steps within a single MPI_COMM_WORLD is not yet supported for most
configurations.
* X11 support is now fully integrated with the main Slurm code. Remove
any X11 plugin configured in your plugstack.conf file to avoid errors
being logged about conflicting options.
* Added new advanced reservation flag of "flex", which permits jobs
requesting the reservation to begin prior to the reservation's
start time and use resources inside or outside of the reservation.
A typical use case is to prevent jobs not explicitly requesting the
reservation from using those reserved resources rather than forcing
jobs requesting the reservation to use those resources in the time
frame reserved.
* The sprio command has been modified to report a job's priority
information for every partition the job has been submitted to.
* Group ID lookup performed at job submit time to avoid lookup on
all compute nodes. Enable with PrologFlags=SendGIDs configuration
parameter.
* Slurm commands and daemons dynamically link to libslurmfull.so
instead of statically linking. This dramatically reduces the
footprint of Slurm.
* In switch plugin, added plugin_id symbol to plugins and wrapped
switch_jobinfo_t with dynamic_plugin_data_t in interface calls
in order to pass switch information between clusters with different
switch types.
* Changed default ProctrackType to cgroup.
* Changed default sched_min_interval from 0 to 2 microseconds.
* Added new 'scontrol write batch_script ' command to fetch a job's
batch script. Removed the ability to see the script as part of the
'scontrol -dd show job' command.
* Add new "billing" TRES which allows jobs to be limited based on the
job's billable TRES calculated by the job's partition's
TRESBillingWeights.
* Regular user use of "scontrol top" command is now disabled. Use the
configuration parameter "SchedulerParameters=enable_user_top" to
enable that functionality. The configuration parameter
"SchedulerParameters=disable_user_top" will be silently ignored.
* Change default to let pending jobs run outside of reservation after
reservation is gone to put jobs in held state. Added
NO_HOLD_JOBS_AFTER_END reservation flag to use old default.
Support for PMIx v2.0 as well as UCX support.
* Remove plugins for obsolete MPI stacks:
- lam
- mpich1_p4
- mpich1_shmem
- mvapich
* Numerous fixes - check 'NEWS' file.
- slurmd-Fix-slurmd-for-new-API-in-hwloc-2.0.patch
plugins-cgroup-Fix-slurmd-for-new-API-in-hwloc-2.0.patch:
Removed. Code upstream.
- slurmctld-service-var-run-path.patch:
Replaced by sed script.
- Fix some rpmlint warnings.
-------------------------------------------------------------------
Mon Jan 29 13:43:57 UTC 2018 - cgoll@suse.com

View File

@ -17,8 +17,8 @@
# Check file META in sources: update so_version to (API_CURRENT - API_AGE)
%define so_version 31
%define ver 17.02.9
%define so_version 32
%define ver 17.11.5
# so-version is 0 and seems to be stable
%define pmi_so 0
@ -63,12 +63,10 @@ License: SUSE-GPL-2.0-with-openssl-exception
Group: Productivity/Clustering/Computing
Url: https://computing.llnl.gov/linux/slurm/
Source: https://download.schedmd.com/slurm/%{name}-%{ver}.tar.bz2
Source1: slurm-rpmlintrc
Patch0: slurm-2.4.4-rpath.patch
Patch1: slurm-2.4.4-init.patch
Patch2: slurmd-Fix-slurmd-for-new-API-in-hwloc-2.0.patch
Patch3: plugins-cgroup-Fix-slurmd-for-new-API-in-hwloc-2.0.patch
Patch4: pam_slurm-Initialize-arrays-and-pass-sizes.patch
Patch5: slurmctld-service-var-run-path.patch
Patch2: pam_slurm-Initialize-arrays-and-pass-sizes.patch
Requires: slurm-config = %{version}
Requires: slurm-node = %{version}
%if 0%{?suse_version} <= 1140
@ -150,7 +148,6 @@ with SLURM.
%package -n libpmi%{pmi_so}
Summary: Libraries for SLURM
Group: System/Libraries
Requires: %{libslurm} = %version
%description -n libpmi%{pmi_so}
This package contains the library needed to run programs dynamically linked
@ -316,9 +313,6 @@ for the slurm daemons.
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
%configure --enable-shared \
@ -384,6 +378,7 @@ sed -i 's#^\(SlurmdSpoolDir=\)/.*#\1%{_localstatedir}/spool/slurm#' %{buildroot}
cat >>%{buildroot}/%{_sysconfdir}/%{name}/slurm.conf <<EOF
# SUSE default configuration
PropagateResourceLimitsExcept=MEMLOCK
# Epilog will clean node, which means it will kill all remaining processes of the user
Epilog=/etc/slurm/slurm.epilog.clean
NodeName=linux State=UNKNOWN
PartitionName=normal Nodes=linux Default=YES MaxTime=24:00:00 State=UP
@ -391,6 +386,8 @@ EOF
# 9/17/14 karl.w.schulz@intel.com - Add option to drop VM cache during epilog
sed -i '/^# No other SLURM jobs,/i \\n# Drop clean caches (OpenHPC)\necho 3 > /proc/sys/vm/drop_caches\n\n#' %{buildroot}/%{_sysconfdir}/%{name}/slurm.epilog.clean
mkdir -p %{buildroot}/%_localstatedir/lib/slurm
sed -i -e "s@PIDFile=.*@PIDFile=%{_localstatedir}/run/slurm/slurmctld.pid@" %{buildroot}/%{_unitdir}/slurmctld.service
sed -i -e "s@PIDFile=.*@PIDFile=%{_localstatedir}/run/slurm/slurmd.pid@" %{buildroot}/%{_unitdir}/slurmd.service
%endif
# Delete unpackaged files:
@ -533,7 +530,7 @@ exit 0
%post config
%if 0%{?with_systemd}
%if 0%{?sle_version} >= 120200
%if 0%{?tmpfiles_create:1}
%tmpfiles_create slurm.conf
%else
systemd-tmpfiles --create slurm.conf
@ -679,7 +676,7 @@ exit 0
%config(noreplace) %{_sysconfdir}/%{name}/slurmdbd.conf
%{_sysconfdir}/%{name}/slurmdbd.conf.example
%if 0%{?with_systemd}
%config %{_unitdir}/slurmdbd.service
%{_unitdir}/slurmdbd.service
%else
%{_initrddir}/slurmdbd
%endif
@ -693,8 +690,9 @@ exit 0
%files plugins
%defattr(-,root,root)
%{_sysconfdir}/ld.so.conf.d/slurm.conf
%config %{_sysconfdir}/ld.so.conf.d/slurm.conf
%dir %{_libdir}/slurm
%{_libdir}/slurm/libslurmfull.so
%{_libdir}/slurm/accounting_storage_filetxt.so
%{_libdir}/slurm/accounting_storage_none.so
%{_libdir}/slurm/accounting_storage_slurmdbd.so
@ -704,7 +702,7 @@ exit 0
%{_libdir}/slurm/acct_gather_energy_rapl.so
%{_libdir}/slurm/acct_gather_filesystem_lustre.so
%{_libdir}/slurm/acct_gather_filesystem_none.so
%{_libdir}/slurm/acct_gather_infiniband_none.so
%{_libdir}/slurm/acct_gather_interconnect_none.so
%{_libdir}/slurm/acct_gather_profile_none.so
%{_libdir}/slurm/burst_buffer_generic.so
%{_libdir}/slurm/checkpoint_none.so
@ -739,12 +737,6 @@ exit 0
%{_libdir}/slurm/mcs_group.so
%{_libdir}/slurm/mcs_none.so
%{_libdir}/slurm/mcs_user.so
%{_libdir}/slurm/mpi_lam.so
%{_libdir}/slurm/mpi_mpich1_p4.so
%{_libdir}/slurm/mpi_mpich1_shmem.so
%{_libdir}/slurm/mpi_mpichgm.so
%{_libdir}/slurm/mpi_mpichmx.so
%{_libdir}/slurm/mpi_mvapich.so
%{_libdir}/slurm/mpi_none.so
%{_libdir}/slurm/mpi_openmpi.so
%{_libdir}/slurm/mpi_pmi2.so
@ -783,7 +775,7 @@ exit 0
%{_libdir}/slurm/topology_none.so
%{_libdir}/slurm/topology_tree.so
%if 0%{?suse_version} > 1310
%{_libdir}/slurm/acct_gather_infiniband_ofed.so
%{_libdir}/slurm/acct_gather_interconnect_ofed.so
%endif
%if 0%{?suse_version} > 1140
%ifarch %{ix86} x86_64

View File

@ -1,39 +0,0 @@
Index: slurm-slurm-16-05-8-1/etc/slurmctld.service.in
===================================================================
--- slurm-slurm-16-05-8-1.orig/etc/slurmctld.service.in
+++ slurm-slurm-16-05-8-1/etc/slurmctld.service.in
@@ -8,7 +8,7 @@ Type=forking
EnvironmentFile=-/etc/sysconfig/slurmctld
ExecStart=@sbindir@/slurmctld $SLURMCTLD_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
-PIDFile=/var/run/slurmctld.pid
+PIDFile=/var/run/slurm/slurmctld.pid
[Install]
WantedBy=multi-user.target
Index: slurm-slurm-16-05-8-1/etc/slurmd.service.in
===================================================================
--- slurm-slurm-16-05-8-1.orig/etc/slurmd.service.in
+++ slurm-slurm-16-05-8-1/etc/slurmd.service.in
@@ -8,7 +8,7 @@ Type=forking
EnvironmentFile=-/etc/sysconfig/slurmd
ExecStart=@sbindir@/slurmd $SLURMD_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
-PIDFile=/var/run/slurmd.pid
+PIDFile=/var/run/slurm/slurmd.pid
KillMode=process
LimitNOFILE=51200
LimitMEMLOCK=infinity
Index: slurm-slurm-16-05-8-1/etc/slurmdbd.service.in
===================================================================
--- slurm-slurm-16-05-8-1.orig/etc/slurmdbd.service.in
+++ slurm-slurm-16-05-8-1/etc/slurmdbd.service.in
@@ -8,7 +8,7 @@ Type=forking
EnvironmentFile=-/etc/sysconfig/slurmdbd
ExecStart=@sbindir@/slurmdbd $SLURMDBD_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
-PIDFile=/var/run/slurmdbd.pid
+PIDFile=/var/run/slurm/slurmdbd.pid
[Install]
WantedBy=multi-user.target

View File

@ -1,45 +0,0 @@
From: Egbert Eich <eich@suse.com>
Date: Sun Oct 16 09:07:46 2016 +0200
Subject: slurmd: Fix slurmd for new API in hwloc-2.0
Git-repo: https://github.com/SchedMD/slurm
Git-commit: 2e431ed7fdf7a57c7ce1b5f3d3a8bbedaf94a51d
References:
The API of hwloc has changed considerably for version 2.0.
For a summary check:
https://github.com/open-mpi/hwloc/wiki/Upgrading-to-v2.0-API
Test for the API version to support both the old and new API.
Signed-off-by: Egbert Eich <eich@suse.com>
Signed-off-by: Egbert Eich <eich@suse.de>
---
src/slurmd/common/xcpuinfo.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/slurmd/common/xcpuinfo.c b/src/slurmd/common/xcpuinfo.c
index 4eec6cb..22a47d5 100644
--- a/src/slurmd/common/xcpuinfo.c
+++ b/src/slurmd/common/xcpuinfo.c
@@ -212,8 +212,23 @@ get_cpuinfo(uint16_t *p_cpus, uint16_t *p_boards,
hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM);
/* ignores cache, misc */
+#if HWLOC_API_VERSION < 0x00020000
hwloc_topology_ignore_type (topology, HWLOC_OBJ_CACHE);
hwloc_topology_ignore_type (topology, HWLOC_OBJ_MISC);
+#else
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L1CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L2CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L3CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L4CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_L5CACHE,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+ hwloc_topology_set_type_filter(topology,HWLOC_OBJ_MISC,
+ HWLOC_TYPE_FILTER_KEEP_NONE);
+#endif
/* load topology */
debug2("hwloc_topology_load");