Skip to content
Latchkey

Harness "Timeout ... waiting for steady state" in CI

The deploy step waits for the workload to reach steady state (all pods ready) and the step timeout elapsed first. The rollout was applied but the pods never became ready in time.

What this error means

A Rollout Deployment or Apply step fails with "Timeout waiting for steady state" or "Status: Waiting for deployment to complete". Pods are pending, crash-looping, or failing readiness probes.

Harness
Waiting for deployment "app" rollout to finish: 1 of 3 updated replicas are available...
Timeout waiting for controller to reach steady state.

Common causes

Pods never become ready

Failing readiness probes, crash loops, or a bad image keep pods from reaching Ready, so steady state is never met.

Insufficient cluster capacity

Pods stay Pending because the cluster cannot schedule them (resources, quotas, node availability).

How to fix it

Diagnose pod readiness

  1. Inspect the workload and pod events for the target namespace.
  2. Fix readiness probes, image, or resource requests as indicated.
  3. Re-run the deploy once pods reach Ready.
Terminal
kubectl -n prod rollout status deploy/app
kubectl -n prod describe pod -l app=app

Raise the step timeout after fixing readiness

If the app is genuinely slow to become ready, increase the step timeout, but only once pods do eventually reach steady state.

Harness step YAML
spec:
  timeout: 20m

How to prevent it

  • Keep readiness probes accurate for the app.
  • Right-size resource requests so pods can schedule.
  • Set realistic step timeouts for app startup.

Frequently asked questions

What causes ""Timeout waiting for steady state""?
Failing readiness probes, crash loops, or a bad image keep pods from reaching Ready, so steady state is never met.
How do I fix "Timeout waiting for steady state"?
Diagnose pod readiness

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card