dede5bd1d4
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:saltstack/salt?expand=0&rev=166
53 lines
1.9 KiB
Diff
53 lines
1.9 KiB
Diff
From 444e00c6601b878444923f573fdb5f000342be9a Mon Sep 17 00:00:00 2001
|
|
From: Alberto Planas <aplanas@suse.com>
|
|
Date: Thu, 12 Mar 2020 16:39:42 +0100
|
|
Subject: [PATCH] loader: invalidate the import cachefor extra modules
|
|
|
|
Because we are mangling with importlib, we can find from time to
|
|
time an invalidation issue with sys.path_importer_cache, that
|
|
requires the removal of FileFinder that remain None for the
|
|
extra_module_dirs
|
|
|
|
(cherry picked from commit 0fb8e707a45d5caf40759e8b4943590d6fce5046)
|
|
---
|
|
salt/loader.py | 12 ++++++++++++
|
|
1 file changed, 12 insertions(+)
|
|
|
|
diff --git a/salt/loader.py b/salt/loader.py
|
|
index 742b2f8e22..5bd4773645 100644
|
|
--- a/salt/loader.py
|
|
+++ b/salt/loader.py
|
|
@@ -1544,9 +1544,11 @@ class LazyLoader(salt.utils.lazy.LazyDict):
|
|
self._clean_module_dirs.append(directory)
|
|
|
|
def __clean_sys_path(self):
|
|
+ invalidate_path_importer_cache = False
|
|
for directory in self._clean_module_dirs:
|
|
if directory in sys.path:
|
|
sys.path.remove(directory)
|
|
+ invalidate_path_importer_cache = True
|
|
self._clean_module_dirs = []
|
|
|
|
# Be sure that sys.path_importer_cache do not contains any
|
|
@@ -1554,6 +1556,16 @@ class LazyLoader(salt.utils.lazy.LazyDict):
|
|
if USE_IMPORTLIB:
|
|
importlib.invalidate_caches()
|
|
|
|
+ # Because we are mangling with importlib, we can find from
|
|
+ # time to time an invalidation issue with
|
|
+ # sys.path_importer_cache, that requires the removal of
|
|
+ # FileFinder that remain None for the extra_module_dirs
|
|
+ if invalidate_path_importer_cache:
|
|
+ for directory in self.extra_module_dirs:
|
|
+ if directory in sys.path_importer_cache \
|
|
+ and sys.path_importer_cache[directory] is None:
|
|
+ del sys.path_importer_cache[directory]
|
|
+
|
|
def _load_module(self, name):
|
|
mod = None
|
|
fpath, suffix = self.file_mapping[name][:2]
|
|
--
|
|
2.16.4
|
|
|
|
|