File tree 1 file changed +9
-3
lines changed
sonic_platform_base/sonic_ssd
1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -74,11 +74,17 @@ def fetch_generic_ssd_info(self, diskdev):
74
74
75
75
# Health and temperature values may be overwritten with vendor specific data
76
76
def parse_generic_ssd_info (self ):
77
- self .model = self ._parse_re ('Device Model:\s*(.+?)\n ' , self .ssd_info )
77
+ if "nvme" in self .dev :
78
+ self .model = self ._parse_re ('Model Number:\s*(.+?)\n ' , self .ssd_info )
79
+ health_raw = self ._parse_re ('Percentage Used\s*(.+?)\n ' , self .ssd_info ).split ()[- 1 ]
80
+ self .health = 100 - float (health_raw .strip ('%' ))
81
+ self .temperature = float (self ._parse_re ('Temperature\s*(.+?)\n ' , self .ssd_info ).split ()[- 2 ])
82
+ else :
83
+ self .model = self ._parse_re ('Device Model:\s*(.+?)\n ' , self .ssd_info )
84
+ self .health = self ._parse_re ('Remaining_Lifetime_Perc\s*(.+?)\n ' , self .ssd_info ).split ()[- 1 ]
85
+ self .temperature = self ._parse_re ('Temperature_Celsius\s*(.+?)\n ' , self .ssd_info ).split ()[- 6 ]
78
86
self .serial = self ._parse_re ('Serial Number:\s*(.+?)\n ' , self .ssd_info )
79
87
self .firmware = self ._parse_re ('Firmware Version:\s*(.+?)\n ' , self .ssd_info )
80
- self .health = self ._parse_re ('Remaining_Lifetime_Perc\s*(.+?)\n ' , self .ssd_info ).split ()[- 1 ]
81
- self .temperature = self ._parse_re ('Temperature_Celsius\s*(.+?)\n ' , self .ssd_info ).split ()[- 6 ]
82
88
83
89
def parse_innodisk_info (self ):
84
90
self .health = self ._parse_re ('Health:\s*(.+?)%' , self .vendor_ssd_info )
You can’t perform that action at this time.
0 commit comments