Better detection of whether a service is managed by systemd or not.
This commit is contained in:
parent
b58cce4c1f
commit
4d4dbb370f
1 changed files with 7 additions and 3 deletions
10
service
10
service
|
@ -364,8 +364,12 @@ class LinuxService(Service):
|
||||||
# service is managed by upstart
|
# service is managed by upstart
|
||||||
self.enable_cmd = location['update-rc.d']
|
self.enable_cmd = location['update-rc.d']
|
||||||
elif location.get('systemctl', None):
|
elif location.get('systemctl', None):
|
||||||
# service is managed by systemd
|
|
||||||
self.enable_cmd = location['systemctl']
|
# verify service is managed by systemd
|
||||||
|
rc, out, err = self.execute_command("%s --all" % (location['systemctl']))
|
||||||
|
look_for = "%s.service" % self.name
|
||||||
|
if look_for in out:
|
||||||
|
self.enable_cmd = location['systemctl']
|
||||||
|
|
||||||
# Locate a tool for runtime service management (start, stop etc.)
|
# Locate a tool for runtime service management (start, stop etc.)
|
||||||
self.svc_cmd = ''
|
self.svc_cmd = ''
|
||||||
|
@ -447,7 +451,7 @@ class LinuxService(Service):
|
||||||
def service_enable(self):
|
def service_enable(self):
|
||||||
|
|
||||||
if self.enable_cmd is None:
|
if self.enable_cmd is None:
|
||||||
self.module.fail_json(msg='unable to find enable binary')
|
self.module.fail_json(msg='service name not recognized')
|
||||||
|
|
||||||
# FIXME: we use chkconfig or systemctl
|
# FIXME: we use chkconfig or systemctl
|
||||||
# to decide whether to run the command here but need something
|
# to decide whether to run the command here but need something
|
||||||
|
|
Loading…
Reference in a new issue