-
Notifications
You must be signed in to change notification settings - Fork 566
Description
We currently have a lot of outstanding issues related to status, mostly around Conditions, whether it be issues with specific Conditions being hard to understand, or general issues around Conditions. It's just because a lot of the status and Conditions design has grown very organically, what we effectively need is a design pass to make sure everything is consistent. There have been a few looks at this previously, but nothing coordinated across the whole API.
This issue covers a review of all the outstanding status issues, figuring out which ones relate, generating a TODO list, and then writing a GEP to cover all the changes.
Based on my initial quick pass, I think it's likely that this will include changes that will break conformance, but I think the longer we leave this, the worse the changes will be.
I propose making this a blocker for v0.6.0 release, so that we can get the pain out of the way now, and move forward with a consistent view of how our status flows work.
Here's my initial notes from doing a quick issue roundup.
Rough initial notes to link in relevant issues
In general, we need to make sure we're reusing the same Condition types across different resources, and that they have the same or similar definitions across resources as well.
The biggest review to date was #1111, and there are still some outstanding items from that.
GatewayClass has Accepted
. This seems well-defined.
Gateway has Ready
, which has significant issues, see #1156. This probably needs a follow-up to describe the change.
I think we definitely need to have a better description of what Ready
means, and ensure that the definitions are consistent. @evankanderson has raised that it would be really useful for knative's use case for Ready
to mean "Ready to pass traffic as soon as it's set", but I don't know the extent to which we can mandate that. We may be stuck with setting a "Ready
means will be ready in <5sec" or something, but that will require implementation feedback.
We need to move the Listener condition to Attached
instead of Detached
, as described in #1110. Having a small set of standard positive-polarity (that is, they are status: true
if everything is good) Conditions is useful, and similar things should have similar names.
#1112 also needs to be updated post the closing of #1211.
We also need to note if conditions should be added if they are in a happy state. The latest comments on #1315 is talking about this.
Personally, I prefer that conditions are always added, even if they are Unknown
, but this one needs discussion.
#1362 should probably also be done as part of this.