From be37f1852bedbf14b74937d09497b6d9a4507d81 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Tue, 1 Sep 2026 12:13:15 +0300 Subject: [PATCH] docs(releases): fill in v1.31 release notes (cumulative since v1.26) Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_011LffAvostt3uMkiUbVUiyM --- releases/v1.31/RELEASE_NOTES.md | 108 ++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 releases/v1.31/RELEASE_NOTES.md diff --git a/releases/v1.31/RELEASE_NOTES.md b/releases/v1.31/RELEASE_NOTES.md new file mode 100644 index 0000000..aae9081 --- /dev/null +++ b/releases/v1.31/RELEASE_NOTES.md @@ -0,0 +1,108 @@ +# logpile v1.31 + +Дата релиза: 2026-09-01 +Тег: `v1.31` + +Накопительный список изменений с версии v1.26. + +## Парсеры + +### nvidia_bug_report: извлечение ошибок GPU Xid/SXid (ADL-055) + +Парсер теперь сканирует `nvidia-bug-report-*.log.gz` на строки `NVRM: Xid` / +`NVRM: SXid` и выдаёт события с эвристической классификацией «железо против +нагрузки» по каталогу Xid-кодов. Лавинообразный поток одного NVLink-сообщения +(наблюдалось 114 440 строк за раз) сворачивается в одно суммарное событие. + +### Одиночные .gz больше не обрезаются фиксированным лимитом (ADL-054) + +Распаковка одиночного gzip-файла ограничивается не жёстким потолком в 50 МБ, а +защитой по коэффициенту сжатия (300:1) и абсолютным потолком 1 ГБ. Большие +bug-report-логи (пример: 53 МБ в распакованном виде) проходят целиком. + +### Inspur: часовые пояса, PPIN, активные отказы NVMe + +- Уровень события берётся из RFC 5424 PRI; SEL-записи без смещения времени + разрешаются по временной шкале из IDL-записей с явным смещением; убраны + фиктивные записи 1970 года (ADL-056). +- PPIN процессора экспортируется как серийный номер CPU; активные отказы + NVMe-накопителей (`dev_status.log`, IDL Assert/Deassert) проецируются на статус + `hardware.storage` (ADL-057). + +### Inspur: комбинированный component.log без devicefrusdr.log / asset.json (ADL-064) + +- Блок `RESTful FRU info:` теперь разбирается — из него берутся производитель, + модель, партномер и системный UUID платы (раньше `board` содержал только + серийный номер, `stats.fru` был 0). +- Поле `fans_power` приходит как float (`12.000000`) — из-за типа `int` + `json.Unmarshal` всего блока падал и терял все датчики вентиляторов. +- Из версий прошивок (`RESTful version info`) срезается суффикс со временем + сборки (`08.05.01 (02/21/2024 16:51:27)`), иначе он вызывает событие + `FIRMWARE_CHANGED` при каждом импорте. +- Разбор строк SOL smartd в формате SCSI/SAS. + +### xFusion: согласование выгрузок BMC и live-CD одного сервера (ADL-061, ADL-062) + +- Общая нормализация в экспортёре: метки слотов памяти, модели дата-центровых + GPU, тип и интерфейс накопителей, фильтрация onboard-контроллеров и служебных + USB-флешек. +- OCP NIC выдаётся по одной записи на PCI-функцию без серийного номера, чтобы обе + выгрузки ключевали порты по MAC и не порождали ложные install/remove. +- Строки `mem_info` восстанавливаются при попадании байта `0x0A` в SPD-поле BOM + (исчез фантомный DIMM «slot s»). + +### xFusion: размер накопителей из disk_info (ADL-063) + +`Capacity : 6.986 TB` теперь разбирается (единицы TB/бинарные) в `size_gb`. +Раньше `Sscanf("%f GB")` не совпадал и `size_gb` оставался 0 для всех NVMe. + +### HPE iLO AHS: дедуп DIMM по слоту (ADL-060) + +Инвентарь памяти сворачивается по одной записи на слот, выигрывает самый свежий +POST-снимок. Замена модуля в слоте больше не даёт лишний модуль (было 26 на +24-слотовой плате). + +### easy_bee: поддержка bee-support v12+ + +`bee-audit.json` и `runtime-health.json` ищутся не только в `export/` +(в v12+ они лежат в `tasks/_state/` и `status/`). + +### models: PPIN как общий фолбэк серийного номера CPU (ADL-058) + +`models.ResolveCPUSerialNumber` централизует правило: явный серийник в приоритете, +иначе валидный PPIN. Применяется в Dell, H3C, Inspur, Redfish и на границе +API/экспорта. Идентификатор никогда не выводится из сокета, модели или чужого +компонента. + +## Redfish-коллектор + +- Восстановление GPU и NIC, терявшихся на Redfish-выгрузках xFusion G5500. +- Дедуп GPU и разрешение модели по тексту на платах xFusion без PCI-идентити. +- RAID/HBA-контроллеры поднимаются из `Storage.StorageControllers[]`. +- Адрес preflight-ping собирается через `net.JoinHostPort` для IPv6-хостов. + +## Экспорт в Reanimator + +- Сбор и экспорт `storage.vendor_id` / `device_id` (контракт ingest v2.13, ADL-053). +- Дедуп NIC по нормализованному MAC; убран мусорный фолбэк серийника из redis. +- Устройства PCIe/GPU/NIC с шириной линии ниже согласованной помечаются `Warning`. +- Удалено мёртвое поле `bmc_event_summary`; исправлена потеря статуса для CPU/GPU Inspur. +- Канонический дедуп PCIe ключуется по BDF раньше серийника. +- Дизамбигуация коллизий слотов PSU и памяти; слоты PSU назначаются по порядку + серийников; исправлен дедуп памяти, схлопывавший разные DIMM. +- Исправлены обрезание больших tar.gz и подстановка пустого `device_class`. + +## Инструменты + +- Новый офлайн-CLI `logpile-cpu-audit` для аудита идентити процессоров, с режимом + `-reanimator` для готовых ingest-пейлоадов (ADL-059). +- Пакетная конвертация выполняется на пуле воркеров. + +## Документация + +- `bible-local`: ADL-054 … ADL-064. + +## Запуск на macOS + +Снимите карантинный атрибут через терминал: `xattr -d com.apple.quarantine /path/to/logpile-darwin-arm64` +После этого бинарник запустится без предупреждения Gatekeeper.