[rp-reporter] Add blacklist of words when searching in CI jobs
Related-Prod: PRODX-48948
Change-Id: I5563cea153e251ff4f5b01b900ac8c398cfab2fb
diff --git a/rp_reporter/rp_reporter/batch_reporter.py b/rp_reporter/rp_reporter/batch_reporter.py
index 3f904d2..1d210c4 100755
--- a/rp_reporter/rp_reporter/batch_reporter.py
+++ b/rp_reporter/rp_reporter/batch_reporter.py
@@ -1,3 +1,5 @@
+from time import sleep
+
import click
import logging
from collections import deque
@@ -13,7 +15,8 @@
LOG = logging.getLogger("rp_reporter")
-def grep(text: List, patterns: List, context_size: int) :
+def grep(text: List, patterns: List, context_size: int,
+ blacklist: List[str] = None ) :
"""Works like `grep -rn`
returns found text with line before and after
:param text:
@@ -27,6 +30,9 @@
for num, line in enumerate(text, start=1):
context.append(f"{num} {line}")
if any(pattern.lower() in line.lower() for pattern in patterns):
+ if any(blacklisted.lower() in line.lower()
+ for blacklisted in blacklist):
+ continue
if not result:
result = list(context)
after_count = context_size
@@ -79,6 +85,8 @@
tags["openstack"] = context_name.split("/")[0]
tags["context"] = context_name.split("/")[-1]
+
+
if "mosk-24.3" in job.name:
tags["mosk_version"] = "mosk-24.3"
elif "mosk-25.1" in job.name:
@@ -144,13 +152,23 @@
"discovered openstack controller version is"
]
+ blacklist = [
+ "[Pipeline] error",
+ "failureDomain:",
+ "portprober_arping_target_failure",
+ "ingress:[error-pages:",
+
+ ]
+
all_logs = job.get_logs()
- for log in grep(text=all_logs, patterns=catch_logs, context_size=8):
+ for log in grep(text=all_logs, patterns=catch_logs, context_size=8,
+ blacklist=blacklist):
# LOG.error("Attach logs {}".format("\n".join(log)))
rp_client.log(time=timestamp(),
message="\n".join(log),
item_id=subjob_item_id
)
+ sleep(0.001)
# ipdb.set_trace()
rp_client.finish_test_item(item_id=subjob_item_id,
status=status,