Skip to content
Snippets Groups Projects
Commit d0453c8f authored by Moe Jette's avatar Moe Jette
Browse files

Insure that nodes select in "srun --will-run" command or the equivalent in

    sched/wiki2 are in the job's partition.
parent 8fa3fe25
No related branches found
No related tags found
No related merge requests found
......@@ -38,6 +38,8 @@ documents those changes that are of interest to users and admins.
-- Fix bug in processing job feature requests with node counts (could fail
to schedule job if some nodes have not associated features).
-- Added nodecnt and gid to jobcomp/script
-- Insure that nodes select in "srun --will-run" command or the equivalent in
sched/wiki2 are in the job's partition.
* Changes in SLURM 1.3.1
========================
......
......@@ -206,10 +206,22 @@ static char * _will_run_test(uint32_t *jobid, time_t *start_time,
error("wiki: Attempt to set invalid available node "
"list for job %u, %s", jobid[i], node_list[i]);
break;
} else {
/* Only consider nodes that are not DOWN or DRAINED */
bit_and(avail_bitmap, avail_node_bitmap);
}
/* Only consider nodes that are not DOWN or DRAINED */
bit_and(avail_bitmap, avail_node_bitmap);
/* Consider only nodes in this job's partition */
if (part_ptr->node_bitmap)
bit_and(avail_bitmap, part_ptr->node_bitmap);
else {
*err_code = -730;
*err_msg = "Job's partition has no nodes";
error("wiki: no nodes in partition %s for job %u",
part_ptr->name, jobid[i]);
break;
}
if (job_req_node_filter(job_ptr, avail_bitmap) !=
SLURM_SUCCESS) {
/* Job probably has invalid feature list */
......
......@@ -791,11 +791,17 @@ extern int job_start_data(job_desc_msg_t *job_desc_msg,
} else if (node_name2bitmap(job_desc_msg->req_nodes, false,
&avail_bitmap) != 0) {
return ESLURM_INVALID_NODE_NAME;
} else {
/* Only consider nodes that are not DOWN or DRAINED */
bit_and(avail_bitmap, avail_node_bitmap);
}
/* Only consider nodes that are not DOWN or DRAINED */
bit_and(avail_bitmap, avail_node_bitmap);
/* Consider only nodes in this job's partition */
if (part_ptr->node_bitmap)
bit_and(avail_bitmap, part_ptr->node_bitmap);
else
rc = ESLURM_REQUESTED_PART_CONFIG_UNAVAILABLE;
if (job_req_node_filter(job_ptr, avail_bitmap))
rc = ESLURM_REQUESTED_PART_CONFIG_UNAVAILABLE;
if (job_ptr->details->exc_node_bitmap) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment