Diffing an NF5280M6 BMC dump against its BEE-SP live-CD bundle found two
blind spots in the combined-component.log onekeylog layout (no
devicefrusdr.log / asset.json):
- board manufacturer/product/part/uuid empty and stats.fru 0: the
"RESTful FRU info:" JSON block was never parsed. New component_fru.go
(ParseComponentLogFRU) flattens it to []models.FRUInfo, prefers the
product-area system serial over the board PCB serial, and sets
BoardInfo.UUID from system_uuid. Wired as a fallback only when
result.FRU is still empty.
- zero fan sensors: FanRESTInfo.FansPower was int but this firmware
writes "fans_power": 12.000000, so json.Unmarshal of the whole fan
block failed. Changed to float64.
Also included: SOL smartd SCSI/SAS device-line parsing and diagnose.go
gofmt from concurrent work on the same live-CD-diff task. See ADL-064.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011LffAvostt3uMkiUbVUiyM
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>