-
Notifications
You must be signed in to change notification settings - Fork 463
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
Backport the pause
feature for MachineHealthChecks
#827
Conversation
|
||
```yaml | ||
apiVersion: machine.openshift.io/v1beta1 | ||
kind: MachineHealthCheck | ||
metadata: | ||
name: example | ||
namespace: openshift-machine-api | ||
annotations: | ||
cluster.x-k8s.io/paused": "clusterUpgrading" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure about what values are good for the annotation. It's not being checked, but we might want to utilize it to sync between multiple parties who want to set this annotation?
This is a pretty subtle change to a doc to imply a new feature. Is there more to cover about testing or other aspects of the work that might be more clearly described in a new document? |
I don't know that we need a new document, but certainly a new paragraph within the implementation details would be good to explain the pause feature
|
fair point, good suggestion @JoelSpeed, thanks @dhellmann would that work for you? |
Sure, adding more details to the implementation section (and any others that might need to be expanded) here addresses my concerns. |
Signed-off-by: Marc Sluiter <msluiter@redhat.com>
Signed-off-by: Marc Sluiter <msluiter@redhat.com>
See openshift/enhancements#827 Signed-off-by: Marc Sluiter <msluiter@redhat.com>
Do we know upstream if the convention is to treat the annotation value as a singleton or a list? I could imagine it being a list (like finalizers) where each party is expected to add and remove its own annotation from the list, would be good to see if there's a note upstream about this behaviour so we can ensure we mimic that when we build controllers that will pause MHCs. That behaviour should be briefly identified here IMO |
Unfortunately annotations are a map (while finalizers are a string array), so you can't compare them directly. Will ask upstream what their idea for the value is, and how to sync between multiple users. |
My thought was more the value itself could be a list, eg:
I don't know if this kind of thing is supported upstream or not, but I suspect they've documented the appropriate behaviour here |
See openshift/enhancements#827 Signed-off-by: Marc Sluiter <msluiter@redhat.com>
I asked on the cluster API Slack. I'd suggest to also just leave the value empty for now, and handle a user list in a potential follow up. Does that make sense? |
in contrast to just not starting remediation Signed-off-by: Marc Sluiter <msluiter@redhat.com>
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: JoelSpeed The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/hold for now, just want to double check with the rest of the Cluster Infra team that they're happy with this |
/hold cancel |
We'd like to backport the
pause
feature for MachineHealthChecks from upstream SIG Cluster API,see https://github.com/kubernetes-sigs/cluster-api/blob/37c862b5c9256d7ae65cd8ee8ddd7a103d51fe90/controllers/machinehealthcheck_controller.go#L134