Cases4 cases
1 to 4 of 4
IL-0124Capacity changes queued while a circuit breaker was engaged ran all at once when it was released, taking multiple OpenAI inference engines out of service and raising API error ratesOpenAI2026- Symptoms
Between about 4:26 PM and 4:56 PM PST on 4 March 2026, some OpenAI API requests to several models failed or took longer than usual, and some Codex traffic was affected too. The overall API success rate dropped temporarily.
- Trigger
A protective circuit breaker that had paused some scheduling operations was released, and the infrastructure actions queued during the pause were executed at the same time.
- Root cause
- Component
- Contributing factor
- Remediation
- manually reassigned infrastructure resources to the affected models
- brought the removed inference engines back online and reassigned them until error rates returned to normal
- Action items
- Improve safeguards in the automated capacity management systems so they detect and respond to state drift
- Improve observability of circuit breakers and scheduling systems so their status and effects are easier to identify
- Add safeguards so queued actions cannot run in large batches after long pauses
- Improve monitoring and alerting around capacity reconciliation problems
- Lessons
Pausing one automated system does not stop the systems that feed it. Changes queued during the pause reflect the state at the time they were queued, and releasing the queue all at once applies those stale decisions together. The fixes OpenAI names are detecting state drift, making circuit breaker status visible, and preventing large batches from executing after a long pause.
IL-0138A failed Nvidia driver build left broken kernel packages on the only Kubernetes master node, which hit a kernel panic on reboot after a power outage and took the homelab cluster down for six daysBarush Mendez2025- Symptoms
Every service in the homelab Kubernetes cluster stopped answering: the V-Rising server, Grafana, Jellyfin and Linkding were all unreachable, and the Kubernetes API was down, so the cluster could not be managed at all. The outage was found by hand, about 3 hours after it began, when someone tried to use the services.
- Trigger
A power outage forced the Kubernetes master node to reboot.
- Root cause
- Component
- Contributing factor
- Detection
Manually, when someone tried to access the services; there were no automated alerts.
- Remediation
- Connected a monitor to the master node and read the boot logs, which showed the kernel panic
- Booted the previous kernel version, which brought the system back
- Removed the broken Nvidia packages with sudo apt-get remove --purge '^nvidia-.*' and ran sudo dpkg --configure -a
- Found remaining broken packages with dpkg -l | grep -v ^ii and removed them by hand
- Ran sudo apt-get install -f and reinstalled linux-headers-$(uname -r)
- Rebooted and confirmed the kernel panic was gone
- Action items
- Make sure GPU driver installations fully succeed, or revert immediately when they fail
- Move the cluster to a high-availability control plane
- Expose the Kubernetes API through a load balancer in the HA setup
- Set up a ticketing system to record incidents and their resolution
- Write predefined troubleshooting workflows to shorten response time
- Add infrastructure monitoring such as Prometheus and Grafana
- Add blackbox HTTP and TCP checks from outside the cluster for critical services
- Lessons
A driver installation that fails half-way can leave kernel packages broken without any visible effect until the next reboot, which may come weeks later and at the worst time. A failed DKMS build should be fixed or reverted at once. With a single master node and no monitoring from outside the cluster, one unbootable machine meant a total outage that nobody was told about; the fix itself was simple once the boot logs were seen.
IL-0106A malformed Traefik IngressRoute triggered a Traefik v2 bug once a node rollover restarted every Traefik pod, and all Kubernetes services returned 404DFDS2021- Symptoms
At 08:00 UTC on 2021-09-06 every service in DFDS's Kubernetes cluster answered with 404. Investigation started five minutes later.
- Trigger
The automated Kubernetes node rollover on 2021-09-06 restarted all the Traefik v2 pods, five days after a malformed IngressRoute manifest had been applied.
- Root cause
- Component
- Contributing factor
- Detection
All services returned 404 from 08:00 UTC and root cause investigation started at 08:05. Time to detection was 5 minutes.
- Remediation
- changed the ALB health check path, which made the targets healthy but did not stop the 404s
- rolled back by hand to Traefik v1 as the main ingress controller
- deleted the malformed IngressRoute by hand and confirmed the Traefik v2 bug
- applied the changes upstream
- Action items
- Upgrade Traefik to v2.5, where the bug is fixed, and verify that it removes the bug
- Change the Traefik v2 health check path to something more robust
- Set up an external liveness probe on the ingress controller
- Consider workload segmentation to limit the blast zone
- Look into monitoring the Traefik v2 API for rapid changes
- Look into smoke testing during and after node rollover
- Lessons
A malformed IngressRoute did nothing visible for five days and then took down all ingress when every Traefik v2 pod had restarted during a node rollover. Because Traefik v2 failed gracefully, the first signals pointed at the ALB health checks instead of at Traefik. On incident handling, the team concluded that appointing an incident manager could have helped, that the war room meeting should be recorded and a log book kept, that people not involved should only make suggestions in writing, and that a short first round of sharing thoughts and gut feelings is useful.
IL-0032Mutating admission controller generated broken JSON patches, silently blocking deploys for a week until a production service ran down to two podsAirbnb2020- Symptoms
A production service at Airbnb showed a high error rate and could not be deployed. The deploy failed with a cryptic Kubernetes error about being unable to access invalid index 5.
- Trigger
A change to the mutating admission controller, which had been rolled out within the previous month, had gone in seven days before the incident surfaced; when it had to delete two items from an array in a spec, it generated an invalid JSON patch that removed index 2 and then index 3.
- Root cause
- Component
- Contributing factor
- Detection
The affected service reported a high error rate and its deploy failed; the slow degradation of other services over the previous seven days had gone unnoticed.
- Remediation
- deleted the mutating admission controller from the affected cluster
- Action items
- Create alerts from the existing metrics that would have shown the problem earlier
- Lessons
Keep in mind that a mutating admission controller exists in the cluster; a recently added one is easy to forget during an incident. Search for the exact error message early instead of working on the visible symptoms. Page a teammate when progress stalls.
These 4 cases involve Admission webhook and Automated capacity manager. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.
By root cause1
Software defect4 cases
- Component
- Contributing factor
- Organisation
IL-0124Capacity changes queued while a circuit breaker was engaged ran all at once when it was released, taking multiple OpenAI inference engines out of service and raising API error ratesOpenAI2026IL-0138A failed Nvidia driver build left broken kernel packages on the only Kubernetes master node, which hit a kernel panic on reboot after a power outage and took the homelab cluster down for six daysBarush Mendez2025IL-0106A malformed Traefik IngressRoute triggered a Traefik v2 bug once a node rollover restarted every Traefik pod, and all Kubernetes services returned 404DFDS2021IL-0032Mutating admission controller generated broken JSON patches, silently blocking deploys for a week until a production service ran down to two podsAirbnb2020