Skip to content

Commit

Permalink
usb.py: removed logging, ssd.py: split nvme parsing to its own function
Browse files Browse the repository at this point in the history
  • Loading branch information
assrinivasan committed Oct 6, 2024
1 parent 51268da commit 9110e3d
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 30 deletions.
55 changes: 29 additions & 26 deletions sonic_platform_base/sonic_storage/ssd.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,38 +148,41 @@ def _parse_vendor(self):
def fetch_generic_ssd_info(self, diskdev):
self.ssd_info = self._execute_shell(self.vendor_ssd_utility["Generic"]["utility"].format(diskdev))

# Health and temperature values may be overwritten with vendor specific data
def parse_generic_ssd_info(self):
if "nvme" in self.dev:
self.model = self._parse_re('Model Number:\s*(.+?)\n', self.ssd_info)
def parse_nvme_ssd_info(self):
self.model = self._parse_re('Model Number:\s*(.+?)\n', self.ssd_info)

health_raw = self._parse_re('Percentage Used\s*(.+?)\n', self.ssd_info)
if health_raw == NOT_AVAILABLE:
self.health = NOT_AVAILABLE
else:
health_raw = health_raw.split()[-1]
self.health = 100 - float(health_raw.strip('%'))
health_raw = self._parse_re('Percentage Used\s*(.+?)\n', self.ssd_info)
if health_raw == NOT_AVAILABLE:
self.health = NOT_AVAILABLE
else:
health_raw = health_raw.split()[-1]
self.health = 100 - float(health_raw.strip('%'))

temp_raw = self._parse_re('Temperature\s*(.+?)\n', self.ssd_info)
if temp_raw == NOT_AVAILABLE:
self.temperature = NOT_AVAILABLE
else:
temp_raw = temp_raw.split()[-2]
self.temperature = float(temp_raw)
temp_raw = self._parse_re('Temperature\s*(.+?)\n', self.ssd_info)
if temp_raw == NOT_AVAILABLE:
self.temperature = NOT_AVAILABLE
else:
temp_raw = temp_raw.split()[-2]
self.temperature = float(temp_raw)

spare_blocks_raw = self._parse_re('Available Spare\s*(.+?)\n', self.ssd_info)
if spare_blocks_raw != NOT_AVAILABLE:
spare_blocks_raw = spare_blocks_raw.split()[-1]
self.reserved_blocks = float(spare_blocks_raw.strip('%'))
spare_blocks_raw = self._parse_re('Available Spare\s*(.+?)\n', self.ssd_info)
if spare_blocks_raw != NOT_AVAILABLE:
spare_blocks_raw = spare_blocks_raw.split()[-1]
self.reserved_blocks = float(spare_blocks_raw.strip('%'))

disk_io_reads_raw = self._parse_re('Data Units Read\s*(.+?)\n', self.ssd_info)
if disk_io_reads_raw != NOT_AVAILABLE:
self.disk_io_reads = disk_io_reads_raw.split(':')[-1].strip()
disk_io_reads_raw = self._parse_re('Data Units Read\s*(.+?)\n', self.ssd_info)
if disk_io_reads_raw != NOT_AVAILABLE:
self.disk_io_reads = disk_io_reads_raw.split(':')[-1].strip()

disk_io_writes_raw = self._parse_re('Data Units Written\s*(.+?)\n', self.ssd_info)
if disk_io_writes_raw != NOT_AVAILABLE:
self.disk_io_writes = disk_io_writes_raw.split(':')[-1].strip()
disk_io_writes_raw = self._parse_re('Data Units Written\s*(.+?)\n', self.ssd_info)
if disk_io_writes_raw != NOT_AVAILABLE:
self.disk_io_writes = disk_io_writes_raw.split(':')[-1].strip()

# Health and temperature values may be overwritten with vendor specific data
def parse_generic_ssd_info(self):

if "nvme" in self.dev:
self.parse_nvme_ssd_info()
else:
self.model = self._parse_re('Device Model:\s*(.+?)\n', self.ssd_info)

Expand Down
4 changes: 0 additions & 4 deletions sonic_platform_base/sonic_storage/usb.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
try:
import os
from .storage_common import StorageCommon
from sonic_py_common import syslogger
from blkinfo import BlkDiskInfo
except ImportError as e:
raise ImportError(str(e) + "- required module not found")
Expand Down Expand Up @@ -36,9 +35,6 @@ def __init__(self, diskdev):
self.path = os.path.join('/sys/block', os.path.basename(diskdev))
StorageCommon.__init__(self, diskdev)

self.log_identifier = "UsbUtil"
self.log = syslogger.SysLogger(self.log_identifier)

self.fetch_parse_info()

def fetch_parse_info(self, diskdev=None):
Expand Down

0 comments on commit 9110e3d

Please sign in to comment.