Skip to content

Commit dd082f4

Browse files
author
Evan Anderson
committed
Add guidance on conditions for long-running reconciliations
1 parent 305d8d8 commit dd082f4

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

contributors/devel/sig-architecture/api-conventions.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,14 @@ Conditions are most useful when they follow some consistent conventions:
364364
("Deploying"). Intermediate states may be indicated by setting the status of
365365
the condition to `Unknown`.
366366

367+
* For state transitions which take a long period of time, use a condition
368+
which indicates that the transition succeeded ("Provisioned" or
369+
"SizeAllocated") with an intermediate state of `Unknown`. Note that this
370+
pattern makes an explicit distinction between "condition not set" (which
371+
means the reconciler hasn't seen the latest state) and "condition set to
372+
Unknown" (which means that the reconciler has seen the state but hasn't
373+
finished the reconciliation).
374+
367375
* When designing Conditions for a resource, it's helpful to have a common
368376
top-level condition which summarizes more detailed conditions. Simple
369377
consumers may simply query the top-level condition. Although they are not a

0 commit comments

Comments
 (0)