Skip to content

Conversation

hongkailiu
Copy link
Member

This is to sync up the changed from api#2469 to dev-guide.

@openshift-ci-robot
Copy link

@hongkailiu: This pull request explicitly references no jira issue.

In response to this:

This is to sync up the changed from api#2469 to dev-guide.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 11, 2025
Copy link
Contributor

openshift-ci bot commented Sep 11, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign pratikmahajan for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

In general, ClusterOperators should contain at least three core conditions:

* `Progressing` must be true if the operator is actually making change to the operand.
The change may be anything: desired user state, desired user configuration, observed configuration, version update, etc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did we want to drop this line when syncing with the Progressing Godocs? I think "may be anything" is pushing away from the tighter scoping you're aiming for, and think it's worth being very clear on what value we're adding in divergence between these docs and the Godocs.

Operators should not report Progressing only because DaemonSets owned by them are adjusting to a new node from cluster scaleup or a node rebooting from cluster upgrade.
A component in a cluster with less than 250 nodes must complete a version change within a limited period of time: 90 minutes for Machine Config Operator and 20 minutes for others. Machine Config Operator is given more time as it needs to restart control plane nodes.
* `Available` must be true if the operand is functional and available in the cluster at the level in status.
If this is false, it means there is an outage. Someone is probably getting paged.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While syncing with Godocs, should this line move to:

Available=False means at least part of the component is non-functional, and that the condition requires immediate administrator intervention.

The way I read it, that's the same meaning. But if we stick to the same words in both situations, it's more obvious that they have the same meaning (although maybe more risky that Alice thinks "yes, this matches the Godocs" while having a different understanding of the meaning than Bob?).

* `Available` must be true if the operand is functional and available in the cluster at the level in status.
If this is false, it means there is an outage. Someone is probably getting paged.
A component must not report Available=False during the course of a normal upgrade.
* `Degraded` should be true if the operator has encountered an error that is preventing it or its operand from working properly.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This list entry is much shorter than the associated Degraded Godocs. Did we want to catch these docs up more completely with the Godocs?

### Conditions

Refer [the godocs](https://godoc.org/github.com/openshift/api/config/v1#ClusterStatusConditionType) for conditions.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link I was talking about is already there.
I did not notice it.

Eventually I copied everything over and then

$ sed -i 's|// ||g' dev-guide/cluster-version-operator/dev/clusteroperator.md

The main thing we lose here is when to handle it for Degraded and Long Progressing which is OK as discussed in openshift/api#2469 (comment)

This is to sync up the changed from [api#2469](openshift/api#2469)
to dev-guide.
Copy link
Contributor

openshift-ci bot commented Sep 12, 2025

@hongkailiu: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-bot
Copy link

Inactive enhancement proposals go stale after 28d of inactivity.

See https://github.com/openshift/enhancements#life-cycle for details.

Mark the proposal as fresh by commenting /remove-lifecycle stale.
Stale proposals rot after an additional 7d of inactivity and eventually close.
Exclude this proposal from closing by commenting /lifecycle frozen.

If this proposal is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants