Cases3 cases
1 to 3 of 3
IL-0133A storm shut down cooling at Nebius's us-central1 data center, and a disk hot-plug bug kept Managed Kubernetes control planes down for hours after power returnedNebius2026- Symptoms
On 19 August 2026 the first equipment-level signs in Nebius's us-central1 region appeared around 09:40 UTC: the InfiniBand fabric degraded and GPU over-temperature alerts began to accumulate. Customer reports followed shortly after 10:00. At 10:15 on-call engineers were paged on critical component temperature alerts, and the incident was declared at 10:21.
- Trigger
A storm-related event at the data center building took the building management system offline and shut down the chilled-water cooling loop.
- Root cause
- Component
- Contributing factor
- Detection
No facility-level alert fired, because the storm also disabled the building management system that monitors the facility. Engineers acted on component over-temperature alerts that paged on-call at 10:15 UTC, after InfiniBand degradation, GPU over-temperature alerts and customer reports; the temperature rise from about 09:15 was visible on dashboards but had no alert.
- Remediation
- had the facility operator switch cooling to manual bypass mode and opened rack rear doors to vent heat
- re-energised tripped racks, control-plane racks first
- restored the regional infrastructure control plane by manual intervention
- restarted block-storage host components to clear stale disk attachment state
- raised the VM recovery rate limits by hand for the region-scale recovery
- started the affected Managed Kubernetes control-plane instances by hand
- applied a controlled stop and start to control-plane instances whose data disk had been left unattached
- identified and started 104 customer VMs that the incident had stopped
- Action items
- Complete a joint resilience review with the facility operator covering redundancy of facility-management and monitoring systems, cooling that keeps running when those fail, electrical protection of cooling equipment and on-site response
- Add facility-level environmental alerting on cooling plant state and room temperature trend that pages on-call independently of the building management system
- Set up a documented emergency escalation path with the facility operator, with an on-call contact tree and guaranteed response times
- Define an emergency heat-load reduction procedure with criteria, ownership and mechanics for shutting down or degrading workloads during a cooling loss
- Establish a dependency-ordered region cold-start procedure with clear ownership for each service layer
- Run regular region-scale recovery drills that cover VMs, storage attachments and Managed Kubernetes clusters
- Fix the disk-attachment bug that extended the Managed Kubernetes outage and deploy the fix to all production regions
- Improve the recovery policies Compute users can configure, and move all Managed Kubernetes control-plane nodes to the improved policy
- Automate reconciliation of stale storage attachment state after abrupt host failures
- Remove in-region dependencies from monitoring startup and recovery, and extend cross-region monitoring
- Make regional health checks used for global traffic management reflect real service availability
- Lessons
Facility monitoring that runs on the same system it watches goes silent in exactly the failure it should report, and with no alert on the room temperature trend there was no practical window to shed heat load in a controlled way. A cold start of a whole region exercised recovery paths built for isolated failures: single-attempt VM recovery, conservative rate limits and stale disk attachments all needed manual work. The longest part of the outage was restoring customer resources, Managed Kubernetes control planes above all, so Nebius is extending its recovery drills to that layer.
IL-0489Rejoining a failed node of Magic Pages' three-node MySQL cluster broke its metadata and took customer websites downMagic Pages2025- Symptoms
On 15 January 2025, from about 09:55 to 11:36 CET, a database outage at Magic Pages took down customer websites. It began when the founder tried to reconnect a failed third node to the high-availability MySQL cluster and the database server reported ambiguous errors about missing metadata information.
- Trigger
One of the three nodes of the MySQL cluster went down, and reconnecting it failed with errors about missing metadata information.
- Root cause
- Component
- Contributing factor
- Remediation
- Restarted the storage server to fix PVC provisioning
- Let the MySQL nodes restore and sync with each other for about 45 minutes to rebuild the cluster metadata
- Cleaned up the corrupted cluster metadata
- Redeployed MySQL Router
- Action items
- Monitor the health of the storage system more closely
- Improve the failover procedures for MySQL Router
- Investigate and fix the status page so it shows reliable information
- Lessons
The cluster survived the first node failure as designed and lost no data, but its metadata turned out to be a single point of failure. Better monitoring of PVC health could help prevent similar issues, the 45-minute recovery leaves room for improvement, and the status page has to detect failing customer sites reliably.
IL-0039New Kubernetes worker nodes could not join any cluster because a package URL hardcoded in kops nodeup brokeFREE NOW2019- Symptoms
At 16:00 CEST a developer reported in the #ask-platform Slack channel that a deployment to the Prelive cluster was failing, and a second report followed at 16:06.
- Trigger
Roughly two to three days earlier, the CentOS repository mirror was restructured and container-selinux-2.68-1.el7.noarch.rpm moved, which made the static download URL hardcoded in kops nodeup invalid.
- Root cause
- Component
- Contributing factor
- Detection
Developers asked for help in the #ask-platform Slack channel because their deployments were failing.
- Remediation
- downloaded the package by hand on the Prelive nodes so their bootstrap could finish
- changed the cluster AMI from Amazon Linux 2 to Debian and applied it to all clusters
- Action items
- Create an alert that shows when nodes cannot join the cluster, possibly from information the cluster autoscaler already has
- Document the external dependencies of node startup and look for ways to reduce them
- Change the AMI back to Amazon Linux 2 Minimal once kops fixes the issue
- Document node troubleshooting better: what happens during bootstrap and where the logs are
- Lessons
Applying cluster changes through kops and Jenkins worked well, and troubleshooting quickly showed that the failing deployments came from missing cluster capacity. What went wrong was that nobody noticed, over a long period, that some autoscaling groups held more worker instances than Kubernetes had nodes. The team was lucky that no large number of production spot instances was terminated during the problem and that it was noticed during office hours.
These 3 cases involve Cloud block storage and Database. 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
Dependency failure3 cases
- Component
- Contributing factor
- Organisation
IL-0133A storm shut down cooling at Nebius's us-central1 data center, and a disk hot-plug bug kept Managed Kubernetes control planes down for hours after power returnedNebius2026IL-0489Rejoining a failed node of Magic Pages' three-node MySQL cluster broke its metadata and took customer websites downMagic Pages2025IL-0039New Kubernetes worker nodes could not join any cluster because a package URL hardcoded in kops nodeup brokeFREE NOW2019