diff options
author | ademmers <ademmers@users.noreply.github.com> | 2017-06-12 21:29:08 +0200 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2018-02-26 11:38:04 -0600 |
commit | fca0cccebf1793068c7386aa832381875a9b1764 (patch) | |
tree | a8ba7f2a9330aa6b2f7e0d97fe8f2cf23d95a3b8 | |
parent | c0d3915bd2f18195185699cfacc4c91877a2da53 (diff) | |
download | ansible-fca0cccebf1793068c7386aa832381875a9b1764.tar.gz |
system/service module initctl location usage (#19712)
* Call initctl version based on initctl's retrieved location
* Remove the use of start/stop/restart in favor of initctl
* Provide correct argument order for initctl usage
-rw-r--r-- | lib/ansible/modules/system/service.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/ansible/modules/system/service.py b/lib/ansible/modules/system/service.py index 7e5199d868..8c6ae75d88 100644 --- a/lib/ansible/modules/system/service.py +++ b/lib/ansible/modules/system/service.py @@ -490,7 +490,7 @@ class LinuxService(Service): self.upstart_version = LooseVersion('0.0.0') try: version_re = re.compile(r'\(upstart (.*)\)') - rc,stdout,stderr = self.module.run_command('initctl version') + rc,stdout,stderr = self.module.run_command('%s version' % location['initctl']) if rc == 0: res = version_re.search(stdout) if res: @@ -498,9 +498,7 @@ class LinuxService(Service): except: pass # we'll use the default of 0.0.0 - if location.get('start', False): - # upstart -- rather than being managed by one command, start/stop/restart are actual commands - self.svc_cmd = '' + self.svc_cmd = location['initctl'] elif location.get('rc-service', False): # service is managed by OpenRC @@ -922,8 +920,13 @@ class LinuxService(Service): arguments = self.arguments if self.svc_cmd: if not self.svc_cmd.endswith("systemctl"): - # SysV and OpenRC take the form <cmd> <name> <action> - svc_cmd = "%s %s" % (self.svc_cmd, self.name) + if self.svc_cmd.endswith("initctl"): + # initctl commands take the form <cmd> <action> <name> + svc_cmd = self.svc_cmd + arguments = "%s %s" % (self.name, arguments) + else: + # SysV and OpenRC take the form <cmd> <name> <action> + svc_cmd = "%s %s" % (self.svc_cmd, self.name) else: # systemd commands take the form <cmd> <action> <name> svc_cmd = self.svc_cmd |