Skip to content

Commit 6ea5860

Browse files
committed
addressed reviews
1 parent 04a990a commit 6ea5860

File tree

3 files changed

+25
-18
lines changed

3 files changed

+25
-18
lines changed

nodescraper/plugins/inband/dmesg/collector_args.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ class DmesgCollectorArgs(CollectorArgs):
3434
CollectorArgs (CollectorArgs): specific dmesg collector args
3535
"""
3636

37-
collect_logs: bool = False
37+
collect_rotated_logs: bool = False

nodescraper/plugins/inband/dmesg/dmesg_collector.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from typing import Optional
2828

2929
from nodescraper.base import InBandDataCollector
30-
from nodescraper.connection.inband import FileArtifact
30+
from nodescraper.connection.inband import TextFileArtifact
3131
from nodescraper.enums import EventCategory, EventPriority, OSFamily
3232
from nodescraper.models import TaskResult
3333

@@ -60,25 +60,23 @@ def _shell_quote(self, s: str) -> str:
6060
return "'" + s.replace("'", "'\"'\"'") + "'"
6161

6262
def _nice_dmesg_name(self, path: str) -> str:
63-
"""Map path to filename
64-
65-
Args:
66-
path (str): path of remote file
67-
68-
Returns:
69-
str: filename for local file
70-
"""
63+
"""Map path to filename"""
64+
prefix = "rotated_"
7165
base = path.rstrip("/").rsplit("/", 1)[-1]
66+
7267
if base == "dmesg":
73-
return "dmesg_log.log"
68+
return f"{prefix}dmesg_log.log"
69+
7470
m = re.fullmatch(r"dmesg\.(\d+)\.gz", base)
7571
if m:
76-
return f"dmesg.{m.group(1)}.gz.log"
72+
return f"{prefix}dmesg.{m.group(1)}.gz.log"
73+
7774
m = re.fullmatch(r"dmesg\.(\d+)", base)
7875
if m:
79-
return f"dmesg.{m.group(1)}.log"
76+
return f"{prefix}dmesg.{m.group(1)}.log"
8077

81-
return (base[:-3] if base.endswith(".gz") else base) + ".log"
78+
middle = base[:-3] if base.endswith(".gz") else base
79+
return f"{prefix}{middle}.log"
8280

8381
def _collect_dmesg_rotations(self):
8482
"""Collect dmesg logs"""
@@ -102,7 +100,9 @@ def _collect_dmesg_rotations(self):
102100
if res.exit_code == 0 and res.stdout is not None:
103101
fname = self._nice_dmesg_name(p)
104102
self.logger.info("Collected dmesg log: %s", fname)
105-
self.result.artifacts.append(FileArtifact(filename=fname, contents=res.stdout))
103+
self.result.artifacts.append(
104+
TextFileArtifact(filename=fname, contents=res.stdout)
105+
)
106106
collected_logs.append(
107107
{"path": p, "as": fname, "bytes": len(res.stdout.encode("utf-8", "ignore"))}
108108
)
@@ -116,7 +116,9 @@ def _collect_dmesg_rotations(self):
116116
if res.exit_code == 0 and res.stdout is not None:
117117
fname = self._nice_dmesg_name(p)
118118
self.logger.info("Collected dmesg log: %s", fname)
119-
self.result.artifacts.append(FileArtifact(filename=fname, contents=res.stdout))
119+
self.result.artifacts.append(
120+
TextFileArtifact(filename=fname, contents=res.stdout)
121+
)
120122
collected_logs.append(
121123
{"path": p, "as": fname, "bytes": len(res.stdout.encode("utf-8", "ignore"))}
122124
)
@@ -175,7 +177,7 @@ def collect_data(
175177
args = DmesgCollectorArgs()
176178

177179
dmesg_content = self._get_dmesg_content()
178-
if args.collect_logs:
180+
if args.collect_rotated_logs:
179181
self._collect_dmesg_rotations()
180182

181183
if dmesg_content:

test/unit/plugin/test_dmesg_collector.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,12 @@ def run_map(cmd, **kwargs):
205205
c._collect_dmesg_rotations()
206206

207207
names = {a.filename for a in c.result.artifacts}
208-
assert names == {"dmesg_log.log", "dmesg.1.log", "dmesg.2.gz.log", "dmesg.10.gz.log"}
208+
assert names == {
209+
"rotated_dmesg_log.log",
210+
"rotated_dmesg.1.log",
211+
"rotated_dmesg.2.gz.log",
212+
"rotated_dmesg.10.gz.log",
213+
}
209214

210215
descs = [e["description"] for e in c._events]
211216
assert "Collected dmesg rotated files" in descs

0 commit comments

Comments
 (0)