Author on-box k3s root-cause probe parsers (C1 battery) #4

Closed
opened 2026-06-06 06:27:15 +00:00 by coilysiren · 0 comments
Owner

Summary

Author the manual-first parsers for the on-box k3s root-cause probe battery used to debug the flapping-502 on kai-server (o2r channel 9KP5, concept C1-onbox-rootcause).

The runbook's manual_first_gate requires a hand-authored parser per command-id before scripts/step.py will run it (fail-closed: un-parsed = un-anonymized). These four command-ids had no parser, so STEP halted on them.

Parsers added

All normalize.text (lines + rc), ip_scrub backstop, registered in parsers/_registry.yml:

  • k3s-servicesystemctl status k3s (restart/since story)
  • k3s-journaljournalctl -u k3s --since '-30min' (apiserver/etcd/oom/panic grep surface)
  • host-pressurebash -lc "free -h ; df -h / /var/lib/rancher ; uptime" (OOM / etcd-disk hypotheses)
  • recent-rebootslast -x reboot shutdown (reboot-loop hypothesis)

The existing kubectl-readyz parser is reused for the on-box readyz probe.

Scope / caveat

This issue covers the parser yaml only (the gate that lets STEP run). The public/ tier these text probes emit still carries timestamps + opaque ids and is not commit-safe until the anonymize stage is hardened — tracked separately in #3. Probe outputs/ are kept local-only.

## Summary Author the manual-first parsers for the on-box k3s root-cause probe battery used to debug the flapping-502 on `kai-server` (o2r channel `9KP5`, concept `C1-onbox-rootcause`). The runbook's `manual_first_gate` requires a hand-authored parser per command-id before `scripts/step.py` will run it (fail-closed: un-parsed = un-anonymized). These four command-ids had no parser, so STEP halted on them. ## Parsers added All `normalize.text` (lines + rc), `ip_scrub` backstop, registered in `parsers/_registry.yml`: - `k3s-service` — `systemctl status k3s` (restart/since story) - `k3s-journal` — `journalctl -u k3s --since '-30min'` (apiserver/etcd/oom/panic grep surface) - `host-pressure` — `bash -lc "free -h ; df -h / /var/lib/rancher ; uptime"` (OOM / etcd-disk hypotheses) - `recent-reboots` — `last -x reboot shutdown` (reboot-loop hypothesis) The existing `kubectl-readyz` parser is reused for the on-box readyz probe. ## Scope / caveat This issue covers the **parser yaml only** (the gate that lets STEP run). The `public/` tier these `text` probes emit still carries timestamps + opaque ids and is **not commit-safe** until the anonymize stage is hardened — tracked separately in #3. Probe `outputs/` are kept local-only.
Commenting is not possible because the repository is archived.
No description provided.