From 9534d71850ca386c6e9dc5da98171778dbc83b39 Mon Sep 17 00:00:00 2001
From: Morris Jette <jette@schedmd.com>
Date: Thu, 25 Jan 2018 11:25:01 -0700
Subject: [PATCH] Enable heterogeneous step support by default

---
 doc/html/heterogeneous_jobs.shtml | 12 +++++-------
 doc/man/man5/slurm.conf.5         |  7 +++----
 src/srun/srun.c                   |  4 +---
 3 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/doc/html/heterogeneous_jobs.shtml b/doc/html/heterogeneous_jobs.shtml
index 09f495b1286..494ada653aa 100644
--- a/doc/html/heterogeneous_jobs.shtml
+++ b/doc/html/heterogeneous_jobs.shtml
@@ -411,12 +411,10 @@ component number zero. Some examples follow:</p>
 </ul>
 
 <p><b>IMPORTANT:</b> The ability to execute a single application across more
-than one job allocation does not work in Slurm version 17.11 except in the
-case of OpenMPI with Slurm's mpi/pmi2 plugin or a non-MPI job with Slurm's
-mpi/none. We expect support for other MPI implementations in a future release
-of Slurm. Until that time, an appropriate error message will be reported unless
-Slurm's SchedulerParameters configuration parameter includes the option
-"enable_hetero_steps".</p>
+than one job allocation does not work with all MPI implementations or Slurm MPI
+plugins. Slurm's ability to execute such an application can be disabled on the
+entire cluster by adding "disable_hetero_steps" to Slurm's SchedulerParameters
+configuration parameter.</p>
 
 <p>By default, the applications launched by a single execution of the srun
 command (even for different components of the heterogeneous job) are combined
@@ -689,6 +687,6 @@ especially other heterogeneous jobs.</p>
 
 <p class="footer"><a href="#top">top</a></p>
 
-<p style="text-align:center;">Last modified 20 December 2017</p>
+<p style="text-align:center;">Last modified 25 January 2018</p>
 
 <!--#include virtual="footer.txt"-->
diff --git a/doc/man/man5/slurm.conf.5 b/doc/man/man5/slurm.conf.5
index 0630deeed1f..b221257de14 100644
--- a/doc/man/man5/slurm.conf.5
+++ b/doc/man/man5/slurm.conf.5
@@ -1,4 +1,4 @@
-.TH "slurm.conf" "5" "Slurm Configuration File" "November 2017" "Slurm Configuration File"
+.TH "slurm.conf" "5" "Slurm Configuration File" "January 2018" "Slurm Configuration File"
 
 .SH "NAME"
 slurm.conf \- Slurm configuration file
@@ -2790,11 +2790,10 @@ will be gigabytes rather than megabytes.
 Users can override the default by using a suffix of "M" for megabytes.
 .TP
 \fBdisable_hetero_steps\fR
-Disable job steps that span heterogeneous job allocations, even with the
-mpi/none plugin.
+Disable job steps that span heterogeneous job allocations.
 .TP
 \fBenable_hetero_steps\fR
-Enable job steps that span heterogeneous job allocations.
+Enable job steps that span heterogeneous job allocations. The default value.
 .TP
 \fBenable_user_top\fR
 Enable use of the "scontrol top" command by non-privileged users.
diff --git a/src/srun/srun.c b/src/srun/srun.c
index 94c19ab1f5a..1847dadcff2 100644
--- a/src/srun/srun.c
+++ b/src/srun/srun.c
@@ -156,15 +156,13 @@ void cfmakeraw(struct termios *attr)
 
 static bool _enable_pack_steps(void)
 {
-	bool enabled = false;
+	bool enabled = true;
 	char *sched_params = slurm_get_sched_params();
 
 	if (sched_params && strstr(sched_params, "disable_hetero_steps"))
 		enabled = false;
 	else if (sched_params && strstr(sched_params, "enable_hetero_steps"))
 		enabled = true;
-	else if (mpi_type && strstr(mpi_type, "none"))
-		enabled = true;
 	xfree(sched_params);
 	return enabled;
 }
-- 
GitLab