Ticket #17 (closed defect: fixed)
Server Side Bundler Traceback
Reported by: | [email protected]… | Owned by: | desai |
---|---|---|---|
Priority: | major | Milestone: | Bcfg2 0.8.1 Release |
Component: | bcfg2-server | Version: | |
Keywords: | Cc: |
Description (last modified by desai) (diff)
On the client I get this:
[[email protected] ~]$ sudo /usr/sbin/bcfg2 -q -n -v -d Password: bcfg2[debug]: dryrun => True bcfg2[debug]: verbose => True bcfg2[debug]: quick => True bcfg2[debug]: debug => True bcfg2[debug]: no retries provided, reading setup info from /etc/bcfg2.conf bcfg2[debug]: retries => 6 bcfg2[debug]: dryrun => True bcfg2[debug]: verbose => True bcfg2[debug]: server => https://ci-www.uchicago.edu:6789 bcfg2[debug]: quick => True bcfg2[debug]: debug => True bcfg2[debug]: password => 1qaz2wsx3edc bcfg2[debug]: user => root bcfg2[debug]: Attempting probe download (1 of 6) bcfg2[debug]: probe download completed successfully bcfg2[debug]: Attempting probe data upload (1 of 6) bcfg2[debug]: probe data upload completed successfully bcfg2[debug]: Attempting configuration download (1 of 6) bcfg2[debug]: configuration download completed successfully Fatal error: server error: None
On the server I get this:
Feb 15 14:03:08 ci-www Bcfg2.Core[26563]: error in GetStructures Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/Bcfg2/Server/Core.py", line 275, in BuildConfiguration structures = self.GetStructures(meta) File "/usr/lib/python2.3/site-packages/Bcfg2/Server/Core.py", line 241, in GetStructures [struct.BuildStructures(metadata) for struct in self.structures]) File "/usr/lib/python2.3/site-packages/Bcfg2/Server/Plugins/Bundler.py", line 30, in BuildStructures [bundle.append(copy.deepcopy(item)) File "/usr/lib/python2.3/site-packages/Bcfg2/Server/Plugin.py", line 195, in Match return reduce(lambda x, y:x+y, [frag for (pred, frag) in self.fragments.iteritems() TypeError: reduce() of empty sequence with no initial value
Attachments
Change History
comment:1 Changed 17 years ago by desai
- Status changed from new to assigned
- Component changed from bcfg2-client to bcfg2-server
- Description modified (diff)
comment:4 Changed 17 years ago by desai
- Milestone set to Bcfg2 0.8.1 Release
Does your repository validate? It looks like there is a bundle that is empty (or something like that) (We should handle this properly, but it looks like that is the root cause here)
comment:5 Changed 17 years ago by desai
- Summary changed from Traceback to Server Side Bundler Traceback
comment:6 Changed 17 years ago by desai
I think that this patch should make it handling things cleanly.
Index: Plugin.py =================================================================== --- Plugin.py (revision 1722) +++ Plugin.py (working copy) @@ -192,8 +192,11 @@
def Match(self, metadata):
Return matching fragments of independant
- return reduce(lambda x, y:x+y, [frag for (pred, frag) in self.fragments.iteritems()
- if pred(metadata)])
+ matching = [frag for (pred, frag) in self.fragments.iteritems() if pred(metadata)] + if matching: + return reduce(lambda x, y:x+y, matching) + logger.error("File %s got null match" % (self.name)) + return []
class LNode:
LNodes provide lists of things available at a particular group intersection
comment:7 Changed 17 years ago by desai
- Status changed from assigned to closed
- Resolution set to fixed
Root cause was a non-parseable bundle. This server side problem is fixed in [25cbe5f6b72a089e36ded5dcb4286c5c4ed228d4] (SVN r1741)