Skip to content

Publish usable root free percent from each pressure observer - #394

Merged
rldyourmnd merged 1 commit into
mainfrom
fix/pressure-observer-usable-root-disk
Sep 3, 2026
Merged

Publish usable root free percent from each pressure observer#394
rldyourmnd merged 1 commit into
mainfrom
fix/pressure-observer-usable-root-disk

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Why

#393 switched compute_root_disk_low to gha_fleet_host_root_free_percent and applied the loop-file exclusion in the central fleet observer. That process runs only on gha-services. Live OpenObserve currently has a single series for that family: host_name=gha-services at 76% free.

The false tickets were on gha-runner-1..4, whose 200 GiB Incus loop file is counted as used space by OTel system_filesystem_usage. Live free ratios are still 22.7–24.1% on those members (threshold 20%). Applying the #393 rule as-is would have made the ticket watch the control-plane host and go blind to the compute members.

OOM already works per member because gha-pressure-observer on :9471 publishes gha_fleet_host_oom_kills_total. Disk belongs in the same process.

What

  • hostdisk.Observe stats root and subtracts allocated loop-backed pool files on the same device.
  • Each pressure observer publishes gha_fleet_host_root_free_percent (0 on stat error, fail closed).
  • Clustered admission already uses Incus pool free percent; this PR does not bump the provider.

Do not reconcile OpenObserve onto the new expression until all four members publish the series.

Proof

  • go test ./internal/hostdisk ./internal/pressureobserve ./internal/observabilityrules
  • Usable math: 73/309 GiB with a 200 GiB loop → 67%, raw → 24%.

The fleet observer runs only on gha-services. Switching compute_root_disk_low
to gha_fleet_host_root_free_percent without a per-member publisher would have
watched the control-plane host and gone blind to the four compute members
whose 200 GiB loop file is the false signal. Clustered admission already
reads the Incus pool; the live ticket stays on the OTel filesystem ratio
until these series exist on every member.
@rldyourmnd
rldyourmnd merged commit dc0dc36 into main Sep 3, 2026
10 checks passed
@rldyourmnd
rldyourmnd deleted the fix/pressure-observer-usable-root-disk branch September 3, 2026 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant