Mikhail ChusavitinandClaude Sonnet 5 9b2c654182 fix(parser,exporter): reconcile BMC-dump and live-CD exports of the same server
The audit tool that ingests Reanimator exports treats any per-component field
change between imports as a component replacement. Importing an xFusion BMC dump
and an easy_bee BEE-SP bundle for one server produced large spurious diffs.

xfusion:
- parseMemInfo tolerates a stray 0x0A inside the binary SPD "bom number" column
  (it was splitting a DIMM record in two and emitting a phantom "slot s" module)
- DIMM slot from the "dimm name" column ("DIMM071"), mainboard "location" dropped
- GPU slot = BDF (Reanimator contract)
- NIC emitted per PCI function from netcard_info.txt (BDF + per-port MAC, shared
  card serial) instead of one card-level adapter with the wrong BDF, which had
  been colliding with a GPU and vanishing in dedup
- NIC manufacturer left blank when it is the system OEM so the exporter resolves
  the silicon vendor from pci.ids
- "(U6216)" chip designator stripped from firmware versions

easy_bee:
- PSU bay numbers rebased 0-indexed -> 1-indexed; bare single-letter PSU
  "firmware" (a leaked FRU version) cleared
- board.part_number taken from the bundle's ipmitool-fru.txt chassis
  "Product Part Number" to match the BMC value

exporter (cross-vendor):
- canonicalMemorySlot: drop dmidecode "(J)" channel tag, Memory111 -> DIMM111
- canonicalGPUModel: NVIDIA DC GPUs reduce to the bare chip token
- canonicalStorageMediaAndInterface: NVMe is a bus not a medium
- manufacturerFromStorageModel: fill blank drive vendor from the model prefix
- isRemovableUSBStorageDevice: drop live-CD boot sticks
- isOnboardControllerPCIeDevice: drop SATA/NVMe/MegaRAID/PCIe-switch controller
  functions that only an lspci scan reports (keep add-in cards with an identity)

For the reference server every physical component now appears in both exports
keyed identically; residual diffs are one-sided enrichment only.

Refs ADL-061, ADL-062.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VFy4m7cVv4cqp25jJh2gSB
2026-08-31 22:50:07 +03:00
2026-03-16 00:20:11 +03:00
2026-03-15 16:35:16 +03:00
2026-03-15 16:35:16 +03:00
2026-03-16 00:20:11 +03:00
2026-03-15 16:35:16 +03:00

LOGPile

Standalone Go application for BMC diagnostics analysis with an embedded web UI.

What it does

  • Parses vendor diagnostic archives into a normalized hardware inventory
  • Collects live BMC data via Redfish
  • Exports normalized data as CSV, raw re-analysis bundles, and Reanimator JSON
  • Runs as a single Go binary with embedded UI assets

Documentation

Run

make build
./bin/logpile

Default port: 8082

License

MIT (see LICENSE)

S
Description
BMC Log analyzer
Readme
32 MiB
logpile v1.31
Latest
2026-09-01 12:11:42 +03:00
Languages
Go 92.3%
JavaScript 4.6%
CSS 1.5%
HTML 1%
Shell 0.5%
Other 0.1%