Modify

Ticket #17 (closed defect: fixed)

Opened 13 years ago

Last modified 12 years ago

Server Side Bundler Traceback

Reported by: leggett@… 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:

[leggett@compute-3 ~]$ 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 13 years ago by desai

  • Status changed from new to assigned
  • Component changed from bcfg2-client to bcfg2-server
  • Description modified (diff)

comment:2 Changed 13 years ago by desai

  • Description modified (diff)

comment:3 Changed 13 years ago by desai

  • Description modified (diff)

comment:4 Changed 13 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 13 years ago by desai

  • Summary changed from Traceback to Server Side Bundler Traceback

comment:6 Changed 13 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 13 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)

WARNING! You need to establish a session before you can create or edit tickets. Otherwise the ticket will get treated as spam.

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.