Hello community, here is the log from the commit of package salt for openSUSE:Factory checked in at 2019-05-22 10:54:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/salt (Old) and /work/SRC/openSUSE:Factory/.salt.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "salt" Wed May 22 10:54:52 2019 rev:85 rq:704238 version:2019.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/salt/salt.changes 2019-05-09 14:27:56.129873188 +0200 +++ /work/SRC/openSUSE:Factory/.salt.new.5148/salt.changes 2019-05-22 10:54:55.619105744 +0200 @@ -1,0 +2,8 @@ +Mon May 20 12:12:46 UTC 2019 - [email protected] + +- Switch firewalld state to use change_interface (bsc#1132076) + +- Added: + * switch-firewalld-state-to-use-change_interface.patch + +------------------------------------------------------------------- New: ---- switch-firewalld-state-to-use-change_interface.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ salt.spec ++++++ --- /var/tmp/diff_new_pack.cFQg7W/_old 2019-05-22 10:54:58.039100192 +0200 +++ /var/tmp/diff_new_pack.cFQg7W/_new 2019-05-22 10:54:58.043100182 +0200 @@ -174,6 +174,8 @@ # PATCH-FIX_OPENSUSE: https://github.com/openSUSE/salt/pull/144 # PATCH-FIX_UPSTREAM: https://github.com/saltstack/salt/pull/52855 Patch54: fix-async-batch-multiple-done-events.patch +# PATCH-FIX_UPSTREAM: https://github.com/saltstack/salt/pull/52743 +Patch55: switch-firewalld-state-to-use-change_interface.patch # BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -686,6 +688,7 @@ %patch52 -p1 %patch53 -p1 %patch54 -p1 +%patch55 -p1 %build %if 0%{?build_py2} ++++++ _lastrevision ++++++ --- /var/tmp/diff_new_pack.cFQg7W/_old 2019-05-22 10:54:58.083100091 +0200 +++ /var/tmp/diff_new_pack.cFQg7W/_new 2019-05-22 10:54:58.083100091 +0200 @@ -1 +1 @@ -8fe9649055af571bfa44483318fa5a8476035001 \ No newline at end of file +ea5a745c3a962219fd886eefc19f33997b655283 \ No newline at end of file ++++++ switch-firewalld-state-to-use-change_interface.patch ++++++ >From ee499612e1302b908a64dde696065b0093fe3115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Su=C3=A1rez=20Hern=C3=A1ndez?= <[email protected]> Date: Mon, 20 May 2019 11:59:39 +0100 Subject: [PATCH] Switch firewalld state to use change_interface firewalld.present state allows to bind interface to given zone. However if the interface is already bound to some other zone, call- ing `add_interface` will not change rebind the interface but report error. Option `change_interface` however can rebind the interface from one zone to another. This PR adds `firewalld.change_interface` call to firewalld module and updates `firewalld.present` state to use this call. --- salt/modules/firewalld.py | 23 +++++++++++++++++++++++ salt/states/firewalld.py | 4 ++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/salt/modules/firewalld.py b/salt/modules/firewalld.py index 7eeb865fa7..232fe052a2 100644 --- a/salt/modules/firewalld.py +++ b/salt/modules/firewalld.py @@ -951,6 +951,29 @@ def remove_interface(zone, interface, permanent=True): return __firewall_cmd(cmd) +def change_interface(zone, interface, permanent=True): + ''' + Change zone the interface bound to + + .. versionadded:: 2019.?.? + + CLI Example: + + .. code-block:: bash + + salt '*' firewalld.change_interface zone eth0 + ''' + if interface in get_interfaces(zone, permanent): + log.info('Interface is already bound to zone.') + + cmd = '--zone={0} --change-interface={1}'.format(zone, interface) + + if permanent: + cmd += ' --permanent' + + return __firewall_cmd(cmd) + + def get_sources(zone, permanent=True): ''' List sources bound to a zone diff --git a/salt/states/firewalld.py b/salt/states/firewalld.py index 4623798658..fc5b233f98 100644 --- a/salt/states/firewalld.py +++ b/salt/states/firewalld.py @@ -647,8 +647,8 @@ def _present(name, for interface in new_interfaces: if not __opts__['test']: try: - __salt__['firewalld.add_interface'](name, interface, - permanent=True) + __salt__['firewalld.change_interface'](name, interface, + permanent=True) except CommandExecutionError as err: ret['comment'] = 'Error: {0}'.format(err) return ret -- 2.17.1
