Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package salt for openSUSE:Factory checked in 
at 2021-10-16 22:47:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/salt (Old)
 and      /work/SRC/openSUSE:Factory/.salt.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "salt"

Sat Oct 16 22:47:01 2021 rev:121 rq:925143 version:3003.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/salt/salt.changes        2021-10-04 
18:40:36.922120914 +0200
+++ /work/SRC/openSUSE:Factory/.salt.new.1890/salt.changes      2021-10-16 
22:47:21.800677919 +0200
@@ -1,0 +2,24 @@
+Fri Oct  8 15:48:09 UTC 2021 - Pablo Su??rez Hern??ndez 
<pablo.suarezhernan...@suse.com>
+
+- Fix issues with salt-ssh's extra-filerefs
+
+- Added:
+  * fix-issues-with-salt-ssh-s-extra-filerefs.patch
+
+-------------------------------------------------------------------
+Fri Oct  8 15:26:04 UTC 2021 - Pablo Su??rez Hern??ndez 
<pablo.suarezhernan...@suse.com>
+
+- Fix crash when calling manage.not_alive runners
+
+- Added:
+  * fix-crash-when-calling-manage.not_alive-runners.patch
+
+-------------------------------------------------------------------
+Wed Oct  6 08:32:54 UTC 2021 - Pablo Su??rez Hern??ndez 
<pablo.suarezhernan...@suse.com>
+
+- Do not consider skipped targets as failed for ansible.playbooks state 
(bsc#1190446)
+
+- Added:
+  * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch
+
+-------------------------------------------------------------------

New:
----
  3003.3-do-not-consider-skipped-targets-as-failed-for.patch
  fix-crash-when-calling-manage.not_alive-runners.patch
  fix-issues-with-salt-ssh-s-extra-filerefs.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ salt.spec ++++++
--- /var/tmp/diff_new_pack.ogKuQH/_old  2021-10-16 22:47:23.332679210 +0200
+++ /var/tmp/diff_new_pack.ogKuQH/_new  2021-10-16 22:47:23.332679210 +0200
@@ -170,6 +170,7 @@
 # PATCH-FIX_OPENSUSE 
https://github.com/openSUSE/salt/commit/a18ac47b75550bd55f4ca91dc221ed408881984c
 Patch30:        make-setup.py-script-to-not-require-setuptools-9.1.patch
 # PATCH-FIX_OPENSUSE https://github.com/openSUSE/salt/pull/228 (missing 
upstream PR)
+# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/61017
 Patch31:        adds-explicit-type-cast-for-port.patch
 # PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/57123
 Patch32:        prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch
@@ -286,6 +287,12 @@
 Patch69:        3003.3-postgresql-json-support-in-pillar-423.patch
 # PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/60980
 Patch70:        do-not-break-master_tops-for-minion-with-version-low.patch
+# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/60983
+Patch71:        3003.3-do-not-consider-skipped-targets-as-failed-for.patch
+# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/61017
+Patch72:        fix-crash-when-calling-manage.not_alive-runners.patch
+# PATCH-FIX_UPSTREAM https://github.com/saltstack/salt/pull/61014
+Patch73:        fix-issues-with-salt-ssh-s-extra-filerefs.patch
 
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -771,6 +778,9 @@
 %patch68 -p1
 %patch69 -p1
 %patch70 -p1
+%patch71 -p1
+%patch72 -p1
+%patch73 -p1
 
 %build
 # Putting /usr/bin at the front of $PATH is needed for RHEL/RES 7. Without this

++++++ 3003.3-do-not-consider-skipped-targets-as-failed-for.patch ++++++
++++ 1451 lines (skipped)

++++++ _lastrevision ++++++
--- /var/tmp/diff_new_pack.ogKuQH/_old  2021-10-16 22:47:23.384679254 +0200
+++ /var/tmp/diff_new_pack.ogKuQH/_new  2021-10-16 22:47:23.384679254 +0200
@@ -1 +1 @@
-0f00e37ce7f38b6d92b7a2b04cb2faa03098b0fc
\ No newline at end of file
+43d1aa8a46def69d5b6097d235e7c7a97d4635cf
\ No newline at end of file

++++++ fix-crash-when-calling-manage.not_alive-runners.patch ++++++
>From 3ecb98a9bd7a8d35cff6d0a5f34b7fea96f89da7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pablo=20Su=C3=A1rez=20Hern=C3=A1ndez?=
 <psuarezhernan...@suse.com>
Date: Fri, 8 Oct 2021 12:47:53 +0100
Subject: [PATCH] Fix crash when calling manage.not_alive runners

