Files
bee/bible-local/backlog.md
Mikhail Chusavitin 36dff6e584 feat: CPU SAT via stress-ng + BMC version via ipmitool
BMC:
- collector/board.go: collectBMCFirmware() via ipmitool mc info, graceful skip if /dev/ipmi0 absent
- collector/collector.go: append BMC firmware record to snap.Firmware
- app/panel.go: show BMC version in TUI right-panel header alongside BIOS

CPU SAT:
- platform/sat.go: RunCPUAcceptancePack(baseDir, durationSec) — lscpu + sensors before/after + stress-ng
- app/app.go: RunCPUAcceptancePack + RunCPUAcceptancePackResult methods, satRunner interface updated
- app/panel.go: CPU row now reads real PASS/FAIL from cpu-*/summary.txt via satStatuses(); cpuDetailResult shows last SAT summary + audit data
- tui/types.go: actionRunCPUSAT, confirmBody for CPU test with mode label
- tui/screen_health_check.go: hcCPUDurations [60,300,900]s; hcRunSingle(CPU)→confirm screen; executeRunAll uses RunCPUAcceptancePackResult
- tui/forms.go: actionRunCPUSAT → RunCPUAcceptancePackResult with mode duration
- cmd/bee/main.go: bee sat cpu [--duration N] subcommand

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 11:06:12 +03:00

4.5 KiB
Raw Permalink Blame History

Backlog

BMC версия через IPMI

Статус: реализовано.

Добавить сбор версии BMC firmware в board collector:

  • Команда: ipmitool mc info → поле Firmware Revision
  • Записывать в hardware.firmware[] как {device_name: "BMC", version: "..."}
  • Показывать в TUI правой колонке рядом с BIOS версией
  • Graceful skip если /dev/ipmi0 отсутствует (silent: same pattern as PSU collector)

CPU acceptance test через stress-ng

Статус: реализовано. CPU в Health Check получает PASS/FAIL из summary.txt.

Добавить CPU SAT на базе stress-ng:

  • Bake stress-ng в ISO (добавить в bee.list.chroot)
  • Новый bee sat cpu — запускает stress-ng --cpu 0 --cpu-method all --timeout <N> где N = duration из режима (Quick=60s, Standard=300s, Express=900s)
  • Параллельно снимает температуры через sensors и throttle-флаги из аудит JSON
  • Результат: SAT архив с summary.txt в формате других SAT (overall_status=OK/FAILED)
  • После реализации: CPU в Health Check получает реальный PASS/FAIL статус

Real hardware validation

Статус: ожидает доступа к железу.

Что осталось подтвердить на практике:

  • bee sat nvidia на реальном NVIDIA GPU host
  • bee sat storage на NVMe/SATA/RAID host
  • ipmitool sdr parsing на сервере с реальным BMC/IPMI
  • vendor RAID tooling (storcli64, sas2ircu, sas3ircu, arcconf, ssacli) в живом ISO

SAT result polish

Статус: частично закрыто.

Что ещё можно улучшить после полевой проверки:

  • точнее классифицировать vendor-specific self-test outputs в storage SAT
  • подобрать дефолты memtester по объёму RAM на целевых машинах
  • при необходимости расширить bee-gpu-stress по длительности/нагрузке

Hardware Contract backlog

Статус: уточнён, сокращён до bee-only snapshot scope.

Не backlog для bee

Эти задачи не должны реализовываться в bee, потому что относятся к централизованному ingest/lifecycle слою:

  • status_history
  • status_changed_at
  • определение замены компонента между snapshot'ами
  • timeline/lifecycle/history по diff между экспортами

bee отвечает только за текущий snapshot железа и status_checked_at.

Реализуемо инкрементально

Эти поля можно развивать дальше по мере появления реальных sample outputs и vendor-specific parser'ов:

  • cpus.correctable_error_count
  • cpus.uncorrectable_error_count
  • power_supplies.life_remaining_pct
  • power_supplies.life_used_pct
  • pcie_devices.battery_charge_pct
  • pcie_devices.battery_health_pct
  • pcie_devices.battery_temperature_c
  • pcie_devices.battery_voltage_v
  • pcie_devices.battery_replace_required

Vendor/platform-specific, часто пустые

Эти поля допустимо оставлять пустыми на части платформ даже после реализации parser'ов:

  • power_supplies.life_remaining_pct
  • power_supplies.life_used_pct
  • часть pcie_devices.battery_* для неподдержанных RAID/NIC/GPU вендоров

Unsupported в bee

Эти поля считаются нереалистичными для общего OS-level hardware snapshotter без synthetic/fake data:

  • cpus.life_remaining_pct
  • cpus.life_used_pct
  • memory.life_remaining_pct
  • memory.life_used_pct
  • memory.spare_blocks_remaining_pct
  • memory.performance_degraded

Причина: у обычного Linux-host audit обычно нет честного vendor-neutral runtime source для этих метрик.

Эти поля считаются дропнутыми из backlog bee и не должны возвращаться в план работ без появления нового доказуемого локального источника данных на целевых машинах.