diff --git a/lisa/sut_orchestrator/azure/features.py b/lisa/sut_orchestrator/azure/features.py index d51391dd07..58cb8e89e3 100644 --- a/lisa/sut_orchestrator/azure/features.py +++ b/lisa/sut_orchestrator/azure/features.py @@ -1760,31 +1760,32 @@ def get_luns(self) -> Dict[str, int]: ) return device_luns # If disk_controller_type == SCSI - elif isinstance(self._node.os, BSD): - cmd_result = self._node.execute( - "camcontrol devlist", - shell=True, - sudo=True, - ) - for line in cmd_result.stdout.splitlines(): - match = self.LUN_PATTERN_BSD.search(line) - if match: - lun_number = int(match.group(1)) - device_name = match.group(2) - device_luns.update({device_name: lun_number}) - else: - azure_scsi_disks = self._get_scsi_data_disks() - device_luns = {} - lun_number_pattern = re.compile(r"[0-9]+$", re.M) - for disk in azure_scsi_disks: - # /dev/disk/azure/scsi1/lun20 -> 20 - device_lun = int(get_matched_str(disk, lun_number_pattern)) - # readlink -f /dev/disk/azure/scsi1/lun0 - # /dev/sdc + elif node_disk.get_os_disk_controller_type() == schema.DiskControllerType.SCSI: + if isinstance(self._node.os, BSD): cmd_result = self._node.execute( - f"readlink -f {disk}", shell=True, sudo=True + "camcontrol devlist", + shell=True, + sudo=True, ) - device_luns.update({cmd_result.stdout: device_lun}) + for line in cmd_result.stdout.splitlines(): + match = self.LUN_PATTERN_BSD.search(line) + if match: + lun_number = int(match.group(1)) + device_name = match.group(2) + device_luns.update({device_name: lun_number}) + else: + azure_scsi_disks = self._get_scsi_data_disks() + device_luns = {} + lun_number_pattern = re.compile(r"[0-9]+$", re.M) + for disk in azure_scsi_disks: + # /dev/disk/azure/scsi1/lun20 -> 20 + device_lun = int(get_matched_str(disk, lun_number_pattern)) + # readlink -f /dev/disk/azure/scsi1/lun0 + # /dev/sdc + cmd_result = self._node.execute( + f"readlink -f {disk}", shell=True, sudo=True + ) + device_luns.update({cmd_result.stdout: device_lun}) return device_luns def get_raw_data_disks(self) -> List[str]: