[devel at bb.net] Latent SSH Builder

Amar Takhar verm at darkbeer.org
Wed Dec 16 14:15:55 UTC 2015


On 2015-12-16 14:06 +0100, Thomas Heller wrote:
> Hi all,
> 
> I wanted to probe interest/opinions/directions for a possible
> implementation of running the buildsteps over a latent SSH connection to
> a given server.

I have successfully implemented this for one company.  Unfortunately I ran out of 
time / motivation to liberate this code by rewriting it for the public Buildbot 
source.

You can see me hacking around at:

  https://github.com/verm/buildbot/tree/sshslave

What I did was hack a slave called an 'SSHSlave' which would:

  * Manage SSH connections in a pool
  * Have a set of rewritten commands to do all Slave operations, eg:
    * Copy a file
    * Tail a log
    * Upload/Download files
    * Execute commands and read stdout

(Using the name Worker instead of Slave from now on)

The original implementation was a huge hack of the Master it removed the concept 
of having a Worker entirely.  The new one is different a Worker still connects 
to the Master but manages the SSH connections remotely.  This has the advantage 
of being able to have multiple Workers in remote locations that use SSH locally.

Connections were done via SSH keys and kept persistent.  Any new builds would 
pick a new connection from the 'pool.  So if you had 5 machines each machine 
would have at least 3-6 connections to it depending on how many logs were being 
watched.


Amar.


More information about the devel mailing list