[Starcluster] connection.execute behavior

Dan Yamins dyamins at gmail.com
Fri Apr 16 08:04:31 EDT 2010


Here are two places where behavior of executing a command via
connection.execute is different from executing it at the actual shell,
causing trouble:


1) I can run this command fine at the actual shell of one of my node, when
logged in as root:

   su gotdata -c "ssh -f -N -L 27017:localhost:27017
gotdata at ec2-184-73-101-141.compute-1.amazonaws.com"

It runs, returns without  blocking, doing exactly what I want (establishing
an ssh tunnel from one node to another on port 27017).

But when I try to execute this command over the execute method in the
starcluster shell, it DOES block:

   solr_conn.execute('su gotdata -c "ssh -f -N -L 27017:localhost:27017
gotdata at ec2-184-73-101-141.compute-1.amazonaws.com"')

... and only returns when I manually kill the ssh tunnel that it starts.
What should I do to get what I want?


2) The same command, minus the su part, runs fine at the actual shell:

   ssh -f -N -L 27017:localhost:27017
gotdata at ec2-184-73-101-141.compute-1.amazonaws.com

but when I run this command via the execute method, it fails:

   In [31]: solr_conn.execute('ssh -f -N -L 27017:localhost:27017
gotdata at ec2-184-73-101-141.compute-1.amazonaws.com')
   Out[31]: ['Host key verification failed.']

Why is the behavior different?


Thanks,
Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/starcluster/attachments/20100416/25e635d0/attachment.htm


More information about the StarCluster mailing list