summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Client/Frame.py7
-rw-r--r--src/lib/Client/Tools/DebInit.py8
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):