export: align reanimator contract v2.7
This commit is contained in:
@@ -35,25 +35,34 @@ Implementation files:
|
||||
Conversion rules:
|
||||
- canonical source is merged canonical inventory derived from `hardware.devices` plus legacy hardware slices
|
||||
- output must conform to the strict Reanimator ingest contract in `docs/hardware-ingest-contract.md`
|
||||
- local mirror currently tracks upstream contract `v2.7`
|
||||
- timestamps are RFC3339
|
||||
- status is normalized to Reanimator-friendly values
|
||||
- missing PCIe serials may be generated from board serial + slot
|
||||
- missing CPU serials may be generated from board serial + socket
|
||||
- missing component serial numbers must stay absent; LOGPile must not synthesize fake serials for Reanimator export
|
||||
- CPU `firmware` field means CPU microcode, not generic processor firmware inventory
|
||||
- `NULL`-style board manufacturer/product values are treated as absent
|
||||
- optional component telemetry/health fields are exported when LOGPile already has the data
|
||||
- partial `hardware.devices` must not suppress components still present only in legacy parser/collector fields
|
||||
- `present` is not serialized for exported components; presence is expressed by the existence of the component record itself
|
||||
- Reanimator ingest may apply its own server-side fallback serial rules for CPU and PCIe when LOGPile leaves serials absent
|
||||
|
||||
## Inclusion rules
|
||||
|
||||
Included:
|
||||
- PCIe-class devices even when serial must be synthesized
|
||||
- contract `v2.4` component telemetry and health fields when source data exists
|
||||
- hardware sensors grouped into `fans`, `power`, `temperatures`, `other`
|
||||
- PCIe-class devices when the component itself is present, even if serial number is missing
|
||||
- contract `v2.7` component telemetry and health fields when source data exists
|
||||
- hardware sensors grouped into `fans`, `power`, `temperatures`, `other` only when the sensor has a real numeric reading
|
||||
- sensor `location` is not exported; LOGPile keeps only sensor `name` plus measured values and status
|
||||
- Redfish linked metric docs that carry component telemetry: `ProcessorMetrics`, `MemoryMetrics`, `DriveMetrics`, `EnvironmentMetrics`, `Metrics`
|
||||
- `pcie_devices.slot` is treated as the canonical PCIe address; `bdf` is used only as an internal fallback/dedupe key and is not serialized in the payload
|
||||
- `event_logs` are exported only from normalized parser/collector events that can be mapped to contract sources `host` / `bmc` / `redfish` without synthesizing content
|
||||
- `manufactured_year_week` is exported only as a reliable passthrough when the parser/collector already extracted a valid `YYYY-Www` value
|
||||
|
||||
Excluded:
|
||||
- storage endpoints from `pcie_devices`; disks and NVMe drives export only through `hardware.storage`
|
||||
- fake serial numbers for PCIe-class devices; any fallback serial generation belongs to Reanimator ingest, not LOGPile
|
||||
- sensors without a real numeric reading
|
||||
- events with internal-only or unmappable sources such as LOGPile internal warnings
|
||||
- memory with missing serial number
|
||||
- memory with `present=false` or `status=Empty`
|
||||
- CPUs with `present=false`
|
||||
|
||||
Reference in New Issue
Block a user