Fixes ignoreerrors not working with sysctl_set

(cherry picked from commit 7358bf88e2)
This commit is contained in:
Strahinja Kustudić 2016-12-09 22:44:04 +01:00 committed by Toshio Kuratomi
parent f15e1f25ae
commit 0dc890fbac

View file

@ -250,8 +250,17 @@ class SysctlModule(object):
if self.platform == 'openbsd': if self.platform == 'openbsd':
# openbsd doesn't accept -w, but since it's not needed, just drop it # openbsd doesn't accept -w, but since it's not needed, just drop it
thiscmd = "%s %s=%s" % (self.sysctl_cmd, token, value) thiscmd = "%s %s=%s" % (self.sysctl_cmd, token, value)
elif self.platform == 'freebsd':
ignore_missing = ''
if self.args['ignoreerrors']:
ignore_missing = '-i'
# freebsd doesn't accept -w, but since it's not needed, just drop it
thiscmd = "%s %s %s=%s" % (self.sysctl_cmd, ignore_missing, token, value)
else: else:
thiscmd = "%s -w %s=%s" % (self.sysctl_cmd, token, value) ignore_missing = ''
if self.args['ignoreerrors']:
ignore_missing = '-e'
thiscmd = "%s %s -w %s=%s" % (self.sysctl_cmd, ignore_missing, token, value)
rc,out,err = self.module.run_command(thiscmd) rc,out,err = self.module.run_command(thiscmd)
if rc != 0: if rc != 0:
self.module.fail_json(msg='setting %s failed: %s' % (token, out + err)) self.module.fail_json(msg='setting %s failed: %s' % (token, out + err))