From 655ad2e9a5890b31cb906a17a3f9ea9937a6883f Mon Sep 17 00:00:00 2001
From: John Estabrook <jestabro@vyos.io>
Date: Sun, 14 Jul 2024 16:29:18 -0500
Subject: configdep: T6559: drop global redundancy removal to fix error
 reporting

(cherry picked from commit 7249d10f1fbb3f90a4bdbcd0223926d0380ddd3a)
---
 src/services/vyos-configd | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

(limited to 'src')

diff --git a/src/services/vyos-configd b/src/services/vyos-configd
index c89c486e5..f4d9b81c4 100755
--- a/src/services/vyos-configd
+++ b/src/services/vyos-configd
@@ -30,7 +30,6 @@ from vyos.defaults import directories
 from vyos.utils.boot import boot_configuration_complete
 from vyos.configsource import ConfigSourceString
 from vyos.configsource import ConfigSourceError
-from vyos.configdep import call_dependents
 from vyos.config import Config
 from vyos import ConfigError
 
@@ -134,7 +133,8 @@ def explicit_print(path, mode, msg):
     except OSError:
         logger.critical("error explicit_print")
 
-def run_script(script, config, args) -> int:
+def run_script(script_name, config, args) -> int:
+    script = conf_mode_scripts[script_name]
     script.argv = args
     config.set_level([])
     try:
@@ -143,8 +143,9 @@ def run_script(script, config, args) -> int:
         script.generate(c)
         script.apply(c)
     except ConfigError as e:
-        logger.critical(e)
-        explicit_print(session_out, session_mode, str(e))
+        s = f'{script_name}: {repr(e)}'
+        logger.error(s)
+        explicit_print(session_out, session_mode, s)
         return R_ERROR_COMMIT
     except Exception as e:
         logger.critical(e)
@@ -227,17 +228,10 @@ def process_node_data(config, data, last: bool = False) -> int:
     args.insert(0, f'{script_name}.py')
 
     if script_name not in include_set:
-        # call dependents now if last element of prio queue is run
-        # independent of configd
-        if last:
-            call_dependents(dependent_func=config.dependent_func)
         return R_PASS
 
     with stdout_redirected(session_out, session_mode):
-        result = run_script(conf_mode_scripts[script_name], config, args)
-
-    if last and result == R_SUCCESS:
-        call_dependents(dependent_func=config.dependent_func)
+        result = run_script(script_name, config, args)
 
     return result
 
-- 
cgit v1.2.3