[Buildbot-devel] Is it possible to deploy buildbot to google app engine

Marcus Lindblom macke at yar.nu
Wed Dec 30 10:39:45 UTC 2009


On 2009-12-30 11:27, Dustin Sallings wrote:
>
> On Dec 30, 2009, at 2:17, Marcus Lindblom wrote:
>
>> I think it'd be awesomely cool to run buildbot instances on GAE, but 
>> that would, as I said, require ripping out quite a bit of the 
>> entrails and re-jigger them into something new, that doesn't store 
>> any state in memory for more than the lifetime of the request.
>>
>> The current pickle-system might work on GAE, but we need to 
>> pickle/unpickle a lot (probably too much) on each request. Brian's DB 
>> work would not be applicable, unless it also abstracts the backend 
>> store so much that a non-RDB store is feasible.
>
> There's pretty much no part of GAE that could do proper scheduling of 
> builders.  The slaves would all have to be polling it or something -- 
> or every slave would have to be internet addressable.  That would be 
> an unfortunate loss of functionality either way.
Right. Forgot about that direction.
> XMPP might be a middle man, but XMPP as available to GAE is 
> excessively limited.
If we don't worry about efficiency too much, does it need to be more 
than sending a notification to the slave that new orders are available 
on the master?
>
>>> I made a webhook status notifier and made an excessively simple, but 
>>> event-driven UI here:
>>>
>>> http://bbstatus.appspot.com/
>>>
>>> source code is here:
>>>
>>> http://github.com/dustin/bbstatus
>>>
>>> I'd love to see that be touched by someone who knows how to make UIs 
>>> that make sense.  :)
>>>
>> Interesting work. Does it poll the build-masters regularly to update 
>> the info?
>
> I despise polling.  :)
As do I. :)
>
> It updates as build builders arrive, and as builds and steps start and 
> finish.  The only polling that exists at all is people with web 
> browsers hitting it.
Ah, so you have a notifer on the buildmaster that pushes changes. That 
makes sense.
>
>> Building a web-only-interface for buildbot on GAE should be easy 
>> (if/when we have a HTTP-interface to the DB) and would off-load some 
>> work from the master, so that it could focus on controlling the 
>> slaves and storing results. But, running the entire buildmaster on 
>> GAE would be even cooler. The way GAE scales would make it attractive 
>> to run really large build masters on, handling 100s or thousands of 
>> builds/slaves.
>
> GAE scales in a way that is in conflict with things that aren't web 
> services for the most part.
Well, in my mind BuildBot _is_ mostly a web service (except for the 
continous log output streaming and with some data-push from the server) 
but I might not have the right picture of it.

It seems to me as it's mostly well defined discrete events going back 
and forth. I suppose where it breaks down is where the master notifies 
the slave.

When will a http-push technique be available? It seems as with all the 
AJAX, RSS and similar stuff going on today, there's way too much polling 
going on everywhere.

Cheers,
/Marcus




More information about the devel mailing list