Pulse/pkg
rcourtman bd20069c60
Some checks are pending
Build and Test / Secret Scan (push) Waiting to run
Build and Test / Frontend & Backend (push) Waiting to run
fix(disks): report authoritative disk size and namespace devpath from the host agent
On a Proxmox node, physical disks collected by the host agent were keyed by
the NVMe controller (e.g. "nvme0 [nvme]") instead of the namespace, reported
sizeBytes 0 (or a stale filesystem-usage value), and flickered as the agent
reading intermittently replaced the authoritative Proxmox disks/list reading.

Root causes:
- smartctl --scan-open reports NVMe disks by their controller char device
  (/dev/nvme0), and that scan label became the reported devPath.
- DiskSMART carried no capacity, so the server backfilled size by matching the
  SMART device against host filesystem-usage entries, which never match a whole
  partitioned/LVM/ZFS disk, leaving size 0.
- The unified-resource merge let the agent's controller label overwrite the
  canonical Proxmox /dev/... devPath.

Fixes:
- The agent now reports the canonical block device (an NVMe controller resolves
  to its namespace) and the authoritative capacity from /sys/block, with the
  smartctl user_capacity / nvme_total_capacity as a cross-platform fallback.
  Disks behind multiplexing controllers (megaraid, cciss, areca) keep their
  disambiguating label and smartctl-reported size.
- SizeBytes flows through the agent report, host model, and adapter; the
  filesystem-usage match is demoted to a legacy fallback.
- The merge keeps a canonical /dev/<device> devPath and never downgrades it to
  a scan label, so an un-updated agent can no longer corrupt Proxmox data.

Refs #1483.
2026-05-29 19:55:53 +01:00
..
agents fix(disks): report authoritative disk size and namespace devpath from the host agent 2026-05-29 19:55:53 +01:00
aicontracts Make Patrol reasoning model-owned 2026-05-15 12:22:52 +01:00
audit Harden audit log store failures 2026-05-28 13:44:20 +01:00
auth Split audit log access into dedicated token scope 2026-04-22 07:59:12 +01:00
cloudauth fix(hosted): preserve direct handoff membership continuity 2026-03-26 23:40:02 +00:00
db feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
discovery Pin discovery HTTP probes to captured TLS peers 2026-03-29 19:32:56 +01:00
extensions Restore commercial monitored-system admission hook contract 2026-05-06 18:04:59 +01:00
fsfilters Harden agentexec token binding and disk filtering 2026-04-23 15:54:48 +01:00
licensing Add self-hosted commercial continuity proof 2026-05-13 16:44:26 +01:00
metrics Coalesce duplicate metrics write batches 2026-05-13 13:19:16 +01:00
pbs Fix PBS job task history filters 2026-05-13 17:09:45 +01:00
pmg Harden outbound URLs and file-backed storage 2026-03-29 12:47:55 +01:00
proxmox Fix Proxmox guest memory fallback 2026-05-29 11:44:29 +01:00
pulsecli Add action execution safety contract 2026-05-04 23:19:58 +01:00
reporting Harden Patrol and Assistant action boundaries 2026-05-12 12:06:27 +01:00
securityutil Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
server Add optional dedicated agent-ingest listener (PULSE_AGENT_INGEST_PORT) 2026-05-28 22:55:38 +01:00
tlsutil Fail closed on auth env hashing and TLS floors 2026-04-22 05:53:02 +01:00