Fix exception when using masquerade

The following snippet:

  - name: Let the DMZ connect to internet
  firewalld:
    zone: dmz
    masquerade: True
    permanent: True
    immediate: True
    state: enabled

will fail with this error message:

  Exception caught: set_masquerade_enabled() takes 1 positional argument but 3 were given

It turn out that it treat 'zone' as a array of string instead of 1 string.
I only tested on Python 3 with a Fedora 25.
This commit is contained in:
Michael Scherer 2017-07-01 18:44:06 +02:00 committed by Brian Coca
parent 88099e2acb
commit bda066f6f6

View file

@ -1009,7 +1009,7 @@ def main():
action_handler(set_masquerade_permanent, (zone, True))
changed=True
if not is_enabled_immediate:
action_handler(set_masquerade_enabled, (zone))
action_handler(set_masquerade_enabled, (zone,))
changed=True
if changed:
msgs.append("Added masquerade to zone %s" % (zone))
@ -1022,7 +1022,7 @@ def main():
action_handler(set_masquerade_permanent, (zone, False))
changed=True
if is_enabled_immediate:
action_handler(set_masquerade_disabled, (zone))
action_handler(set_masquerade_disabled, (zone,))
changed=True
if changed:
msgs.append("Removed masquerade from zone %s" % (zone))