From b6a1927f1330a75f794a1163945ec7e22d934f33 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Thu, 15 Jan 2015 15:53:39 -0500 Subject: [PATCH] now allows for case in which someone removed the K* links and is trying to reenable a service --- lib/ansible/modules/system/service.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/ansible/modules/system/service.py b/lib/ansible/modules/system/service.py index 4c93d667476..e9751c10be5 100644 --- a/lib/ansible/modules/system/service.py +++ b/lib/ansible/modules/system/service.py @@ -742,8 +742,8 @@ class LinuxService(Service): if self.enable_cmd.endswith("update-rc.d"): enabled = False - links = glob.glob('/etc/rc?.d/S??' + self.name) - if links: + slinks = glob.glob('/etc/rc?.d/S??' + self.name) + if slinks: enabled = True if self.enable != enabled: @@ -751,6 +751,14 @@ class LinuxService(Service): if self.enable: action = 'enable' + klinks = glob.glob('/etc/rc?.d/K??' + self.name) + if not klinks: + (rc, out, err) = self.execute_command("%s %s defaults" % (self.enable_cmd, self.name)) + if rc != 0: + if err: + self.module.fail_json(msg=err) + else: + self.module.fail_json(msg=out) % (self.enable_cmd, self.name, action) else: action = 'disable'