[Buildbot-commits] [Buildbot] #2015: master.cfg can not be provisioned with adjacent cfg files as of 0.8.4p1

Buildbot nobody at buildbot.net
Fri Jun 24 15:19:58 UTC 2011


#2015: master.cfg can not be provisioned with adjacent cfg files as of 0.8.4p1
-----------------------+-----------------------
Reporter:  garmstrong  |      Owner:
    Type:  defect      |     Status:  new
Priority:  critical    |  Milestone:  undecided
 Version:  0.8.4p1     |   Keywords:
-----------------------+-----------------------
 The fix for Ticket#1928 breaks the testing/loading of a master.cfg file
 which requires reading in external configuration data from files external
 to BuildBot's master.cfg file but which reside in the same directory.

 The culprit can be found here.
 https://github.com/buildbot/buildbot/commit/e2d9ba79dd2d205d26ad6018d8d97d53a8e28d92/Buildbot

 I have a setup which uses Python ConfigObj to read in configuration data
 to my master.cfg.  This allows generalization of my master.cfg using ini
 style data found in the SIMULAP_external.cfg listed below.  This setup
 worked successful for BuildBot 0.7.8 - > 0.8.3p1.

 {{{
 $ ll
 total 76
 drwxrwxr-x.  6 gareth gareth  4096 Jun 24 15:29 ./
 drwxrwxr-x. 12 gareth gareth  4096 Jun  9 10:22 ../
 -rw-rw-r--.  1 gareth gareth  4239 Apr 12 16:56 fabfile.py
 drwxrwxr-x.  4 gareth gareth  4096 Apr 21 15:09 .hg/
 -rw-rw-r--.  1 gareth gareth   156 Feb 25 15:50 .hgignore
 -rw-rw-r--.  1 gareth gareth 32820 Jun 24 15:29 master.cfg
 drwxrwxr-x.  2 gareth gareth  4096 Mar 18  2010 scripts/
 -rw-rw-r--.  1 gareth gareth  3592 Feb 25 14:06 SIMULAP_external.cfg
 drwxrwxr-x.  2 gareth gareth  4096 Feb 25 00:29 templates/
 }}}

 The following code fixes the issue:

 {{{
 #!diff
 $ git diff
 diff --git a/master/buildbot/scripts/checkconfig.py
 b/master/buildbot/scripts/checkconfig.py
 index b661fe3..9223d61 100644
 --- a/master/buildbot/scripts/checkconfig.py
 +++ b/master/buildbot/scripts/checkconfig.py
 @@ -35,6 +35,14 @@ class ConfigLoader(object):
              # builder directories
              self.tempdir = mkdtemp()
              copy(self.configFileName, self.tempdir)
 +            to_copy = [f for f in os.listdir(".")
 +                       if os.path.isfile(f) and
 +                       not f.startswith("http.log") and
 +                       not f.startswith("state.sqlite") and
 +                       not f.startswith("twistd.log") and
 +                       not f.startswith("twistd.pid")]
 +            for entry in to_copy:
 +                copy(entry, self.tempdir)


 }}}

-- 
Ticket URL: <http://trac.buildbot.net/ticket/2015>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list