@@ -151,7 +151,7 @@ int orte_odls_base_default_get_add_procs_data(opal_buffer_t *buffer,
151
151
char * nidmap ;
152
152
orte_proc_t * dmn , * proc ;
153
153
opal_value_t * val = NULL , * kv ;
154
- opal_list_t * modex ;
154
+ opal_list_t * modex , ilist ;
155
155
int n ;
156
156
157
157
/* get the job data pointer */
@@ -432,11 +432,31 @@ int orte_odls_base_default_get_add_procs_data(opal_buffer_t *buffer,
432
432
433
433
/* get any application prep info */
434
434
if (NULL != opal_pmix .server_setup_application ) {
435
+ OBJ_CONSTRUCT (& ilist , opal_list_t );
436
+ /* request to allocate network resources */
437
+ kv = OBJ_NEW (opal_value_t );
438
+ kv -> key = strdup (OPAL_PMIX_ALLOC_NETWORK_ID );
439
+ kv -> type = OPAL_STRING ;
440
+ asprintf (& kv -> data .string , "%s.net" , ORTE_JOBID_PRINT (jdata -> jobid ));
441
+ opal_list_append (& ilist , & kv -> super );
442
+ /* ask for security keys */
443
+ kv = OBJ_NEW (opal_value_t );
444
+ kv -> key = strdup (OPAL_PMIX_ALLOC_NETWORK_SEC_KEY );
445
+ kv -> type = OPAL_BOOL ;
446
+ kv -> data .flag = true;
447
+ opal_list_append (& ilist , & kv -> super );
448
+ /* ask for envars to be forwarded */
449
+ kv = OBJ_NEW (opal_value_t );
450
+ kv -> key = strdup (OPAL_PMIX_SETUP_APP_ENVARS );
451
+ kv -> type = OPAL_BOOL ;
452
+ kv -> data .flag = true;
453
+ opal_list_append (& ilist , & kv -> super );
435
454
/* we don't want to block here because it could
436
455
* take some indeterminate time to get the info */
437
- if (OPAL_SUCCESS != (rc = opal_pmix .server_setup_application (jdata -> jobid , NULL , setup_cbfunc , jdata ))) {
456
+ if (OPAL_SUCCESS != (rc = opal_pmix .server_setup_application (jdata -> jobid , & ilist , setup_cbfunc , jdata ))) {
438
457
ORTE_ERROR_LOG (rc );
439
458
}
459
+ OPAL_LIST_DESTRUCT (& ilist );
440
460
return rc ;
441
461
}
442
462
0 commit comments