From e483d295dac7201577ca371811f797b29f16086b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 17 Sep 2024 06:17:53 +0200 Subject: [PATCH] statd: also silence JSONDecodeError on check=False In d616623a an attempt to silence bogus return values from mctl, when multicast snooping is disabled on a bridge. That helped get data back for operational to produce `show interfaces` *with* a bridge and ports but still emitted bogus log warnings. This patch addresses that by checking 'check' on JSONDcodeError as well before emitting any log error. Signed-off-by: Joachim Wiberg --- src/statd/python/yanger/yanger.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/statd/python/yanger/yanger.py b/src/statd/python/yanger/yanger.py index c3521b34..4f9563b5 100755 --- a/src/statd/python/yanger/yanger.py +++ b/src/statd/python/yanger/yanger.py @@ -137,8 +137,9 @@ def run_json_cmd(cmd, testfile, default=None, check=True): return default raise except json.JSONDecodeError as err: - logger.error(f"failed parsing JSON output of command: {' '.join(cmd)}" - f", error: {err}") + if check is True: + logger.error("failed parsing JSON output of command: " + f"{' '.join(cmd)}, error: {err}") if default is not None: return default raise