Add short-circuiting support and drop MDB - #414
Conversation
I like this in theory, however won't the act of remediating (and therefor deleting) a node reduce the value of |
|
One other nice aspect of MDB was the ability for multiple interested parties to specify the pools of machines they were interested in and what the availability requirements where. For example, the system as a whole might tolerate up to 50% of the nodes being fenced, Ceph might only allow 1. MDB respected the most restrictive requirement without requiring any co-ordination between the two pieces of software. Thinking more, it also allows something like Ceph (when running across masters and workers) to limit Maybe these use cases are not strong enough to justify preserving the functionality, but its good for us to decide that explicitly :) |
|
/test e2e-azure-operator |
|
hey @beekhof
That's extremely unlikely to happen as soon as a deletionTimestamp is given to a machine a new one is persisted by the controller, so most of the times there's actually overlapping making the restriction harder. That said this is as stated in the desc "best effort to wait for the cluster to stabilise and to ensure that no farther remediation takes place for a targeted pool of machines once its MaxUnhealthy threshold is reached. This is similar to what the node life cycle controller does for reducing the eviction rate as nodes goes unhealthy in a given zone." which implements https://github.com/openshift/enhancements/blob/master/enhancements/machine-health-checking.md For your first use case I'm not sure how that'd work with the current mdb implementation. |
|
Thanks for clarifying the The immediate driver for the extra things MDB did (Hyperconverged Ceph) doesn't seem to be as important anymore. I'm happy to stick with this PR and base the next round of changes on feedback from the field. |
|
/test e2e-azure-operator |
1 similar comment
|
/test e2e-azure-operator |
|
/test govet |
|
/test e2e-aws-upgrade |
|
/test e2e-azure-operator |
|
/retest |
14 similar comments
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
|
/retest |
1 similar comment
|
/retest |
|
@enxebre: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions 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/test-infra repository. I understand the commands that are listed here. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: enxebre The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Introduce support for short-circuiting based on: https://github.com/openshift/enhancements/blob/master/enhancements/machine-health-checking.md#goals
spec.MaxUnhealthy(int/string with percentage)status.ExpectedMachinesstatus.CurrentHealthyThe MHC does a best effort to wait for the cluster to stabilise and to ensure that no farther remediation takes place for a targeted pool of machines once its
MaxUnhealthythreshold is reached. This is similar to what the node life cycle controller does for reducing the eviction rate as nodes goes unhealthy in a given zone.Initial
During a scale out
Manifest using percentage