Raxx · internal docs

internal · gated

RCA — CI spot-fleet wedge: 5h silent outage, scale_arbiter blind guard

Incident ID: 2026-07-13-ci-spot-wedge-silent-outage Date: 2026-07-13 Severity: SEV-2 Duration: ~289m total (00:41 UTC detection → 05:30 UTC resolution) Blast radius: All Woodpecker CI pipelines; no Raptor production impact Author: sre-agent

Summary

A spot interruption killed the sole CI agent at ~00:41 UTC. The ASG kept desired=1 but could not place a replacement spot in the AZ. The scale_arbiter Lambda had a three-way scale-up guard (pending > 0 and workers == 0 and current_desired == 0); with current_desired stuck at 1, the condition was permanently false and the arbiter did nothing for ~5 hours. No alert existed for "queued work with zero workers," so the outage was silent until manually discovered. Fixed by removing the current_desired == 0 guard, adding stateless wedge detection and escalation, and adding the WoodpeckerNoWorkersWithBacklog Prometheus alert with a 10-minute window.

Timeline (all times UTC)

Impact

What went well

What didn't go well

Root cause analysis

Detection

Resolution

Action items

# Action Owner Due Issue
1 Confirm PR #4210 merges to develop and Lambda is redeployed (Terraform apply) operator 2026-07-14 #4039
2 Verify WoodpeckerNoWorkersWithBacklog alert appears in Alertmanager UI post-TF-apply sre-agent 2026-07-14 #4039
3 Add multi-AZ spot overrides to the ci-agents launch template (reduces AZ-capacity-pool risk) operator 2026-07-20 TBD
4 Add CloudWatch alarm on arbiter "NO ACTION" log line rate (secondary signal for arbiter health) sre-agent 2026-07-20 TBD

References