From 516ed4d7bc5d26a655d453e46f7bacbd5619cecb Mon Sep 17 00:00:00 2001 From: Pilou Date: Wed, 8 Aug 2018 18:53:28 +0200 Subject: [PATCH] [stable-2.6] Fix 2 issues in sysvinit module (backport/2.6/42786) (#43831) * Fix 2 issues in sysvinit module (#42786) * Do not compare result to unset parameter in sysvinit module * Fix misformed command in sysvinit module * Small None-comparison style fix in sysvinit module (cherry picked from commit f26272a492b533ddad65f1fd4bbe8ca4c46b8bba) * Update changelog --- changelogs/fragments/42786-sysvinit-fix-2-issues.yml | 4 ++++ lib/ansible/modules/system/sysvinit.py | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/42786-sysvinit-fix-2-issues.yml diff --git a/changelogs/fragments/42786-sysvinit-fix-2-issues.yml b/changelogs/fragments/42786-sysvinit-fix-2-issues.yml new file mode 100644 index 00000000000..8b260d3efb1 --- /dev/null +++ b/changelogs/fragments/42786-sysvinit-fix-2-issues.yml @@ -0,0 +1,4 @@ +bugfixes: +- "sysvinit module: handle values of optional parameters (https://github.com/ansible/ansible/pull/42786). + Don't disable service when `enabled` parameter isn't set. + Fix command when `arguments` parameter isn't set." diff --git a/lib/ansible/modules/system/sysvinit.py b/lib/ansible/modules/system/sysvinit.py index 95c1fe6bcee..c39e2866ec1 100644 --- a/lib/ansible/modules/system/sysvinit.py +++ b/lib/ansible/modules/system/sysvinit.py @@ -259,7 +259,7 @@ def main(): elif location.get('chkconfig'): (rc, out, err) = module.run_command("%s --level %s %s off" % (location['chkconfig'], ''.join(runlevels), name)) else: - if enabled != runlevel_status["enabled"]: + if enabled is not None and enabled != runlevel_status["enabled"]: result['changed'] = True result['status']['enabled']['changed'] = True @@ -300,7 +300,9 @@ def main(): def runme(doit): - cmd = "%s %s %s %s" % (script, doit, name, module.params['arguments']) + args = module.params['arguments'] + cmd = "%s %s %s" % (script, doit, "" if args is None else args) + # how to run if module.params['daemonize']: (rc, out, err) = daemonize(cmd)