Create replacement tickets for Ridata drives instead of silently skipping
Ridata drives are known unreliable hardware. Instead of skipping them with no notification, flag as REPLACEMENT_NEEDED and create tickets recommending replacement. Resolves #13 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1831,7 +1831,7 @@ class SystemHealthMonitor:
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
# Only report issues for drives with valid SMART status
|
# Only report issues for drives with valid SMART status
|
||||||
if drive.get('smart_issues') and drive.get('smart_status') in ['HEALTHY', 'UNHEALTHY', 'UNKNOWN']:
|
if drive.get('smart_issues') and drive.get('smart_status') in ['HEALTHY', 'UNHEALTHY', 'UNKNOWN', 'REPLACEMENT_NEEDED']:
|
||||||
# Filter out generic error messages and manufacturer-specific false positives
|
# Filter out generic error messages and manufacturer-specific false positives
|
||||||
filtered_issues = []
|
filtered_issues = []
|
||||||
for issue in drive['smart_issues']:
|
for issue in drive['smart_issues']:
|
||||||
@@ -2345,12 +2345,13 @@ class SystemHealthMonitor:
|
|||||||
smart_health['issues'].append("Unable to read device information")
|
smart_health['issues'].append("Unable to read device information")
|
||||||
return smart_health
|
return smart_health
|
||||||
|
|
||||||
# Skip Ridata drives entirely - unreliable and being replaced
|
# Ridata drives - known unreliable hardware, flag for replacement
|
||||||
manufacturer = self._detect_manufacturer(drive_details.get('model', ''))
|
manufacturer = self._detect_manufacturer(drive_details.get('model', ''))
|
||||||
if manufacturer == 'Ridata':
|
if manufacturer == 'Ridata':
|
||||||
smart_health['status'] = 'SKIPPED'
|
smart_health['status'] = 'REPLACEMENT_NEEDED'
|
||||||
smart_health['issues'].append("Ridata drive - monitoring disabled (unreliable hardware)")
|
smart_health['severity'] = 'WARNING'
|
||||||
logger.debug(f"Skipping SMART monitoring for Ridata drive {device}")
|
smart_health['issues'].append("Ridata drive detected - known unreliable hardware, replacement recommended")
|
||||||
|
logger.info(f"Ridata drive {device} flagged for replacement")
|
||||||
return smart_health
|
return smart_health
|
||||||
|
|
||||||
logger.debug(f"Drive details for {device}: {drive_details}")
|
logger.debug(f"Drive details for {device}: {drive_details}")
|
||||||
|
|||||||
Reference in New Issue
Block a user