From b5822f0227becd5e60c5a9c176cf20ba642988f4 Mon Sep 17 00:00:00 2001 From: Alexandra Bara Date: Wed, 6 Aug 2025 14:53:30 -0500 Subject: [PATCH 1/5] updated regex for rocm version to accept 7.0.0 --- nodescraper/plugins/inband/rocm/rocmdata.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/nodescraper/plugins/inband/rocm/rocmdata.py b/nodescraper/plugins/inband/rocm/rocmdata.py index 596f9b9..2c5388e 100644 --- a/nodescraper/plugins/inband/rocm/rocmdata.py +++ b/nodescraper/plugins/inband/rocm/rocmdata.py @@ -48,12 +48,6 @@ def validate_rocm_version(cls, rocm_version: str) -> str: Returns: str: The validated ROCm version string. """ - if not bool( - re.match( - r"^(\d+(?:\.\d+){0,3})-(\d+)$", - rocm_version, - ) - ): + if not re.match(r"^\d+(?:\.\d+){0,3}(-\d+)?$", rocm_version): raise ValueError(f"ROCm version has invalid format: {rocm_version}") - return rocm_version From a26c14e63533b4a4926a74d64d285ebae7b8c5d6 Mon Sep 17 00:00:00 2001 From: Alexandra Bara Date: Thu, 7 Aug 2025 14:31:47 -0500 Subject: [PATCH 2/5] added rocm-version for version check --- .../plugins/inband/rocm/rocm_collector.py | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/nodescraper/plugins/inband/rocm/rocm_collector.py b/nodescraper/plugins/inband/rocm/rocm_collector.py index 7a0b6cb..a062184 100644 --- a/nodescraper/plugins/inband/rocm/rocm_collector.py +++ b/nodescraper/plugins/inband/rocm/rocm_collector.py @@ -23,6 +23,8 @@ # SOFTWARE. # ############################################################################### +from pathlib import Path + from nodescraper.base import InBandDataCollector from nodescraper.enums import EventCategory, EventPriority, ExecutionStatus, OSFamily from nodescraper.models import TaskResult @@ -43,19 +45,35 @@ def collect_data(self, args=None) -> tuple[TaskResult, RocmDataModel | None]: Returns: tuple[TaskResult, RocmDataModel | None]: tuple containing the task result and ROCm data model if available. """ - res = self._run_sut_cmd("cat /opt/rocm/.info/version") - if res.exit_code == 0: - rocm_data = RocmDataModel(rocm_version=res.stdout) - self._log_event( - category="ROCM_VERSION_READ", - description="ROCm version data collected", - data=rocm_data.model_dump(), - priority=EventPriority.INFO, - ) - self.result.message = f"ROCm: {rocm_data.model_dump()}" - self.result.status = ExecutionStatus.OK - else: - rocm_data = None + version_paths = [ + "/opt/rocm/.info/version-rocm", + "/opt/rocm/.info/version", + ] + + rocm_data = None + for path in version_paths: + if Path(path).exists(): + res = self._run_sut_cmd(f"cat {path}") + if res.exit_code == 0: + rocm_data = RocmDataModel(rocm_version=res.stdout) + self._log_event( + category="ROCM_VERSION_READ", + description="ROCm version data collected", + data=rocm_data.model_dump(), + priority=EventPriority.INFO, + ) + self.result.message = f"ROCm: {rocm_data.model_dump()}" + self.result.status = ExecutionStatus.OK + break + else: + self._log_event( + category=EventCategory.OS, + description=f"Could not get ROCm version format from {path}", + data={"raw_output": res.stdout}, + priority=EventPriority.ERROR, + ) + + if not rocm_data: self._log_event( category=EventCategory.OS, description="Error checking ROCm version", From b4b5b752f33524fcec8ef9600eca614db4d5c191 Mon Sep 17 00:00:00 2001 From: Alexandra Bara Date: Wed, 13 Aug 2025 10:34:10 -0500 Subject: [PATCH 3/5] addressed reviews --- .../plugins/inband/rocm/rocm_collector.py | 41 +++++++++---------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/nodescraper/plugins/inband/rocm/rocm_collector.py b/nodescraper/plugins/inband/rocm/rocm_collector.py index a062184..f9f2145 100644 --- a/nodescraper/plugins/inband/rocm/rocm_collector.py +++ b/nodescraper/plugins/inband/rocm/rocm_collector.py @@ -23,8 +23,6 @@ # SOFTWARE. # ############################################################################### -from pathlib import Path - from nodescraper.base import InBandDataCollector from nodescraper.enums import EventCategory, EventPriority, ExecutionStatus, OSFamily from nodescraper.models import TaskResult @@ -52,26 +50,25 @@ def collect_data(self, args=None) -> tuple[TaskResult, RocmDataModel | None]: rocm_data = None for path in version_paths: - if Path(path).exists(): - res = self._run_sut_cmd(f"cat {path}") - if res.exit_code == 0: - rocm_data = RocmDataModel(rocm_version=res.stdout) - self._log_event( - category="ROCM_VERSION_READ", - description="ROCm version data collected", - data=rocm_data.model_dump(), - priority=EventPriority.INFO, - ) - self.result.message = f"ROCm: {rocm_data.model_dump()}" - self.result.status = ExecutionStatus.OK - break - else: - self._log_event( - category=EventCategory.OS, - description=f"Could not get ROCm version format from {path}", - data={"raw_output": res.stdout}, - priority=EventPriority.ERROR, - ) + res = self._run_sut_cmd(f"grep . {path}") + if res.exit_code == 0: + rocm_data = RocmDataModel(rocm_version=res.stdout) + self._log_event( + category="ROCM_VERSION_READ", + description="ROCm version data collected", + data=rocm_data.model_dump(), + priority=EventPriority.INFO, + ) + self.result.message = f"ROCm: {rocm_data.model_dump()}" + self.result.status = ExecutionStatus.OK + break + else: + self._log_event( + category=EventCategory.OS, + description=f"Could not get ROCm version format from {path}", + data={"raw_output": res.stdout}, + priority=EventPriority.ERROR, + ) if not rocm_data: self._log_event( From 3498d4f3ccb7bc8d74b852a766ae3bd7fc874060 Mon Sep 17 00:00:00 2001 From: Alex Bara Date: Thu, 14 Aug 2025 09:45:12 -0500 Subject: [PATCH 4/5] addressed reviews --- nodescraper/plugins/inband/rocm/rocm_collector.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/nodescraper/plugins/inband/rocm/rocm_collector.py b/nodescraper/plugins/inband/rocm/rocm_collector.py index f9f2145..b56c7a1 100644 --- a/nodescraper/plugins/inband/rocm/rocm_collector.py +++ b/nodescraper/plugins/inband/rocm/rocm_collector.py @@ -62,13 +62,13 @@ def collect_data(self, args=None) -> tuple[TaskResult, RocmDataModel | None]: self.result.message = f"ROCm: {rocm_data.model_dump()}" self.result.status = ExecutionStatus.OK break - else: - self._log_event( - category=EventCategory.OS, - description=f"Could not get ROCm version format from {path}", - data={"raw_output": res.stdout}, - priority=EventPriority.ERROR, - ) + else: + self._log_event( + category=EventCategory.OS, + description=f"Could not get ROCm version format from {path}", + data={"raw_output": res.stdout}, + priority=EventPriority.ERROR, + ) if not rocm_data: self._log_event( From 0a912a64abc28edfda1927c790ceed6050f8ada7 Mon Sep 17 00:00:00 2001 From: Alexandra Bara Date: Mon, 18 Aug 2025 09:33:33 -0500 Subject: [PATCH 5/5] addressed reviews --- nodescraper/plugins/inband/rocm/rocm_collector.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nodescraper/plugins/inband/rocm/rocm_collector.py b/nodescraper/plugins/inband/rocm/rocm_collector.py index b56c7a1..3c62e01 100644 --- a/nodescraper/plugins/inband/rocm/rocm_collector.py +++ b/nodescraper/plugins/inband/rocm/rocm_collector.py @@ -65,7 +65,7 @@ def collect_data(self, args=None) -> tuple[TaskResult, RocmDataModel | None]: else: self._log_event( category=EventCategory.OS, - description=f"Could not get ROCm version format from {path}", + description=f"Unable to read ROCm version from {version_paths}", data={"raw_output": res.stdout}, priority=EventPriority.ERROR, )