Skip to content

Commit 644f8c2

Browse files
[SSD] deduce vendor name from part number (#322)
- Description Deduce SSD vendor name from part number for Virtum - Motivation and Context Currently, ssd_generic.py deduce vendor name by smartctl command. For example, Device Model: StorFly VSFDM8XC240G-V11-T "StorFly" is the vendor name. However, for some SSD vendor, smartctl cannot get vendor name. For example: Device Model: VSFDM8XC240G-V11-T In such case, vendor name shall be deduced from part number.
1 parent bbad250 commit 644f8c2

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

sonic_platform_base/sonic_ssd/ssd_generic.py

+13-4
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@ def __init__(self, diskdev):
5252

5353
# Known vendor part
5454
if self.model:
55-
model_short = self.model.split()[0]
56-
if model_short in self.vendor_ssd_utility:
57-
self.fetch_vendor_ssd_info(diskdev, model_short)
58-
self.parse_vendor_ssd_info(model_short)
55+
vendor = self._parse_vendor()
56+
if vendor:
57+
self.fetch_vendor_ssd_info(diskdev, vendor)
58+
self.parse_vendor_ssd_info(vendor)
5959
else:
6060
# No handler registered for this disk model
6161
pass
@@ -72,6 +72,15 @@ def _parse_re(self, pattern, buffer):
7272
res_list = re.findall(pattern, buffer)
7373
return res_list[0] if res_list else NOT_AVAILABLE
7474

75+
def _parse_vendor(self):
76+
model_short = self.model.split()[0]
77+
if model_short in self.vendor_ssd_utility:
78+
return model_short
79+
elif self.model.startswith('VSF'):
80+
return 'Virtium'
81+
else:
82+
return None
83+
7584
def fetch_generic_ssd_info(self, diskdev):
7685
self.ssd_info = self._execute_shell(self.vendor_ssd_utility["Generic"]["utility"].format(diskdev))
7786

0 commit comments

Comments
 (0)