1
1

Update ORTE to allocate network resources

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
Ralph Castain 2018-09-13 08:54:39 -07:00
родитель 466cad6cb2
Коммит f18954d2d5

Просмотреть файл

@ -151,7 +151,7 @@ int orte_odls_base_default_get_add_procs_data(opal_buffer_t *buffer,
char *nidmap; char *nidmap;
orte_proc_t *dmn, *proc; orte_proc_t *dmn, *proc;
opal_value_t *val = NULL, *kv; opal_value_t *val = NULL, *kv;
opal_list_t *modex; opal_list_t *modex, ilist;
int n; int n;
/* get the job data pointer */ /* get the job data pointer */
@ -432,11 +432,31 @@ int orte_odls_base_default_get_add_procs_data(opal_buffer_t *buffer,
/* get any application prep info */ /* get any application prep info */
if (NULL != opal_pmix.server_setup_application) { if (NULL != opal_pmix.server_setup_application) {
OBJ_CONSTRUCT(&ilist, opal_list_t);
/* request to allocate network resources */
kv = OBJ_NEW(opal_value_t);
kv->key = strdup(OPAL_PMIX_ALLOC_NETWORK_ID);
kv->type = OPAL_STRING;
asprintf(&kv->data.string, "%s.net", ORTE_JOBID_PRINT(jdata->jobid));
opal_list_append(&ilist, &kv->super);
/* ask for security keys */
kv = OBJ_NEW(opal_value_t);
kv->key = strdup(OPAL_PMIX_ALLOC_NETWORK_SEC_KEY);
kv->type = OPAL_BOOL;
kv->data.flag = true;
opal_list_append(&ilist, &kv->super);
/* ask for envars to be forwarded */
kv = OBJ_NEW(opal_value_t);
kv->key = strdup(OPAL_PMIX_SETUP_APP_ENVARS);
kv->type = OPAL_BOOL;
kv->data.flag = true;
opal_list_append(&ilist, &kv->super);
/* we don't want to block here because it could /* we don't want to block here because it could
* take some indeterminate time to get the info */ * take some indeterminate time to get the info */
if (OPAL_SUCCESS != (rc = opal_pmix.server_setup_application(jdata->jobid, NULL, setup_cbfunc, jdata))) { if (OPAL_SUCCESS != (rc = opal_pmix.server_setup_application(jdata->jobid, &ilist, setup_cbfunc, jdata))) {
ORTE_ERROR_LOG(rc); ORTE_ERROR_LOG(rc);
} }
OPAL_LIST_DESTRUCT(&ilist);
return rc; return rc;
} }