[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