diff --git a/src/slurmctld/proc_req.c b/src/slurmctld/proc_req.c index b9449f040ac7a4869b30058e71f8868ee5259e2f..cb8aaaa93eb054da3e310b1733c9e27a78f657ff 100644 --- a/src/slurmctld/proc_req.c +++ b/src/slurmctld/proc_req.c @@ -1368,6 +1368,22 @@ static void _slurm_rpc_allocate_pack(slurm_msg_t * msg) break; } + /* + * Old versions of Slurm don't work with het jobs and Cray + * This can be removed 2 versions after 19.05. + */ + if ((msg->protocol_version < SLURM_19_05_PROTOCOL_VERSION) && + ((job_desc_msg->select_jobinfo->plugin_id == + SELECT_PLUGIN_CRAY_LINEAR) || + (job_desc_msg->select_jobinfo->plugin_id == + SELECT_PLUGIN_CRAY_CONS_RES) || + (job_desc_msg->select_jobinfo->plugin_id == + SELECT_PLUGIN_CRAY_CONS_TRES))) { + err_msg = xstrdup("Het jobs from old Slurm versions are not possible"); + error_code = SLURM_PROTOCOL_VERSION_ERROR; + break; + } + /* use the credential to validate where we came from */ if (hostname) { xfree(job_desc_msg->alloc_node);