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
|
||||
|
||||
# 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
|
||||
filtered_issues = []
|
||||
for issue in drive['smart_issues']:
|
||||
@@ -2345,12 +2345,13 @@ class SystemHealthMonitor:
|
||||
smart_health['issues'].append("Unable to read device information")
|
||||
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', ''))
|
||||
if manufacturer == 'Ridata':
|
||||
smart_health['status'] = 'SKIPPED'
|
||||
smart_health['issues'].append("Ridata drive - monitoring disabled (unreliable hardware)")
|
||||
logger.debug(f"Skipping SMART monitoring for Ridata drive {device}")
|
||||
smart_health['status'] = 'REPLACEMENT_NEEDED'
|
||||
smart_health['severity'] = 'WARNING'
|
||||
smart_health['issues'].append("Ridata drive detected - known unreliable hardware, replacement recommended")
|
||||
logger.info(f"Ridata drive {device} flagged for replacement")
|
||||
return smart_health
|
||||
|
||||
logger.debug(f"Drive details for {device}: {drive_details}")
|
||||
|
||||
Reference in New Issue
Block a user