Fixes trac:487
Give a more intelligible error message when someone passes -nolocal and the only available node is the local node. This commit was SVN r12325. The following Trac tickets were found above: Ticket 487 --> https://svn.open-mpi.org/trac/ompi/ticket/487
Этот коммит содержится в:
родитель
c752502dee
Коммит
894b220fbb
@ -42,3 +42,14 @@ that match the requested mapping:
|
||||
|
||||
OR the requested resources in that mapping have already been consumed. Verify that you have mapped the allocated resources properly using the
|
||||
--host specification.
|
||||
[orte-rmaps-base:nolocal-no-available-resources]
|
||||
There are no available nodes allocated to this job. This could be because
|
||||
no nodes were found or all the available nodes were already used.
|
||||
|
||||
Note that since the -nolocal option was given no processes can be
|
||||
launched on the local node.
|
||||
[orte-rmaps-base:no-available-resources]
|
||||
There are no nodes allocated to this job.
|
||||
[orte-rmaps-base:all-available-resources-used]
|
||||
All nodes which are allocated for this job are already filled.
|
||||
|
||||
|
@ -101,6 +101,7 @@ int orte_rmaps_base_get_target_nodes(opal_list_t *allocated_nodes, orte_jobid_t
|
||||
opal_list_item_t *item, *next;
|
||||
orte_ras_node_t *node;
|
||||
int rc;
|
||||
size_t nodelist_size;
|
||||
orte_std_cntr_t num_slots=0;
|
||||
|
||||
/** set default answer */
|
||||
@ -112,6 +113,8 @@ int orte_rmaps_base_get_target_nodes(opal_list_t *allocated_nodes, orte_jobid_t
|
||||
return rc;
|
||||
}
|
||||
|
||||
nodelist_size = opal_list_get_size(allocated_nodes);
|
||||
|
||||
/* If the "no local" option was set, then remove the local node
|
||||
from the list */
|
||||
if (nolocal) {
|
||||
@ -148,6 +151,20 @@ int orte_rmaps_base_get_target_nodes(opal_list_t *allocated_nodes, orte_jobid_t
|
||||
|
||||
/* Sanity check to make sure we have resources available */
|
||||
if (0 == opal_list_get_size(allocated_nodes)) {
|
||||
/* so there are 3 reasons we could be erroring here:
|
||||
* 1. There were no nodes allocated to this job
|
||||
* 2. The local node was the only one available and nolocal was passed
|
||||
* 3. All the nodes were full */
|
||||
if(0 == nodelist_size) {
|
||||
opal_show_help("help-orte-rmaps-base.txt",
|
||||
"orte-rmaps-base:no-available-resources", true);
|
||||
} else if(nolocal) {
|
||||
opal_show_help("help-orte-rmaps-base.txt",
|
||||
"orte-rmaps-base:nolocal-no-available-resources", true);
|
||||
} else {
|
||||
opal_show_help("help-orte-rmaps-base.txt",
|
||||
"orte-rmaps-base:all-available-resources-used", true);
|
||||
}
|
||||
ORTE_ERROR_LOG(ORTE_ERR_TEMP_OUT_OF_RESOURCE);
|
||||
return ORTE_ERR_TEMP_OUT_OF_RESOURCE;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user