Accepting request 587092 from home:eeich:branches:network:cluster

- Update slurm to v17.11.4 (FATE#325451)
  * Link dynamically to libslurm.so to reduce footprint
    of all binaries.
  * 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.

OBS-URL: https://build.opensuse.org/request/show/587092
OBS-URL: https://build.opensuse.org/package/show/network:cluster/slurm?expand=0&rev=44
This commit is contained in:
Egbert Eich 2018-03-15 07:03:02 +00:00 committed by Git OBS Bridge
parent d6c16c524d
commit 23b2a195ba
7 changed files with 29 additions and 150 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.4.tar.bz2 Normal file
View File

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

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Wed Mar 14 19:34:58 UTC 2018 - eich@suse.com
- Update slurm to v17.11.4 (FATE#325451)
* Link dynamically to libslurm.so to reduce footprint
of all binaries.
* 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.
-------------------------------------------------------------------
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.4
# so-version is 0 and seems to be stable
%define pmi_so 0
@ -65,10 +65,7 @@ Url: https://computing.llnl.gov/linux/slurm/
Source: https://download.schedmd.com/slurm/%{name}-%{ver}.tar.bz2
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 +147,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 +312,6 @@ for the slurm daemons.
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
%configure --enable-shared \
@ -391,6 +384,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:
@ -695,6 +690,7 @@ exit 0
%defattr(-,root,root)
%{_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 +700,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 +735,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 +773,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");