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



Reply via email to