Netflix/chaosmonkey · error
not terminating: problem checking if there is an outage
Error message
not terminating: problem checking if there is an outage
What it means
Returned by term.Terminate when the outage-check dependency (Ou.Outage) errors; by design Chaos Monkey errs on the safe side and refuses to terminate anything because it cannot confirm no outage is in progress.
Source
Thrown at term/term.go:67
// based on the app, account, region, stack, cluster passed
//
// region, stack, and cluster may be blank
func Terminate(d deps.Deps, app string, account string, region string, stack string, cluster string) error {
enabled, err := d.MonkeyCfg.Enabled()
if err != nil {
return errors.Wrap(err, "not terminating: could not determine if monkey is enabled")
}
if !enabled {
log.Println("not terminating: enabled=false")
return nil
}
problem, err := d.Ou.Outage()
// If the check for ongoing outage fails, we err on the safe side nd don't terminate an instance
if err != nil {
return errors.Wrapf(err, "not terminating: problem checking if there is an outage")
}
if problem {
log.Println("not terminating: outage in progress")
return nil
}
accountEnabled, err := d.MonkeyCfg.AccountEnabled(account)
if err != nil {
return errors.Wrap(err, "not terminating: could not determine if account is enabled")
}
if !accountEnabled {
log.Printf("Not terminating: account=%s is not enabled in Chaos Monkey", account)
return nil
}
View on GitHub (pinned to eaa28fb761)
Solutions
- Fix or restore the outage-check backend service
- Retry when the outage checker is healthy again
- Make the outage checker highly available if it is a single point of failure
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at term/term.go:67 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Netflix/chaosmonkey@eaa28fb761 (2026-09-03).
Data as JSON: /api/errors/dfef7019a7194461.
Report an issue: GitHub.