Ralph Castain wrote:
Yes, but look at orte/mca/plm/rsh/plm_rsh_module.c:
/* ensure that only the ssh plm is selected on the remote daemon */
var = mca_base_param_environ_variable("plm", NULL, NULL);
opal_setenv(var, "rsh", true, &env);
free(var);
This is done in "ssh_child", right before we fork_exec the ssh command
to launch the remote daemon. This is why slave spawn works, for example.
My ssh does not preserve environment variables:
bash-3.2$ export MY_VERY_OWN_ENVIRONMENT_VARIABLE=yes
bash-3.2$ ssh cubbie env | grep MY_VERY_OWN
WARNING: This is a restricted access server. If you do not have explicit
permission to access this server, please disconnect immediately.
Unauthorized access to this system is considered gross misconduct and
may result in disciplinary action, including revocation of SWAN access
privileges, immediate termination of employment, and/or prosecution to
the fullest extent of the law.
bash-3.2$
The rsh man page explicitly states that the local environment is not
passed to the remote shell.
I haven't checked qrsh. Maybe it works with that.
I agree that tree_spawn doesn't seem to work right now, but it is not
due to the plm not being selected.
It was for me. I don't know whether it is because your rsh/ssh work
differently, or for some other reason, but there is no question that my
tree spawn failed because no PLM was loaded.
There are other factors involved.
The other factors that I came across were:
* I didn't have my .ssh/config file set up to forward
authentication. I added a -A flag to the ssh command in
plm_base_rsh_support.
* In plm_rsh_module.c:setup_launch, a NULL orted_cmd made asprintf
crash. I used (orted_cmd == NULL ? "" : orted_cmd) in the call to
asprintf.
Once I fixed those, tree spawning worked for me. (I believe you
mentioned a race condition in another conversation. I haven't run into
that.)
Iain