From fb5d5f546e4279d2bb1c39dfea5faeee311ea84f Mon Sep 17 00:00:00 2001 From: Kamoltat Sirivadhna Date: Wed, 6 Sep 2023 11:16:37 -0400 Subject: [PATCH] teuthology/scrape.py: Remove empty string in _get_service_types Problem: the function grep returns a list contianing empty string which results in scrape.py throwing the warning "Misunderstood line: ". Solution: filter out empty strings before getting match with regex. Fixes: https://tracker.ceph.com/issues/62534 Signed-off-by: Kamoltat Sirivadhna --- teuthology/scrape.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/teuthology/scrape.py b/teuthology/scrape.py index 92e52f322..c474931a9 100644 --- a/teuthology/scrape.py +++ b/teuthology/scrape.py @@ -410,7 +410,10 @@ def _get_service_types(self, job): result = defaultdict(list) # Lines like: # 2014-08-22T20:07:18.668 ERROR:tasks.ceph:saw valgrind issue Leak_DefinitelyLost in /var/log/ceph/valgrind/osd.3.log.gz - for line in grep(os.path.join(job.path, "teuthology.log"), " in "): + valgrind_err_line = grep(os.path.join(job.path, "teuthology.log"), " in ") + valgrind_err_line = list(filter(None, valgrind_err_line)) # remove empty strings + valgrind_err_line = [line for line in valgrind_err_line if line.strip()] # remove blank space + for line in valgrind_err_line: match = re.search("(.+) in .+/(.+)", line) if not match: log.warning("Misunderstood line: {0}".format(line))