feat(inspur): enrich storage serials from SOLHostCapture.log smartd output
When the BMC HDD API returns an empty array (RAID controller attached via PCIe, e.g. PM8204-2GB), disk serial numbers are now recovered from smartd startup messages in SOLHostCapture.log. Enrichment runs in three passes: model-match on existing slots, positional fill of empty backplane placeholders, then new entries for any remainder. Both log/ and runningdata/var/ copies are merged with serial deduplication. Parser version bumped to 2.1. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -16,7 +16,7 @@ import (
|
||||
|
||||
// parserVersion - version of this parser module
|
||||
// IMPORTANT: Increment this version when making changes to parser logic!
|
||||
const parserVersion = "2.0"
|
||||
const parserVersion = "2.1"
|
||||
|
||||
func init() {
|
||||
parser.Register(&Parser{})
|
||||
@@ -234,6 +234,9 @@ func (p *Parser) Parse(files []parser.ExtractedFile) (*models.AnalysisResult, er
|
||||
if result.Hardware != nil {
|
||||
applyGPUStatusFromEvents(result.Hardware, result.Events)
|
||||
enrichStorageFromSerialFallbackFiles(files, result.Hardware)
|
||||
// Enrich storage serial numbers from smartd output in SOLHostCapture.log.
|
||||
// Fills in serial, model, firmware for backplane slots that the BMC HDD API left empty.
|
||||
enrichStorageFromSOLSmartd(files, result.Hardware)
|
||||
// Apply RAID disk serials from audit.log (authoritative: last non-NULL SN change).
|
||||
// These override redis/component.log serials which may be stale after disk replacement.
|
||||
applyRAIDSlotSerials(result.Hardware, raidSlotSerials)
|
||||
|
||||
Reference in New Issue
Block a user