[Buildbot-devel] Changing the master config dynamically

Karoly Kamaras karoly.kamaras at prezi.com
Wed Oct 8 20:55:50 UTC 2014


Thank you all for the quick replies.

@Dan, in fact nothing breaks for me, i haven't implemented it yet, i just
remembered i saw some thread about this reload issue, that Mikhail also
confirmed. My fear is that maybe there are more stuff that need restart and
not just reconfig, as you wrote the builder example (but maybe there
aren't, i don't know yet)

@Mikhail, thanks, that was what i remembered just didn't find it. So this
solution would allow me to run a build while updating another builder in
the same configuration and start a new process while the original one
finishes? In our case it would mean something like this: someone pushes a
change, that starts building module A, and in the same team someone else
updates the build steps of module B, and updates the config (our custom
DSL) in their repo. By pushing it, it should reconfig the master so the new
module B steps would be live, but the module A build would continue and
finish without any issues.

I'll give it a shot anyway, just wanted a clarification.

Thanks again,

*Karoly Kamaras*
Developer at Prezi <http://prezi.com>

On Wed, Oct 8, 2014 at 9:01 PM, Mikhail Sobolev <mss at mawhrin.net> wrote:

> Hi Karoly,
>
> On Wed, Oct 08, 2014 at 07:20:48PM +0200, Karoly Kamaras wrote:
> > I would like to be able to edit the master configuration dynamically
> > without hurting the currently running builds. I know i can reconfigure
> the
> > master without restart, but i also saw that if the configuration is built
> > up by smaller components, like builders, buildsteps, schedulers, etc. in
> > different python files, then changing one file might not affect the
> > reconfig in the expected way.
> This is a "problem" that comes from the Python import system.
>
> The meta-Buildbot (Buildbot that runs behind
> http://buildbot.buildbot.net) might be a good example how to address it.
>
> To put it shortly every time you import your bit:
>
>     import bit
>
> You need to make sure that it's updated in memory:
>
>     import bit
>     reload(bit)
>
> This way every time you run `buildbot checkconfig` or `buildbot
> reconfig` you'll get the latest content of your spread configuration
> bits.
>
> (The complete content of meta-bb is availble at
> https://github.com/buildbot/metabbotcfg/blob/master/master.cfg)
>
> Hope this helps,
>
> --
> Misha
>
>
> ------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
>
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20141008/29bae5c8/attachment.html>


More information about the devel mailing list