Fix unit tests for netlink_tool_remote_on

Drop wrong test
---
 salt/utils/network.py            |  1 +
 tests/unit/utils/test_network.py | 17 ++++-------------
 2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/salt/utils/network.py b/salt/utils/network.py
index 0dd20c5599..f0f5f1e8ce 100644
--- a/salt/utils/network.py
+++ b/salt/utils/network.py
@@ -1701,6 +1701,7 @@ def _netlink_tool_remote_on(port, which_end):
         elif "ESTAB" not in line:
             continue
         chunks = line.split()
+        local_host, local_port = chunks[3].rsplit(":", 1)
         remote_host, remote_port = chunks[4].rsplit(":", 1)
 
         if which_end == "remote_port" and int(remote_port) != int(port):
diff --git a/tests/unit/utils/test_network.py b/tests/unit/utils/test_network.py
index 637d5e9811..3060aba0aa 100644
--- a/tests/unit/utils/test_network.py
+++ b/tests/unit/utils/test_network.py
@@ -110,18 +110,14 @@ USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS    
FOREIGN ADDRESS
 salt-master python2.781106 35 tcp4  127.0.0.1:61115  127.0.0.1:4506
 """
 
-NETLINK_SS = """
-State      Recv-Q Send-Q               Local Address:Port                 Peer 
Address:Port
-ESTAB      0      0                    127.0.0.1:56726                    
127.0.0.1:4505
-ESTAB      0      0                    ::ffff:1.2.3.4:5678                
::ffff:1.2.3.4:4505
-"""
-
 LINUX_NETLINK_SS_OUTPUT = """\
 State       Recv-Q Send-Q                                                      
      Local Address:Port                                                        
                   Peer Address:Port
 TIME-WAIT   0      0                                                           
              [::1]:8009                                                        
                          [::1]:40368
 LISTEN      0      128                                                         
          127.0.0.1:5903                                                        
                        0.0.0.0:*
 ESTAB       0      0                                                           
 [::ffff:127.0.0.1]:4506                                                        
            [::ffff:127.0.0.1]:32315
 ESTAB       0      0                                                           
      192.168.122.1:4506                                                        
               192.168.122.177:24545
+ESTAB       0      0                                                           
         127.0.0.1:56726                                                        
                     127.0.0.1:4505
+ESTAB       0      0                                                           
     ::ffff:1.2.3.4:5678                                                        
                ::ffff:1.2.3.4:4505
 """
 
 IPV4_SUBNETS = {
@@ -633,11 +629,11 @@ class NetworkTestCase(TestCase):
                 with patch(
                     "subprocess.check_output", 
return_value=LINUX_NETLINK_SS_OUTPUT
                 ):
-                    remotes = network._netlink_tool_remote_on("4506", "local")
+                    remotes = network._netlink_tool_remote_on("4506", 
"local_port")
                     self.assertEqual(remotes, {"192.168.122.177", 
"::ffff:127.0.0.1"})
 
     def test_netlink_tool_remote_on_b(self):
-        with patch("subprocess.check_output", return_value=NETLINK_SS):
+        with patch("subprocess.check_output", 
return_value=LINUX_NETLINK_SS_OUTPUT):
             remotes = network._netlink_tool_remote_on("4505", "remote_port")
             self.assertEqual(remotes, {"127.0.0.1", "::ffff:1.2.3.4"})
 
@@ -1274,11 +1270,6 @@ class NetworkTestCase(TestCase):
         ):
             self.assertEqual(network.get_fqhostname(), host)
 
-    def test_netlink_tool_remote_on(self):
-        with patch("subprocess.check_output", return_value=NETLINK_SS):
-            remotes = network._netlink_tool_remote_on("4505", "remote")
-            self.assertEqual(remotes, {"127.0.0.1", "::ffff:1.2.3.4"})
-
     def test_is_fqdn(self):
         """
         Test is_fqdn function passes possible FQDN names.
-- 
2.33.0


++++++ fix-issues-with-salt-ssh-s-extra-filerefs.patch ++++++
>From ef433d6f02af87d45363ae07fe438a1d7747df13 Mon Sep 17 00:00:00 2001
From: "Daniel A. Wozniak" <dwozn...@saltstack.com>
Date: Thu, 7 Oct 2021 17:22:37 -0700
Subject: [PATCH] Fix issues with salt-ssh's extra-filerefs

Verify salt-ssh can import from map files in states

