diff --git a/NEWS b/NEWS index 2b302e83a6629f94a4dc496f0fea849c5c51cb3b..24d56f94999a8428e50566dff7e5f847e289dd66 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,8 @@ documents those changes that are of interest to users and admins. -- Add NodeCnt to filetxt job completion plugin. -- Minor restructuring of how MMCS is polled for DOWN nodes and switches. -- Fix squeue output format for "%s" (node select data). + -- Queue job requesting more resources than exist in a partition if + that partition's state is DOWN (rather than just abort it). * Changes in SLURM 0.4.4 ======================== diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 3e34752d7c91250b4646b32de3b015e79c60fdb2..50df83f02003557678fecd62c0711f959cb9045e 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -1630,14 +1630,16 @@ static int _job_create(job_desc_msg_t * job_desc, int allocate, int will_run, #endif if (job_desc->max_nodes == NO_VAL) job_desc->max_nodes = 0; - if (job_desc->num_procs > part_ptr->total_cpus) { + if ((part_ptr->state_up) + && (job_desc->num_procs > part_ptr->total_cpus)) { info("Job requested too many cpus (%d) of partition %s(%d)", job_desc->num_procs, part_ptr->name, part_ptr->total_cpus); error_code = ESLURM_TOO_MANY_REQUESTED_CPUS; goto cleanup; } - if (job_desc->min_nodes > part_ptr->total_nodes) { + if ((part_ptr->state_up) + && (job_desc->min_nodes > part_ptr->total_nodes)) { info("Job requested too many nodes (%d) of partition %s(%d)", job_desc->min_nodes, part_ptr->name, part_ptr->total_nodes);