Skip to content

Status Conditions

Every ORC resource reports its state through two conditions: Available and Progressing. This page is a reference for all possible condition states and reasons.

Conditions

Condition Status Meaning
Available True Resource is ready for use
Available False Resource is not ready (check message for details)
Progressing True ORC is still working on the resource
Progressing False ORC has finished (either success or terminal error)

A resource is healthy when Available=True and Progressing=False.

Condition Reasons

The reason field categorizes what is happening:

Reason Progressing Available Description Action
Success False True Resource is reconciled successfully None needed
Progressing True False Normal operation in progress (creation, update, waiting for dependency) Wait for completion
TransientError True False Temporary error, will retry automatically Check if it persists; see Troubleshooting
InvalidConfiguration False False Spec has invalid values; terminal error Fix the resource spec
UnrecoverableError False False Permanent error, won't retry; terminal error Fix the underlying issue and see Troubleshooting

Reading conditions

# Quick overview: the AVAILABLE and PROGRESSING columns come from conditions
kubectl get openstack

# Full conditions for a specific resource
kubectl get network my-network -o jsonpath='{.status.conditions}' | jq

# Detailed output including status.resource
kubectl get network my-network -o yaml

Terminal errors

When Progressing=False and Available=False, the resource is in a terminal error state. ORC will not retry until the spec is changed. Common causes:

  • InvalidConfiguration: The spec references something that doesn't exist or contains invalid values. Fix the spec.
  • UnrecoverableError: An operation failed permanently (e.g. an imported resource was deleted from OpenStack, or a filter matched multiple results). See Troubleshooting for resolution steps.

The status.resource field

In addition to conditions, every ORC resource has a .status.resource field containing the observed state from OpenStack. This includes fields that OpenStack assigns, such as projectID, createdAt, and revisionNumber, that are not part of the spec.

The status.lastSyncTime field

Records when ORC last successfully read the resource state from OpenStack. See How to Enable Drift Detection for details on periodic resync.