[Buildbot-devel] Add "latent slave" capability to buildbot (e.g., on-demand ec2 slaves)

Jean-Paul Calderone exarkun at divmod.com
Wed Jan 7 02:50:56 UTC 2009


On Tue, 06 Jan 2009 10:19:41 -0500, Gary Poster <gary.poster at canonical.com> wrote:
>We (Canonical/Launchpad) are interested in adding what I'm calling
>"latent slaves" to buildbot--a class of slaves that can start up
>external machines like Amazon EC2 boxes when a test needs to be run.
>
> [snip]
>
>Discussion:
>
>- (re: 1. [MINIMAL]) The slickest way to set up a real slave would be to
>have the LatentBuildSlave install buildbot on the image itself, but that
>sets up a lot of expectations that would be difficult to fulfill across
>operating systems.  A simpler improvement to the minimal approach is to
>have a convention for images to follow--some mechanism to send botname,
>password, master ip, and port to an instance, and to ask the image's
>buildbot to start up.  A Twisted pb server waiting for data?  Or perhaps
>you provide a configuration script to the buildslave?  I think I'll
>start with the minimal approach and see what develops.

I don't know if this helps at all, but keep in mind that PB is basically
symmetric.  If you can connect to a process running on the newly booted
instance, then you're essentially done as far as connection setup needs
go.  It would take a little bit of tweaking to get a regular client/server
conversation going over such a reverse connection, but it really should be
just a little.  Then you can skip the step where you tell the slave the
botname, password, master ip, and port number (although perhaps you want
the slave to have a shared secret so it will only talk to your master).

Jean-Paul




More information about the devel mailing list