Files
logpile/bible-local/BACKLOG.md
2026-06-19 18:39:28 +03:00

2.4 KiB
Raw Blame History

Backlog

[sfp_modules] Поддержка per-port SFP/QSFP модулей в экспорте Reanimator

Приоритет: низкий (до выхода Reanimator v3.0, пока deprecated sfp_* скаляры ещё принимаются)

Контекст: Reanimator Hardware Ingest Contract v2.11 вводит массив pcie_devices[].sfp_modules[] для передачи данных SFP/QSFP-модулей по портам. Старые скалярные поля (sfp_temperature_c, sfp_tx_power_dbm, sfp_rx_power_dbm, sfp_voltage_v, sfp_bias_ma) помечены deprecated и будут удалены в v3.0. Для многопортовых NIC (ConnectX-6 Dx, Intel X710 и подобных) текущая реализация теряет данные — коллектор берёт первое найденное значение и не знает о портах.

Текущее состояние:

  • Коллектор (internal/collector/redfish.go, redfishPCIeDetailsWithSupplementalDocs) собирает SFP как 5 скалярных float64 на устройство через redfishFirstNumericAcrossDocs
  • Внутренняя модель (internal/models/models.go, struct PCIeDevice) не имеет SFP-полей — всё хранится в Details map[string]any
  • Конвертер (internal/exporter/reanimator_converter.go, строки 864868) читает скаляры из Details и кладёт в deprecated поля ReanimatorPCIe

Что нужно сделать:

  1. Исследование — проверить, отдают ли реальные Redfish-источники SFP-данные per-port и в каком виде (прежде чем менять модель)
  2. Коллектор (redfish.go) — если Redfish отдаёт per-port данные, собирать их в массив с индексом порта
  3. Внутренняя модель (models.go) — добавить SFPModules []SFPModule в PCIeDevice
  4. Экспорт (reanimator_models.go, reanimator_converter.go) — добавить ReanimatorSFPModule, смапить SFPModules в sfp_modules[]; убрать deprecated скаляры

Триггер для реализации: анонс Reanimator v3.0 с удалением deprecated sfp_* полей.