[Buildbot-devel] Has anyone looked at changing buildbot to use ssh to connect to the slaves?

john gale john at smadness.com
Wed Mar 26 06:08:05 UTC 2008

On Mar 25, 2008, at 10:59 PM, Chad Reese wrote:

> For every slave you need to specify a name and password. It seems it
> would be easy for the base shell command class to expect slave names  
> of
> the form "user at host" and either use key authentication or the supplied
> slave password. ssh gives you both stdout and stderr as separate
> streams. scp could easily transfer files to implement the file
> upload/download steps. Pinging a slave could simply perform a "ssh
> user at slave echo Alive". Environment variables can be passed with "ssh
> host NAME=VALUE command ...".

One of the advantages of using a "connect to master" setup instead of  
a "master talks to slave" setup is that you can have an admin / client  
scenario where the master control person tells his/her team that they  
can connect to xx.example.com with the password "howdy" if they want  
to lend their machine to the build system.

I think this would be slightly more efficient than having to setup ssh  
keys into every slave that needs to be connected to the system.  Using  
ssh would also require that with every clean install of the slave, new  
ssh keys will have to be set up from the master (or at least RSA auth  
disabled, and a private ssh key passed around somewhere).

To some degree it does seem a bit more intuitive to use ssh, but  
running the buildbot slave process under the GUI is a powerful way to  
run tests.  Say, on Mac OS X, you can't ssh into a machine and easily  
connect to the GUI security session to run tests on a GUI process.   
It's easier to set up a launchd plist on the slave, run in the GUI  
session, which then requests tests to run from the master.

I'd certainly be interested in hearing other opinions, though.

	~ john

support the arts!

updated October 12, 2005

More information about the devel mailing list