Skip to content

alerting: derive the infra expected-hosts roster from reporters, not Buildkite - #138

Merged
Thangnguyenvn98 merged 2 commits into
mainfrom
agent/infra-roster-reporters-only
Sep 3, 2026
Merged

Thangnguyenvn98 merged 2 commits into
mainfrom
agent/infra-roster-reporters-only

Conversation

@Thangnguyenvn98

Copy link
Copy Markdown
Collaborator

Problem

Minutes after enabling infra alerting, the Slack channel was paged for buildkite-01a068de-…-9bnrw and vllm-ci-cpu-vllm-us-central1-b-* — subjects that can never report.

Inspected the live gpu-queue roster from the worker: the first 100 agents are ephemeral k8s pod agents (buildkite-<uuid>-<rand>) and autoscaled EC2 CI instances (bk-cpu-queue-premerge-…, ip-10-*.ec2.internal) — none of them run host reporters, and the real reporter hosts (dgxb200-*, …) aren't even on the page. As "expected but never reported" subjects they all opened unreporting episodes.

(Infra is currently set to disabled to stop the spam while this lands.)

Fix

The roster is now reporter-derived: optional kubectl node lists + every hostname seen in gpu_snapshots within the 7-day retirement window (that union already existed in InfraScanHandler). Alerting semantics are unchanged for real hosts — a reporter that goes silent still pages within ~15–20 min. What goes away is "never reported" detection, which in this fleet was 100% noise.

Removed as dead code: BuildkiteGpuQueueAgentsSource, BuildkiteAgentPort, BuildkiteRestClient.list_agents (the read_agents token scope is no longer needed by the worker), and the infra consumer no longer requires BUILDKITE_TOKEN. Docs updated (alerting/docs/infra.md).

Tests

pytest alerting 197 passed (2 deleted Buildkite-source tests), ruff clean, mypy shows only the pre-existing local-venv errors (identical without this change).

Rollout

After merge: redeploy worker (install.sh from main), delete the bogus open pod episodes from alerting_infra_alerts/alerting_infra_host_states, then set control/infra.mode back to live.

Signed-off-by: Thang Nguyen thang.nguyen@inferact.ai

Thang Nguyen added 2 commits September 3, 2026 15:52
The infra scan never completed a single run at production data scale:
gpu_temperatures and the gpu side of latest_reports run unbounded
DISTINCT ON over gpu_snapshots (8.5M rows), and gpu_temperatures
exceeds the 2-minute statement timeout every scan.

- gpu_temperatures: only readings from the last 2 days count. Stale
  readings should not sustain a temperature breach anyway — a host that
  stops reporting is the unreporting alert's job.
- latest_reports (gpu side): bound at 14 days, twice the 7-day
  retirement age, so retirement aging still sees the last reports it
  needs while skipping the rest of history.

Signed-off-by: Thang Nguyen <thang.nguyen@inferact.ai>
…Buildkite

The infra scan's first live minutes paged the channel for subjects that
can never report: the Buildkite gpu-queue agents list is dominated by
ephemeral k8s pod agents (buildkite-<uuid>-<rand>) and autoscaled EC2
CI instances (bk-cpu-queue-*, ip-10-*.ec2.internal), none of which run
host reporters. As 'expected but never reported' subjects they opened
unreporting episodes on the first scans after enablement.

The roster is now reporter-derived only: optional kubectl node lists
plus every hostname seen in gpu_snapshots within the 7-day retirement
window (the union already existed in InfraScanHandler). A host that has
been reporting and goes silent still pages within ~15-20 minutes; the
never-reported detection is dropped because in this fleet it was pure
noise.

Removes the now-unused BuildkiteGpuQueueAgentsSource, its port, and
BuildkiteRestClient.list_agents; the infra consumer no longer requires
BUILDKITE_TOKEN.

Signed-off-by: Thang Nguyen <thang.nguyen@inferact.ai>
@vercel

vercel Bot commented Sep 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
vllm-ci-dashboard Ready Ready Preview Sep 3, 2026 8:42pm UTC

Request Review

@Thangnguyenvn98
Thangnguyenvn98 merged commit 7f8151c into main Sep 3, 2026
3 of 4 checks passed

This branch was successfully deployed

1 active deployment
Preview — 23578b11 Deployed Sep 3, 2026 by vercel[bot]
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