summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2007-07-20 23:14:00 +0000
committerNarayan Desai <desai@mcs.anl.gov>2007-07-20 23:14:00 +0000
commite9721c26e016a2cbbf3637e850d4d11ef6c463cb (patch)
tree9431caf818415741f5926073803cc1c3df46d1e4 /src/lib
parenta0bd7b9fcd82faa63c7a745798aff5f0f48a9bb6 (diff)
downloadbcfg2-e9721c26e016a2cbbf3637e850d4d11ef6c463cb.tar.gz
bcfg2-e9721c26e016a2cbbf3637e850d4d11ef6c463cb.tar.bz2
bcfg2-e9721c26e016a2cbbf3637e850d4d11ef6c463cb.zip
Switch DebInit to use invoke-rc.d (Resolves Ticket #434)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@3526 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Client/Tools/DebInit.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/lib/Client/Tools/DebInit.py b/src/lib/Client/Tools/DebInit.py
index 2194de702..8ae325730 100644
--- a/src/lib/Client/Tools/DebInit.py
+++ b/src/lib/Client/Tools/DebInit.py
@@ -42,7 +42,7 @@ class DebInit(Bcfg2.Client.Tools.SvcTool):
return False
if entry.get('status') == 'off':
- self.cmd.run("/etc/init.d/%s stop" % (entry.get('name')))
+ 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" % \
@@ -66,3 +66,21 @@ class DebInit(Bcfg2.Client.Tools.SvcTool):
# Extra service removal is nonsensical
# Extra services need to be reflected in the config
return
+
+ def BundleUpdated(self, bundle):
+ '''The Bundle has been updated'''
+ for entry in bundle:
+ if self.handlesEntry(entry):
+ command = "/usr/sbin/invoke-rc.d %s" % entry.get('name')
+ if entry.get('status') == 'on' and not self.setup['build']:
+ self.logger.debug('Restarting service %s' % entry.get('name'))
+ rc = self.cmd.run('%s %s' % \
+ (command, entry.get('name'),
+ entry.get('reload', self.__svcrestart__)))[0]
+ else:
+ self.logger.debug('Stopping service %s' % entry.get('name'))
+ rc = self.cmd.run('%s stop' % \
+ (command, entry.get('name')))[0]
+ if rc:
+ self.logger.error("Failed to restart service %s" % (entry.get('name')))
+