Skip to content

Commit 85f14e1

Browse files
renukamanavalanqiluo-msft
authored andcommitted
disk_check updates: (sonic-net#1736)
1) Set default loglevel to SYSLOG_ERR 2) Make log level configurable via args
1 parent d68ac1c commit 85f14e1

File tree

2 files changed

+31
-7
lines changed

2 files changed

+31
-7
lines changed

scripts/disk_check.py

+15-6
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,23 @@
3333
WORK_DIR = "/run/mount/work"
3434
MOUNTS_FILE = "/proc/mounts"
3535

36+
chk_log_level = syslog.LOG_ERR
37+
38+
def _log_msg(lvl, pfx, msg):
39+
if lvl <= chk_log_level:
40+
print("{}: {}".format(pfx, msg))
41+
syslog.syslog(lvl, msg)
42+
3643
def log_err(m):
37-
print("Err: {}".format(m), file=sys.stderr)
38-
syslog.syslog(syslog.LOG_ERR, m)
44+
_log_msg(syslog.LOG_ERR, "Err", m)
3945

4046

4147
def log_info(m):
42-
print("Info: {}".format(m))
43-
syslog.syslog(syslog.LOG_INFO, m)
48+
_log_msg(syslog.LOG_INFO, "Info", m)
4449

4550

4651
def log_debug(m):
47-
print("debug: {}".format(m))
48-
syslog.syslog(syslog.LOG_DEBUG, m)
52+
_log_msg(syslog.LOG_DEBUG, "Debug", m)
4953

5054

5155
def test_writable(dirs):
@@ -135,14 +139,19 @@ def do_check(skip_mount, dirs):
135139

136140

137141
def main():
142+
global chk_log_level
143+
138144
parser=argparse.ArgumentParser(
139145
description="check disk for Read-Write and mount etc & home as Read-Write")
140146
parser.add_argument('-s', "--skip-mount", action='store_true', default=False,
141147
help="Skip mounting /etc & /home as Read-Write")
142148
parser.add_argument('-d', "--dirs", default="/etc,/home",
143149
help="dirs to mount")
150+
parser.add_argument('-l', "--loglvl", default=syslog.LOG_ERR, type=int,
151+
help="log level")
144152
args = parser.parse_args()
145153

154+
chk_log_level = args.loglvl
146155
ret = do_check(args.skip_mount, args.dirs.split(","))
147156
return ret
148157

tests/disk_check_test.py

+16-1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
}
5757

5858
err_data = ""
59+
max_log_lvl = -1
5960
cmds = []
6061
current_tc = None
6162

@@ -66,6 +67,11 @@ def mount_file(d):
6667

6768
def report_err_msg(lvl, m):
6869
global err_data
70+
global max_log_lvl
71+
72+
if lvl > max_log_lvl:
73+
max_log_lvl = lvl
74+
6975
if lvl == syslog.LOG_ERR:
7076
if err_data:
7177
err_data += "|"
@@ -123,11 +129,16 @@ def setup(self):
123129
@patch("disk_check.syslog.syslog")
124130
@patch("disk_check.subprocess.run")
125131
def test_readonly(self, mock_proc, mock_log):
126-
global err_data, cmds
132+
global err_data, cmds, max_log_lvl
127133

128134
mock_proc.side_effect = mock_subproc_run
129135
mock_log.side_effect = report_err_msg
130136

137+
with patch('sys.argv', ["", "-l", "7", "-d", "/tmp"]):
138+
disk_check.main()
139+
assert max_log_lvl == syslog.LOG_DEBUG
140+
max_log_lvl = -1
141+
131142
for i, tc in test_data.items():
132143
print("-----------Start tc {}---------".format(i))
133144
init_tc(tc)
@@ -159,3 +170,7 @@ def test_readonly(self, mock_proc, mock_log):
159170
assert err_data == tc["err"]
160171
assert cmds == tc.get("cmds", [])
161172
print("-----------End tc {}-----------".format(i))
173+
174+
175+
assert max_log_lvl == syslog.LOG_ERR
176+

0 commit comments

Comments
 (0)