Skip to content

Commit a55f287

Browse files
committed
fixes issue with reported predicted_media_life_left of 0 for non HDD disks #149 #150
1 parent 886ad1f commit a55f287

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

cr_module/storage.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def get_physical_drive_status(drive_data: PhysicalDrive, issues: str=None) -> st
3636
pd_status_details.append(f"{drive_data.type}")
3737
if drive_data.interface_type is not None:
3838
pd_status_details.append(f"{drive_data.interface_type}")
39-
if drive_data.predicted_media_life_left_percent is not None:
39+
if drive_data.type == "SSD" and drive_data.predicted_media_life_left_percent is not None:
4040
pd_status_details.append(f"Media life left: {drive_data.predicted_media_life_left_percent}%")
4141
if drive_data.operation_status is not None:
4242
pd_status_details.append(f"Status: {drive_data.operation_status}")
@@ -88,7 +88,7 @@ def add_physical_drive_perf_data(drive_data: PhysicalDrive, warning: int=None, c
8888
plugin_object.add_perf_data(f"temp_{pd_name}", int(drive_data.temperature),
8989
location=f"System {drive_data.system_ids}")
9090

91-
if isinstance(drive_data.predicted_media_life_left_percent, (int, float)):
91+
if drive_data.type == "SSD" and isinstance(drive_data.predicted_media_life_left_percent, (int, float)):
9292

9393
plugin_object.add_perf_data(f"media_life_left_{pd_name}",
9494
int(drive_data.predicted_media_life_left_percent), perf_uom="%",
@@ -258,7 +258,7 @@ def get_disks(link, disk_type="DiskDrives"):
258258
media_life_warning = force_cast(int, plugin_object.cli_args.warning, media_life_warning_default)
259259
media_life_critical = force_cast(int, plugin_object.cli_args.critical, media_life_critical_default)
260260

261-
if pd_inventory.predicted_media_life_left_percent is not None:
261+
if pd_inventory.type == "SSD" and pd_inventory.predicted_media_life_left_percent is not None:
262262
if force_cast(int, pd_inventory.predicted_media_life_left_percent, 100) <= media_life_critical:
263263
pd_inventory.health_status = "CRITICAL"
264264
elif force_cast(int, pd_inventory.predicted_media_life_left_percent, 100) <= media_life_warning:

0 commit comments

Comments
 (0)