diff --git a/plugins-cgroup-Fix-slurmd-for-new-API-in-hwloc-2.0.patch b/plugins-cgroup-Fix-slurmd-for-new-API-in-hwloc-2.0.patch deleted file mode 100644 index 8921ea9..0000000 --- a/plugins-cgroup-Fix-slurmd-for-new-API-in-hwloc-2.0.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Egbert Eich -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 -Signed-off-by: Egbert Eich ---- - 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__); diff --git a/slurm-17.02.9.tar.bz2 b/slurm-17.02.9.tar.bz2 deleted file mode 100644 index 608710f..0000000 --- a/slurm-17.02.9.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:faf4704505dfc5b6fa199f099d36dbc3d23faf149251f36672631dbbbe3b1b71 -size 6053443 diff --git a/slurm-17.11.5.tar.bz2 b/slurm-17.11.5.tar.bz2 new file mode 100644 index 0000000..0216cff --- /dev/null +++ b/slurm-17.11.5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39f5c53bc101909494c4abc1fb47a8cd86cba16ec77503aa9e994c11bef7f01d +size 6248551 diff --git a/slurm-rpmlintrc b/slurm-rpmlintrc new file mode 100644 index 0000000..67a37bf --- /dev/null +++ b/slurm-rpmlintrc @@ -0,0 +1,2 @@ +addFilter(".*obsolete-not-provided slurm-sched-wiki.*") +addFilter(".*obsolete-not-provided slurmdb-direct.*") diff --git a/slurm.changes b/slurm.changes index a395a8d..852c3a2 100644 --- a/slurm.changes +++ b/slurm.changes @@ -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 diff --git a/slurm.spec b/slurm.spec index c82bb08..c481042 100644 --- a/slurm.spec +++ b/slurm.spec @@ -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 < /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 diff --git a/slurmctld-service-var-run-path.patch b/slurmctld-service-var-run-path.patch deleted file mode 100644 index b115018..0000000 --- a/slurmctld-service-var-run-path.patch +++ /dev/null @@ -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 diff --git a/slurmd-Fix-slurmd-for-new-API-in-hwloc-2.0.patch b/slurmd-Fix-slurmd-for-new-API-in-hwloc-2.0.patch deleted file mode 100644 index 91b6874..0000000 --- a/slurmd-Fix-slurmd-for-new-API-in-hwloc-2.0.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Egbert Eich -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 -Signed-off-by: Egbert Eich ---- - 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");