Add changelog for 60003.fixed
---
 changelog/60003.fixed                       |  1 +
 salt/client/ssh/__init__.py                 |  1 +
 tests/pytests/integration/ssh/test_state.py | 94 +++++++++++++++++++++
 3 files changed, 96 insertions(+)
 create mode 100644 changelog/60003.fixed
 create mode 100644 tests/pytests/integration/ssh/test_state.py

diff --git a/changelog/60003.fixed b/changelog/60003.fixed
new file mode 100644
index 0000000000..6fafbf5108
--- /dev/null
+++ b/changelog/60003.fixed
@@ -0,0 +1 @@
+Validate we can import map files in states
diff --git a/salt/client/ssh/__init__.py b/salt/client/ssh/__init__.py
index 409d6e740e..76c57996d9 100644
--- a/salt/client/ssh/__init__.py
+++ b/salt/client/ssh/__init__.py
@@ -1161,6 +1161,7 @@ class Single:
             opts_pkg["_ssh_version"] = self.opts["_ssh_version"]
             opts_pkg["thin_dir"] = self.opts["thin_dir"]
             opts_pkg["master_tops"] = self.opts["master_tops"]
+            opts_pkg["extra_filerefs"] = self.opts.get("extra_filerefs", "")
             opts_pkg["__master_opts__"] = self.context["master_opts"]
             if "known_hosts_file" in self.opts:
                 opts_pkg["known_hosts_file"] = self.opts["known_hosts_file"]
diff --git a/tests/pytests/integration/ssh/test_state.py 
b/tests/pytests/integration/ssh/test_state.py
new file mode 100644
index 0000000000..58330a5dd8
--- /dev/null
+++ b/tests/pytests/integration/ssh/test_state.py
@@ -0,0 +1,94 @@
+import pytest
+
+pytestmark = [
+    pytest.mark.skip_on_windows(reason="salt-ssh not available on Windows"),
+]
+
+
+@pytest.fixture(scope="module")
+def state_tree(base_env_state_tree_root_dir):
+    top_file = """
+    base:
+      'localhost':
+        - basic
+      '127.0.0.1':
+        - basic
+    """
+    map_file = """
+    {%- set abc = "def" %}
+    """
+    state_file = """
+    {%- from "map.jinja" import abc with context %}
+
+    Ok with {{ abc }}:
+      test.succeed_without_changes
+    """
+    top_tempfile = pytest.helpers.temp_file(
+        "top.sls", top_file, base_env_state_tree_root_dir
+    )
+    map_tempfile = pytest.helpers.temp_file(
+        "map.jinja", map_file, base_env_state_tree_root_dir
+    )
+    state_tempfile = pytest.helpers.temp_file(
+        "test.sls", state_file, base_env_state_tree_root_dir
+    )
+
+    with top_tempfile, map_tempfile, state_tempfile:
+        yield
+
+
+@pytest.mark.slow_test
+def test_state_with_import(salt_ssh_cli, state_tree):
+    """
+    verify salt-ssh can use imported map files in states
+    """
+    ret = salt_ssh_cli.run("state.sls", "test")
+    assert ret.exitcode == 0
+    assert ret.json
+
+
+@pytest.fixture
+def nested_state_tree(base_env_state_tree_root_dir, tmpdir):
+    top_file = """
+    base:
+      'localhost':
+        - basic
+      '127.0.0.1':
+        - basic
+    """
+    state_file = """
+    /{}/file.txt:
+      file.managed:
+        - source: salt://foo/file.jinja
+        - template: jinja
+    """.format(
+        tmpdir
+    )
+    file_jinja = """
+    {% from 'foo/map.jinja' import comment %}{{ comment }}
+    """
+    map_file = """
+    {% set comment = "blah blah" %}
+    """
+    statedir = base_env_state_tree_root_dir / "foo"
+    top_tempfile = pytest.helpers.temp_file(
+        "top.sls", top_file, base_env_state_tree_root_dir
+    )
+    map_tempfile = pytest.helpers.temp_file("map.jinja", map_file, statedir)
+    file_tempfile = pytest.helpers.temp_file("file.jinja", file_jinja, 
statedir)
+    state_tempfile = pytest.helpers.temp_file("init.sls", state_file, statedir)
+
+    with top_tempfile, map_tempfile, state_tempfile, file_tempfile:
+        yield
+
+
+@pytest.mark.slow_test
+def test_state_with_import_from_dir(salt_ssh_cli, nested_state_tree):
+    """
+    verify salt-ssh can use imported map files in states
+    """
+    ret = salt_ssh_cli.run(
+        "--extra-filerefs=salt://foo/map.jinja", "state.apply", "foo"
+    )
+    assert ret.exitcode == 0
+    assert ret.json
-- 
2.33.0

Reply via email to