diff options
author | Jon Hadfield <jon@lessknown.co.uk> | 2015-02-08 17:02:37 +0000 |
---|---|---|
committer | Jon Hadfield <jon@lessknown.co.uk> | 2015-02-08 18:15:15 +0000 |
commit | b20b29bd1778b0bcf2da8947218b4ad62494e226 (patch) | |
tree | a441f2fe8022d7b0ec6ed86d63a5f45d6fab82e6 | |
parent | 600fc15b42d23d80d7be64e33e3f106a11b45b05 (diff) | |
download | ansible-modules-core-b20b29bd1778b0bcf2da8947218b4ad62494e226.tar.gz |
use is-enabled to check systemd service status.
-rw-r--r-- | system/service.py | 17 |
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 |