File revert-fixing-a-use-case-when-multiple-inotify-beaco.patch of Package salt

From a8eb6d5a4a661ba596ec718fe4694431c0874781 Mon Sep 17 00:00:00 2001
From: Alexander Graul <agraul@suse.com>
Date: Tue, 18 Jan 2022 19:07:34 +0100
Subject: [PATCH] Revert "Fixing a use case when multiple inotify
 beacons are defined but when notifications are fired the configuration fron
 the first beacon are used." Revert "Adding a util function to remove hidden
 (options starting with underscore) from the beacon configuration. This is
 used when the beacons loop through the configuration, eg. status beacon, and
 expect certain options."

This reverts commit 68a891ab2fe53ebf329b9c83b875f3575e87e266.
This reverts commit 66c58dedf8c364eaeb35c5adce8bcc8fe5c1219a.
---
 salt/beacons/__init__.py                   |  1 -
 salt/beacons/diskusage.py                  |  3 ---
 salt/beacons/inotify.py                    | 24 ++++++++--------------
 salt/beacons/status.py                     |  4 ----
 tests/pytests/unit/beacons/test_inotify.py |  5 +----
 tests/pytests/unit/test_beacons.py         | 17 ---------------
 6 files changed, 9 insertions(+), 45 deletions(-)

diff --git a/salt/beacons/__init__.py b/salt/beacons/__init__.py
index c273291a24..ff44c278d0 100644
--- a/salt/beacons/__init__.py
+++ b/salt/beacons/__init__.py
@@ -95,7 +95,6 @@ class Beacon:
                     log.error("Configuration for beacon must be a list.")
                     continue
 
-            b_config[mod].append({"_beacon_name": mod})
             fun_str = f"{beacon_name}.beacon"
             if fun_str in self.beacons:
                 runonce = self._determine_beacon_config(
diff --git a/salt/beacons/diskusage.py b/salt/beacons/diskusage.py
index da904cfa52..972323a7c8 100644
--- a/salt/beacons/diskusage.py
+++ b/salt/beacons/diskusage.py
@@ -9,7 +9,6 @@ Beacon to monitor disk usage.
 import logging
 import re
 
-import salt.utils.beacons
 import salt.utils.platform
 
 try:
@@ -84,8 +83,6 @@ def beacon(config):
     it will override the previously defined threshold.
 
     """
-    whitelist = []
-    config = salt.utils.beacons.remove_hidden_options(config, whitelist)
     parts = psutil.disk_partitions(all=True)
     ret = []
     for mounts in config:
diff --git a/salt/beacons/inotify.py b/salt/beacons/inotify.py
index 3b11322319..0dc60662a6 100644
--- a/salt/beacons/inotify.py
+++ b/salt/beacons/inotify.py
@@ -67,19 +67,17 @@ def _get_notifier(config):
     """
     Check the context for the notifier and construct it if not present
     """
-    beacon_name = config.get("_beacon_name", "inotify")
-    notifier = f"{beacon_name}.notifier"
-    if notifier not in __context__:
+    if "inotify.notifier" not in __context__:
         __context__["inotify.queue"] = collections.deque()
         wm = pyinotify.WatchManager()
-        __context__[notifier] = pyinotify.Notifier(wm, _enqueue)
+        __context__["inotify.notifier"] = pyinotify.Notifier(wm, _enqueue)
         if (
             "coalesce" in config
             and isinstance(config["coalesce"], bool)
             and config["coalesce"]
         ):
-            __context__[notifier].coalesce_events()
-    return __context__[notifier]
+            __context__["inotify.notifier"].coalesce_events()
+    return __context__["inotify.notifier"]
 
 
 def validate(config):
@@ -239,9 +237,6 @@ def beacon(config):
       being at the Notifier level in pyinotify.
     """
 
-    whitelist = ["_beacon_name"]
-    config = salt.utils.beacons.remove_hidden_options(config, whitelist)
-
     config = salt.utils.beacons.list_to_dict(config)
 
     ret = []
@@ -264,7 +259,7 @@ def beacon(config):
                     break
                 path = os.path.dirname(path)
 
-            excludes = config["files"].get(path, {}).get("exclude", "")
+            excludes = config["files"][path].get("exclude", "")
 
             if excludes and isinstance(excludes, list):
                 for exclude in excludes:
@@ -351,9 +346,6 @@ def beacon(config):
 
 
 def close(config):
-    config = salt.utils.beacons.list_to_dict(config)
-    beacon_name = config.get("_beacon_name", "inotify")
-    notifier = f"{beacon_name}.notifier"
-    if notifier in __context__:
-        __context__[notifier].stop()
-        del __context__[notifier]
+    if "inotify.notifier" in __context__:
+        __context__["inotify.notifier"].stop()
+        del __context__["inotify.notifier"]
diff --git a/salt/beacons/status.py b/salt/beacons/status.py
index 8c1210e7db..53b5063f08 100644
--- a/salt/beacons/status.py
+++ b/salt/beacons/status.py
@@ -92,7 +92,6 @@ import datetime
 import logging
 
 import salt.exceptions
-import salt.utils.beacons
 import salt.utils.platform
 
 log = logging.getLogger(__name__)
@@ -120,9 +119,6 @@ def beacon(config):
     log.debug(config)
     ctime = datetime.datetime.utcnow().isoformat()
 
-    whitelist = []
-    config = salt.utils.beacons.remove_hidden_options(config, whitelist)
-
     if not config:
         config = [
             {
diff --git a/tests/pytests/unit/beacons/test_inotify.py b/tests/pytests/unit/beacons/test_inotify.py
index 07907cecfc..dae44c7b00 100644
--- a/tests/pytests/unit/beacons/test_inotify.py
+++ b/tests/pytests/unit/beacons/test_inotify.py
@@ -271,7 +271,6 @@ def test_multi_files_exclude(tmp_path):
 
 
 # Check __get_notifier and ensure that the right bits are in __context__
-# including a beacon_name specific notifier is found.
 def test__get_notifier():
     config = {
         "files": {
@@ -301,10 +300,8 @@ def test__get_notifier():
             },
         },
         "coalesce": True,
-        "beacon_module": "inotify",
-        "_beacon_name": "httpd.inotify",
     }
 
     ret = inotify._get_notifier(config)
     assert "inotify.queue" in inotify.__context__
-    assert "httpd.inotify.notifier" in inotify.__context__
+    assert "inotify.notifier" in inotify.__context__
diff --git a/tests/pytests/unit/test_beacons.py b/tests/pytests/unit/test_beacons.py
index 217cd5c6a4..855e271d7d 100644
--- a/tests/pytests/unit/test_beacons.py
+++ b/tests/pytests/unit/test_beacons.py
@@ -104,20 +104,3 @@ def test_beacon_module(minion_opts):
         }
     ]
     assert ret == _expected
-
-    # Ensure that "beacon_name" is available in the call to the beacon function
-    name = "ps.beacon"
-    mocked = {name: MagicMock(return_value=_expected)}
-    mocked[name].__globals__ = {}
-    calls = [
-        call(
-            [
-                {"processes": {"apache2": "stopped"}},
-                {"beacon_module": "ps"},
-                {"_beacon_name": "watch_apache"},
-            ]
-        )
-    ]
-    with patch.object(beacon, "beacons", mocked) as patched:
-        beacon.process(minion_opts["beacons"], minion_opts["grains"])
-        patched[name].assert_has_calls(calls)
-- 
2.47.0

openSUSE Build Service is sponsored by