diff --git a/NEWS b/NEWS index 5505616e99ae35b6419b0c46f049346915cbe8bf..39d44a0716ab926909d61fea197d30f10e505f55 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,8 @@ documents those changes that are of interest to users and admins. -- When the optional max_time is not specified for --switches=count, the site max (SchedulerParameters=max_switch_wait=seconds) is used for the job. Based on patch from Rod Schultz. + -- Fix bug in select/cons_res plugin when used with topology/tree and a node + range count in job allocation request. * Changes in SLURM 2.3.4 ======================== diff --git a/src/plugins/select/cons_res/job_test.c b/src/plugins/select/cons_res/job_test.c index 700bf91ee3b89fe69e70f9cb8e2754cf603037ab..e00a4836dda1d7de5f94e7be686d0fca766d90af 100644 --- a/src/plugins/select/cons_res/job_test.c +++ b/src/plugins/select/cons_res/job_test.c @@ -1570,6 +1570,12 @@ static int _eval_nodes_topo(struct job_record *job_ptr, bitstr_t *bitmap, goto fini; } bit_and(avail_nodes_bitmap, switches_bitmap[best_fit_inx]); + if ((min_nodes < req_nodes) && + (min_nodes <= switches_node_cnt[best_fit_inx])) { + /* If job specifies a range of node counts, then allocate + * resources with a minimal switch configuration */ + rem_nodes = switches_node_cnt[best_fit_inx]; + } /* Identify usable leafs (within higher switch having best fit) */ for (j=0; j<switch_record_cnt; j++) {