2.4 KiB
2.4 KiB
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, structPCIeDevice) не имеет SFP-полей — всё хранится вDetails map[string]any - Конвертер (
internal/exporter/reanimator_converter.go, строки 864–868) читает скаляры изDetailsи кладёт в deprecated поляReanimatorPCIe
Что нужно сделать:
- Исследование — проверить, отдают ли реальные Redfish-источники SFP-данные per-port и в каком виде (прежде чем менять модель)
- Коллектор (
redfish.go) — если Redfish отдаёт per-port данные, собирать их в массив с индексом порта - Внутренняя модель (
models.go) — добавитьSFPModules []SFPModuleвPCIeDevice - Экспорт (
reanimator_models.go,reanimator_converter.go) — добавитьReanimatorSFPModule, смапитьSFPModulesвsfp_modules[]; убрать deprecated скаляры
Триггер для реализации: анонс Reanimator v3.0 с удалением deprecated sfp_* полей.