fix(inspur): correctly handle PCIe Assert/Deassert GPU fault events

Three related fixes for IDL event processing:

1. idl.go: include EventType in dedup key so Deassert events are no
   longer silently dropped as duplicates of their Assert counterparts.

2. gpu_status.go: treat Deassert events as clearing all GPU faults —
   previously the code re-applied the same faulty GPU set from the
   description, leaving GPUs stuck in Critical even after alarm cleared.

3. reanimator_models/converter: add bmc_event_summary section to the
   Reanimator export — a deduplicated Critical/Warning event table with
   Active/Resolved status derived from Assert/Deassert pairs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-28 03:38:04 +03:00
parent f3836a34cc
commit 440959483e
5 changed files with 137 additions and 15 deletions
+1 -1
View File
@@ -48,7 +48,7 @@ func ParseIDLLog(content []byte) []models.Event {
description = cleanDescription(description)
// Create unique key for deduplication
eventKey := eventID + "|" + description
eventKey := eventID + "|" + eventType + "|" + description
if seenEvents[eventKey] {
continue
}