-
Notifications
You must be signed in to change notification settings - Fork 68
⚠️ Refine ClusterExtentionRevision conditions #2340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -24,26 +24,19 @@ import ( | |
| const ( | ||
| ClusterExtensionRevisionKind = "ClusterExtensionRevision" | ||
|
|
||
| // ClusterExtensionRevisionTypeAvailable is the condition type that represents whether the | ||
| // ClusterExtensionRevision is available and has been successfully rolled out. | ||
| ClusterExtensionRevisionTypeAvailable = "Available" | ||
|
|
||
| // ClusterExtensionRevisionTypeSucceeded is the condition type that represents whether the | ||
| // ClusterExtensionRevision rollout has succeeded. | ||
| ClusterExtensionRevisionTypeSucceeded = "Succeeded" | ||
|
|
||
| // Condition reasons | ||
| ClusterExtensionRevisionReasonAvailable = "Available" | ||
| ClusterExtensionRevisionReasonReconcileFailure = "ReconcileFailure" | ||
| ClusterExtensionRevisionReasonRevisionValidationFailure = "RevisionValidationFailure" | ||
| ClusterExtensionRevisionReasonPhaseValidationError = "PhaseValidationError" | ||
| ClusterExtensionRevisionReasonObjectCollisions = "ObjectCollisions" | ||
| ClusterExtensionRevisionReasonRolloutSuccess = "RolloutSuccess" | ||
| ClusterExtensionRevisionReasonProbeFailure = "ProbeFailure" | ||
| ClusterExtensionRevisionReasonIncomplete = "Incomplete" | ||
| ClusterExtensionRevisionReasonProgressing = "Progressing" | ||
| ClusterExtensionRevisionReasonArchived = "Archived" | ||
| ClusterExtensionRevisionReasonMigrated = "Migrated" | ||
| // Condition Types | ||
| ClusterExtensionRevisionTypeAvailable = "Available" | ||
| ClusterExtensionRevisionTypeProgressing = "Progressing" | ||
| ClusterExtensionRevisionTypeSucceeded = "Succeeded" | ||
|
|
||
| // Condition Reasons | ||
| ClusterExtensionRevisionReasonArchived = "Archived" | ||
| ClusterExtensionRevisionReasonBlocked = "Blocked" | ||
| ClusterExtensionRevisionReasonMigrated = "Migrated" | ||
| ClusterExtensionRevisionReasonProbeFailure = "ProbeFailure" | ||
| ClusterExtensionRevisionReasonProbesSucceeded = "ProbesSucceeded" | ||
| ClusterExtensionRevisionReasonReconciling = "Reconciling" | ||
| ClusterExtensionRevisionReasonRetrying = "Retrying" | ||
| ) | ||
|
|
||
| // ClusterExtensionRevisionSpec defines the desired state of ClusterExtensionRevision. | ||
|
|
@@ -190,22 +183,21 @@ type ClusterExtensionRevisionStatus struct { | |
| // ClusterExtensionRevision. | ||
| // | ||
| // The Progressing condition represents whether the revision is actively rolling out: | ||
| // - When status is True and reason is Progressing, the revision rollout is actively making progress and is in transition. | ||
| // - When Progressing is not present, the revision is not currently in transition. | ||
| // - When status is True and reason is RollingOut, the ClusterExtensionRevision rollout is actively making progress and is in transition. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't see
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| // - When status is True and reason is Retrying, the ClusterExtensionRevision has encountered an error that could be resolved on subsequent reconciliation attempts. | ||
| // - When status is True and reason is Succeeded, the ClusterExtensionRevision has reached the desired state. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't see
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's an existing reason in common_types: https://github.com/operator-framework/operator-controller/pull/2340/files#diff-7ad21c885e2b008e93dfa228f394825987e36cb8e539fe80be5661d692dbc47aL35 |
||
| // - When status is False and reason is Blocked, the ClusterExtensionRevision has encountered an error that requires manual intervention for recovery. | ||
| // - When status is False and reason is Archived, the ClusterExtensionRevision is archived and not being actively reconciled. | ||
perdasilva marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| // | ||
| // The Available condition represents whether the revision has been successfully rolled out and is available: | ||
| // - When status is True and reason is Available, the revision has been successfully rolled out and all objects pass their readiness probes. | ||
| // - When status is False and reason is Incomplete, the revision rollout has not yet completed but no specific failures have been detected. | ||
| // - When status is True and reason is ProbesSucceeded, the ClusterExtensionRevision has been successfully rolled out and all objects pass their readiness probes. | ||
| // - When status is False and reason is ProbeFailure, one or more objects are failing their readiness probes during rollout. | ||
| // - When status is False and reason is ReconcileFailure, the revision has encountered a general reconciliation failure. | ||
| // - When status is False and reason is RevisionValidationFailure, the revision failed preflight validation checks. | ||
| // - When status is False and reason is PhaseValidationError, a phase within the revision failed preflight validation checks. | ||
| // - When status is False and reason is ObjectCollisions, objects in the revision collide with existing cluster objects that cannot be adopted. | ||
| // - When status is Unknown and reason is Archived, the revision has been archived and its objects have been torn down. | ||
| // - When status is Unknown and reason is Migrated, the revision was migrated from an existing release and object status probe results have not yet been observed. | ||
| // - When status is Unknown and reason is Reconciling, the ClusterExtensionRevision has encountered an error that prevented it from observing the probes. | ||
| // - When status is Unknown and reason is Archived, the ClusterExtensionRevision has been archived and its objects have been torn down. | ||
| // - When status is Unknown and reason is Migrated, the ClusterExtensionRevision was migrated from an existing release and object status probe results have not yet been observed. | ||
| // | ||
| // The Succeeded condition represents whether the revision has successfully completed its rollout: | ||
| // - When status is True and reason is RolloutSuccess, the revision has successfully completed its rollout. This condition is set once and persists even if the revision later becomes unavailable. | ||
| // - When status is True and reason is Succeeded, the ClusterExtensionRevision has successfully completed its rollout. This condition is set once and persists even if the revision later becomes unavailable. | ||
| // | ||
| // +listType=map | ||
| // +listMapKey=type | ||
|
|
@@ -217,6 +209,7 @@ type ClusterExtensionRevisionStatus struct { | |
| // +kubebuilder:resource:scope=Cluster | ||
| // +kubebuilder:subresource:status | ||
| // +kubebuilder:printcolumn:name="Available",type=string,JSONPath=`.status.conditions[?(@.type=='Available')].status` | ||
| // +kubebuilder:printcolumn:name="Progressing",type=string,JSONPath=`.status.conditions[?(@.type=='Progressing')].status` | ||
pedjak marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| // +kubebuilder:printcolumn:name=Age,type=date,JSONPath=`.metadata.creationTimestamp` | ||
|
|
||
| // ClusterExtensionRevision represents an immutable snapshot of Kubernetes objects | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.