[Buildbot-devel] [buildbot-devel] can a slave step purposelycause master to do reconfig?

Dustin J. Mitchell dustin at zmanda.com
Fri Jun 26 23:58:31 UTC 2009


On Fri, Jun 26, 2009 at 7:40 PM, Gavin<gavin at 16degrees.com.au> wrote:
> Each project has its own config file called from master.cfg so projects can
> make their own changes to their own builds, having the script utilise
> 'buildbot reconfig' to apply those changes from SVN (meaning project
> committers don't need access to the master/slaves directly) is an essential
> ingredient; and one that hasn't let us down yet.

I'm impressed!  There are a lot of potential problems with reconfig,
but I expect that most of them are deterministic.  If your config is
simple and does not include any separate modules or other Pythonic
stuff, then reconfig will work.  It will probably work if you define a
few BuildStep subclasses in your config file, too.  But we recently
had a case recently of the reconfigs causing re-creation of class
objects with the same name, and subsequent inheritance problems
(because UserClass was an instance of one BbotClass class object, but
was calling __init__ from another class object).

What worries me is that such edge cases are not obvious and can cause
some very strange results.  Since configs tend to slowly grow in
complexity, I suspect that most uses of reconfig will eventually
encounter such an edge case and reconfig will cease to be useful,
probably spawning a "what the heck is going on??" email to the list.
So I try to dissuade folks from depending too heavily on reconfig.

Dustin

-- 
Open Source Storage Engineer
http://www.zmanda.com




More information about the devel mailing list