From 4cf344a4c8c1106367729e22cf0c6bd79f0af0dd Mon Sep 17 00:00:00 2001 From: Renuka Manavalan Date: Thu, 18 Aug 2022 18:18:26 +0000 Subject: [PATCH 1/5] Added event --- scripts/disk_check.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/scripts/disk_check.py b/scripts/disk_check.py index 4fa8d69746..30a353ecb9 100644 --- a/scripts/disk_check.py +++ b/scripts/disk_check.py @@ -33,11 +33,19 @@ import sys import syslog import subprocess +from swsscommon.swsscommon import events_init_publisher, events_deinit_publisher, event_publish +from swsscommon.swsscommon import Logger, FieldValueMap +from sonic_py_common import logger UPPER_DIR = "/run/mount/upper" WORK_DIR = "/run/mount/work" MOUNTS_FILE = "/proc/mounts" +EVENTS_PUBLISHER_SOURCE = "sonic-events-host" +EVENTS_PUBLISHER_TAG = "event-disk" +events_handle = None + +Logger.setMinPrio(Logger.SWSS_INFO) chk_log_level = syslog.LOG_ERR def _log_msg(lvl, pfx, msg): @@ -45,6 +53,7 @@ def _log_msg(lvl, pfx, msg): print("{}: {}".format(pfx, msg)) syslog.syslog(lvl, msg) + def log_err(m): _log_msg(syslog.LOG_ERR, "Err", m) @@ -57,11 +66,19 @@ def log_debug(m): _log_msg(syslog.LOG_DEBUG, "Debug", m) +def event_pub(): + param_dict = FieldValueMap() + param_dict["fail_type"] = "read_only" + rc = event_publish(events_handle, EVENTS_PUBLISHER_TAG, param_dict) + print("DROP: event_publish rc={}".format(rc)) + + def test_writable(dirs): for d in dirs: rw = os.access(d, os.W_OK) if not rw: log_err("{} is not read-write".format(d)) + event_pub() return False else: log_debug("{} is Read-Write".format(d)) @@ -145,12 +162,13 @@ def do_check(skip_mount, dirs): # Check if mounted if (not ret) and is_mounted(dirs): log_err("READ-ONLY: Mounted {} to make Read-Write".format(dirs)) + event_pub() return ret def main(): - global chk_log_level + global chk_log_level, events_handle parser=argparse.ArgumentParser( description="check disk for Read-Write and mount etc & home as Read-Write") @@ -163,7 +181,12 @@ def main(): args = parser.parse_args() chk_log_level = args.loglvl + + events_handle = events_init_publisher(EVENTS_PUBLISHER_SOURCE) + ret = do_check(args.skip_mount, args.dirs.split(",")) + + events_deinit_publisher(events_handle) return ret From 5422632b85f4da568e0b4557b1566b3a47356604 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan Date: Thu, 18 Aug 2022 18:25:10 +0000 Subject: [PATCH 2/5] remove unused import --- scripts/disk_check.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/disk_check.py b/scripts/disk_check.py index 30a353ecb9..b0fe53e7b3 100644 --- a/scripts/disk_check.py +++ b/scripts/disk_check.py @@ -35,7 +35,6 @@ import subprocess from swsscommon.swsscommon import events_init_publisher, events_deinit_publisher, event_publish from swsscommon.swsscommon import Logger, FieldValueMap -from sonic_py_common import logger UPPER_DIR = "/run/mount/upper" WORK_DIR = "/run/mount/work" From 687fe7bf93a91be6ebf1b166398b07fde3bb25b0 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan Date: Thu, 18 Aug 2022 18:26:41 +0000 Subject: [PATCH 3/5] remove unused import --- scripts/disk_check.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/disk_check.py b/scripts/disk_check.py index b0fe53e7b3..905b810d27 100644 --- a/scripts/disk_check.py +++ b/scripts/disk_check.py @@ -69,7 +69,6 @@ def event_pub(): param_dict = FieldValueMap() param_dict["fail_type"] = "read_only" rc = event_publish(events_handle, EVENTS_PUBLISHER_TAG, param_dict) - print("DROP: event_publish rc={}".format(rc)) def test_writable(dirs): From e8edb2e93e41773d98289e2828d3a8069007422a Mon Sep 17 00:00:00 2001 From: Renuka Manavalan Date: Thu, 18 Aug 2022 20:57:13 +0000 Subject: [PATCH 4/5] LGTM warning fixed --- scripts/disk_check.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/disk_check.py b/scripts/disk_check.py index 905b810d27..50dc8229bd 100644 --- a/scripts/disk_check.py +++ b/scripts/disk_check.py @@ -68,7 +68,7 @@ def log_debug(m): def event_pub(): param_dict = FieldValueMap() param_dict["fail_type"] = "read_only" - rc = event_publish(events_handle, EVENTS_PUBLISHER_TAG, param_dict) + event_publish(events_handle, EVENTS_PUBLISHER_TAG, param_dict) def test_writable(dirs): From d7176a05854e0bfd00f4711eda1d5574245e8c95 Mon Sep 17 00:00:00 2001 From: Renuka Manavalan Date: Thu, 8 Sep 2022 21:56:55 +0000 Subject: [PATCH 5/5] drop settig explicit log level --- scripts/disk_check.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/disk_check.py b/scripts/disk_check.py index 50dc8229bd..0f5f882400 100644 --- a/scripts/disk_check.py +++ b/scripts/disk_check.py @@ -34,7 +34,7 @@ import syslog import subprocess from swsscommon.swsscommon import events_init_publisher, events_deinit_publisher, event_publish -from swsscommon.swsscommon import Logger, FieldValueMap +from swsscommon.swsscommon import FieldValueMap UPPER_DIR = "/run/mount/upper" WORK_DIR = "/run/mount/work" @@ -44,7 +44,6 @@ EVENTS_PUBLISHER_TAG = "event-disk" events_handle = None -Logger.setMinPrio(Logger.SWSS_INFO) chk_log_level = syslog.LOG_ERR def _log_msg(lvl, pfx, msg):