diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Client/Frame.py | 7 | ||||
-rw-r--r-- | src/lib/Client/Tools/DebInit.py | 8 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/lib/Client/Frame.py b/src/lib/Client/Frame.py index b19594402..b341d65fd 100644 --- a/src/lib/Client/Frame.py +++ b/src/lib/Client/Frame.py @@ -61,10 +61,15 @@ class Frame: for tool in tools: tool_class = "Bcfg2.Client.Tools.%s" % tool try: - tclass[tool] = getattr(__import__(tool_class, globals(), locals(), ['*']), + tclass[tool] = getattr(__import__(tool_class, globals(), + locals(), ['*']), tool) except ImportError: continue + except: + self.logger.error("Tool %s unexpectedly failed to load" % tool, + exc_info=1) + for tool in tclass.values(): try: diff --git a/src/lib/Client/Tools/DebInit.py b/src/lib/Client/Tools/DebInit.py index 9f52861a4..a07ffb08c 100644 --- a/src/lib/Client/Tools/DebInit.py +++ b/src/lib/Client/Tools/DebInit.py @@ -45,8 +45,12 @@ class DebInit(Bcfg2.Client.Tools.SvcTool): self.cmd.run("/usr/sbin/invoke-rc.d %s stop" % (entry.get('name'))) cmdrc = self.cmd.run("/usr/sbin/update-rc.d -f %s remove" % entry.get('name'))[0] else: - cmdrc = self.cmd.run("/usr/sbin/update-rc.d %s defaults" % \ - (entry.get('name')))[0] + if entry.get('start', False): + cmd = "/usr/sbin/update-rc.d %%s start %s 2 3 4 5 . stop %s 0 1 6" + cmd = cmd % (entry.get('start'), entry.get('stop', '20')) + else: + cmd = "/usr/sbin/update-rc.d %s defaults" + cmdrc = self.cmd.run(cmd % (entry.get('name')))[0] return cmdrc == 0 def FindExtra(self): |