From 95e011d25dbfb7199a9c1f03b9aaffb3e4c618e6 Mon Sep 17 00:00:00 2001 From: nicholasmhughes Date: Tue, 20 Sep 2022 12:50:52 -0400 Subject: [PATCH] fixes saltstack/salt#62523 saltcheck doesnt work with pyobjects renderer --- salt/modules/saltcheck.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/salt/modules/saltcheck.py b/salt/modules/saltcheck.py index d2979c38e800..79113bb71c43 100644 --- a/salt/modules/saltcheck.py +++ b/salt/modules/saltcheck.py @@ -319,7 +319,11 @@ log = logging.getLogger(__name__) -global_scheck = None +try: + __context__ +except NameError: + __context__ = {} +__context__["global_scheck"] = None __virtualname__ = "saltcheck" @@ -457,8 +461,7 @@ def run_state_tests(state, saltenv=None, check_all=False, only_fails=False): saltenv = "base" # Use global scheck variable for reuse in each multiprocess - global global_scheck - global_scheck = SaltCheck(saltenv) + __context__["global_scheck"] = SaltCheck(saltenv) parallel = __salt__["config.get"]("saltcheck_parallel") num_proc = __salt__["config.get"]("saltcheck_processes") @@ -508,7 +511,7 @@ def run_state_tests(state, saltenv=None, check_all=False, only_fails=False): results_dict[key] = value else: for key, value in stl.test_dict.items(): - result = global_scheck.run_test(value) + result = __context__["global_scheck"].run_test(value) results_dict[key] = result # If passed a duplicate state, don't overwrite with empty res @@ -522,7 +525,7 @@ def parallel_scheck(data): key = data[0] value = data[1] results = {} - results[key] = global_scheck.run_test(value) + results[key] = __context__["global_scheck"].run_test(value) return results @@ -620,7 +623,9 @@ def _render_file(file_path): call the salt utility to render a file """ # salt-call slsutil.renderer /srv/salt/jinjatest/saltcheck-tests/test1.tst - rendered = __salt__["slsutil.renderer"](file_path, saltenv=global_scheck.saltenv) + rendered = __salt__["slsutil.renderer"]( + file_path, saltenv=__context__["global_scheck"].saltenv + ) log.info("rendered: %s", rendered) return rendered