Ticket #469: bcfg-admin.diff
File bcfg-admin.diff, 1.2 KB (added by desai, 16 years ago) |
---|
-
src/sbin/bcfg2-admin
3 3 4 4 import getopt, difflib, logging, lxml.etree, os, popen2, re, socket, sys, ConfigParser 5 5 import Bcfg2.Server.Core, Bcfg2.Logging, Bcfg2.tlslite.api 6 import xml.sax.saxutils 6 import xml.sax.saxutils, binascii 7 7 8 8 log = logging.getLogger('bcfg-admin') 9 9 … … 313 313 if not entry: 314 314 err_exit("Could not find state data for entry; rerun bcfg2 on client system") 315 315 316 diff = entry[0].get('current_diff') 316 if 'current_bdiff' in entry[0].attrib: 317 diff = binascii.a2b_base64(entry[0].get('current_bdiff')) 318 else: 319 diff = entry[0].get('current_diff') 317 320 318 321 try: 319 322 bcore = Bcfg2.Server.Core.Core({}, cfile) … … 331 334 err_exit("Got wrong numbers of matching generators for entry:" \ 332 335 + "%s" % ([g.__name__ for g in glist])) 333 336 plugin = glist[0] 337 if diff == None: 338 err_exit("Failed to locate diff\nStatistics entry was:\n%s" % lxml.etree.tostring(entry[0])) 334 339 try: 335 340 plugin.AcceptEntry(m, 'ConfigFile', ename, diff) 336 341 except Bcfg2.Server.Plugin.PluginExecutionError: