Skip to content

Commit 2356efa

Browse files
committed
some fixes to accomodate for user input + printout fixes to package analyzer
1 parent 54b4086 commit 2356efa

File tree

7 files changed

+37
-33
lines changed

7 files changed

+37
-33
lines changed

nodescraper/plugins/inband/bios/bios_analyzer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def analyze_data(
7575
self.result.message = "Bios data matches expected"
7676
self.result.status = ExecutionStatus.OK
7777
return self.result
78-
elif data.bios_version == bios_version:
78+
elif data.bios_version == str(bios_version).strip():
7979
self.result.message = "Bios data matches expected"
8080
self.result.status = ExecutionStatus.OK
8181
return self.result

nodescraper/plugins/inband/dkms/dkms_analyzer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def analyze_data(
8383
)
8484
if regex_data.match(actual_value):
8585
break
86-
elif actual_value == accepted_value:
86+
elif actual_value == str(accepted_value).strip():
8787
break
8888
else:
8989
expected_values.append(accepted_values)

nodescraper/plugins/inband/kernel/kernel_analyzer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def analyze_data(
7272
self.result.message = "Kernel matches expected"
7373
self.result.status = ExecutionStatus.OK
7474
return self.result
75-
elif data.kernel_version == kernel:
75+
elif data.kernel_version == str(kernel).strip():
7676
self.result.message = "Kernel matches expected"
7777
self.result.status = ExecutionStatus.OK
7878
return self.result

nodescraper/plugins/inband/os/os_analyzer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ def analyze_data(self, data: OsDataModel, args: Optional[OsAnalyzerArgs] = None)
5454
return self.result
5555

5656
for os_name in args.exp_os:
57-
if (os_name == data.os_name and args.exact_match) or (
58-
os_name in data.os_name and not args.exact_match
57+
if (str(os_name).strip() == data.os_name and args.exact_match) or (
58+
str(os_name).strip() in data.os_name and not args.exact_match
5959
):
6060
self.result.message = "OS name matches expected"
6161
self.result.status = ExecutionStatus.OK

nodescraper/plugins/inband/package/package_analyzer.py

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def regex_version_data(
5858

5959
value_found = False
6060
for name, version in package_data.items():
61+
self.logger.debug("Package data: %s, %s", name, version)
6162
key_search_res = key_search.search(name)
6263
if key_search_res:
6364
value_found = True
@@ -79,16 +80,16 @@ def regex_version_data(
7980
return value_found
8081

8182
def package_regex_search(
82-
self, package_data: dict[str, str], exp_packge_data: dict[str, Optional[str]]
83+
self, package_data: dict[str, str], exp_package_data: dict[str, Optional[str]]
8384
):
8485
"""Searches the package data for the expected package and version using regex
8586
8687
Args:
8788
package_data (dict[str, str]): a dictionary of package names and versions
88-
exp_packge_data (dict[str, Optional[str]]): a dictionary of expected package names and versions
89+
exp_package_data (dict[str, Optional[str]]): a dictionary of expected package names and versions
8990
"""
9091
not_found_keys = []
91-
for exp_key, exp_value in exp_packge_data.items():
92+
for exp_key, exp_value in exp_package_data.items():
9293
try:
9394
if exp_value is not None:
9495
value_search = re.compile(exp_value)
@@ -125,44 +126,46 @@ def package_regex_search(
125126
return not_found_keys
126127

127128
def package_exact_match(
128-
self, package_data: dict[str, str], exp_packge_data: dict[str, Optional[str]]
129+
self, package_data: dict[str, str], exp_package_data: dict[str, Optional[str]]
129130
):
130131
"""Checks the package data for the expected package and version using exact match
131132
132133
Args:
133134
package_data (dict[str, str]): a dictionary of package names and versions
134-
exp_packge_data (dict[str, Optional[str]]): a dictionary of expected package names and versions
135+
exp_package_data (dict[str, Optional[str]]): a dictionary of expected package names and versions
135136
"""
136137
not_found_match = []
137138
not_found_version = []
138-
for exp_key, exp_value in exp_packge_data.items():
139-
self.logger.info(exp_key)
139+
for exp_key, exp_value in exp_package_data.items():
140+
self.logger.info("Expected value: %s, %s", exp_key, exp_value)
140141
version = package_data.get(exp_key)
141-
if exp_value is None:
142+
self.logger.info("Found version: %s", version)
143+
if version is None:
144+
# package not found
145+
not_found_version.append((exp_key, exp_value))
146+
self._log_event(
147+
EventCategory.APPLICATION,
148+
f"Package {exp_key} not found in the package list",
149+
EventPriority.ERROR,
150+
{
151+
"expected_package": exp_key,
152+
"found_package": None,
153+
"expected_version": exp_value,
154+
"found_version": None,
155+
},
156+
)
157+
elif exp_value is None:
142158
# allow any version when expected version is None
143-
if version is None:
144-
# package not found
145-
not_found_version.append((exp_key, version))
146-
self._log_event(
147-
EventCategory.APPLICATION,
148-
f"Package {exp_key} not found in the package list",
149-
EventPriority.ERROR,
150-
{
151-
"expected_package": exp_key,
152-
"found_package": None,
153-
"expected_version": exp_value,
154-
"found_version": None,
155-
},
156-
)
157-
elif version != exp_value:
159+
continue
160+
elif version != str(exp_value).strip():
158161
not_found_match.append((exp_key, version))
159162
self._log_event(
160163
EventCategory.APPLICATION,
161-
f"Package {exp_key} Version Mismatch, Expected {exp_key} but found {version}",
164+
f"Package {exp_key} Version Mismatch, Expected {exp_value} but found {version}",
162165
EventPriority.ERROR,
163166
{
164167
"expected_package": exp_key,
165-
"found_package": exp_key if version else None,
168+
"found_package": exp_key,
166169
"expected_version": exp_value,
167170
"found_version": version,
168171
},
@@ -191,6 +194,7 @@ def analyze_data(
191194
self.result.message = f"Packages not found: {not_found_keys}"
192195
self.result.status = ExecutionStatus.ERROR
193196
else:
197+
self.logger.info("Expected packages: %s", list(args.exp_package_ver.keys()))
194198
not_found_match, not_found_version = self.package_exact_match(
195199
data.version_info, args.exp_package_ver
196200
)

nodescraper/plugins/inband/rocm/rocm_analyzer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,13 @@ def analyze_data(
5858
return self.result
5959

6060
for rocm_version in args.exp_rocm:
61-
if data.rocm_version == rocm_version:
61+
if data.rocm_version == str(rocm_version).strip():
6262
self.result.message = "ROCm version matches expected"
6363
self.result.status = ExecutionStatus.OK
6464
return self.result
6565

6666
self.result.message = (
67-
f"ROCm version mismatch! Expected: {rocm_version}, actual: {args.exp_rocm}"
67+
f"ROCm version mismatch! Expected: {args.exp_rocm}, actual: {data.rocm_version}"
6868
)
6969
self.result.status = ExecutionStatus.ERROR
7070
self._log_event(

nodescraper/plugins/inband/storage/storage_analyzer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def _matches_device_filter(
6666
continue
6767
if device_regex.match(device_name):
6868
return True
69-
elif device_name == exp_device:
69+
elif device_name == str(exp_device).strip():
7070
return True
7171
return False
7272

0 commit comments

Comments
 (0)