PreviousRevisionUnavailable see history edit this page

Talks about: , , and

Symptom

READY=False, REASON=PreviousRevisionUnavailable. The StageSet has spec.rollbackOnFailure set, a run failed, and the controller could not restore the last-good revisions.

Cause

rollbackOnFailure restores the previously-applied artifact revisions by re-fetching their recorded URLs and verifying their digests. That only works while the producer still retains those revisions. This reason means a revision the rollback needs is no longer fetchable — the producer garbage-collected it.

Rollback is best-effort by contract: it works exactly when producers retain. Common triggers:

Diagnosis

kubectl describe stageset <name> -n <namespace>   # Message names the stage + revision

Check the producer’s retention. For a JaaS snippet:

kubectl get jsonnetsnippet <name> -n <namespace> -o jsonpath='{.spec.history}'

Remediation

The cluster is left at the partially-applied failed state; resolve the underlying failure (see the failing stage’s own runbook) and fix forward — the StageSet converges once the desired revision applies cleanly.

To make rollback reliable in future, either: