summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Hadfield <jon@lessknown.co.uk>2015-02-08 17:02:37 +0000
committerJon Hadfield <jon@lessknown.co.uk>2015-02-08 18:15:15 +0000
commitb20b29bd1778b0bcf2da8947218b4ad62494e226 (patch)
treea441f2fe8022d7b0ec6ed86d63a5f45d6fab82e6
parent600fc15b42d23d80d7be64e33e3f106a11b45b05 (diff)
downloadansible-modules-core-b20b29bd1778b0bcf2da8947218b4ad62494e226.tar.gz
use is-enabled to check systemd service status.
-rw-r--r--system/service.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/system/service.py b/system/service.py
index e1bd250a..2ea3d9c9 100644
--- a/system/service.py
+++ b/system/service.py
@@ -478,6 +478,12 @@ class LinuxService(Service):
if location.get('initctl', False):
self.svc_initctl = location['initctl']
+ def get_systemd_service_enabled(self):
+ (rc, out, err) = self.execute_command("%s is-enabled %s" % (self.enable_cmd, self.__systemd_unit,))
+ if rc == 0:
+ return True
+ return False
+
def get_systemd_status_dict(self):
(rc, out, err) = self.execute_command("%s show %s" % (self.enable_cmd, self.__systemd_unit,))
if rc != 0:
@@ -692,12 +698,11 @@ class LinuxService(Service):
action = 'disable'
# Check if we're already in the correct state
- d = self.get_systemd_status_dict()
- if "UnitFileState" in d:
- if self.enable and d["UnitFileState"] == "enabled":
- self.changed = False
- elif not self.enable and d["UnitFileState"] == "disabled":
- self.changed = False
+ service_enabled = self.get_systemd_service_enabled()
+ if self.enable and service_enabled:
+ self.changed = False
+ elif not self.enable and not service_enabled:
+ self.changed = False
elif not self.enable:
self.changed = False