From bda066f6f6d4810d6a598a712ebd2bb0febcefe5 Mon Sep 17 00:00:00 2001 From: Michael Scherer Date: Sat, 1 Jul 2017 18:44:06 +0200 Subject: [PATCH] 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. --- lib/ansible/modules/system/firewalld.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ansible/modules/system/firewalld.py b/lib/ansible/modules/system/firewalld.py index 1538a2c806..db495a5755 100644 --- a/lib/ansible/modules/system/firewalld.py +++ b/lib/ansible/modules/system/firewalld.py @@ -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))