Fixes ignoreerrors not working with sysctl_set

This commit is contained in:
Strahinja Kustudić 2016-12-09 22:44:04 +01:00 committed by Toshio Kuratomi
parent 224b5d5283
commit 7358bf88e2

View file

@ -250,8 +250,17 @@ class SysctlModule(object):
if self.platform == 'openbsd':
# openbsd doesn't accept -w, but since it's not needed, just drop it
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:
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)
if rc != 0:
self.module.fail_json(msg='setting %s failed: %s' % (token, out + err))