Skip to content

Commit 98f86d5

Browse files
authored
Merge pull request #415 from enxebre/drop-strategy-field
Drop strategy field in favour of annotation
2 parents 806e47a + af17784 commit 98f86d5

File tree

4 files changed

+15
-29
lines changed

4 files changed

+15
-29
lines changed

install/0000_30_machine-api-operator_07_machinehealthcheck.crd.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,6 @@ spec:
4343
- type: integer
4444
description: Any farther remediation is only allowed if at most "MaxUnhealthy"
4545
machines selected by "selector" are not healthy.
46-
remediationStrategy:
47-
description: RemediationStrategy to use in case of problem detection
48-
default is machine deletion
49-
type: string
5046
selector:
5147
description: Label selector to match machines whose health will be exercised
5248
properties:

pkg/apis/healthchecking/v1alpha1/machinehealthcheck_types.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ import (
66
"k8s.io/apimachinery/pkg/util/intstr"
77
)
88

9-
// ConfigMapNodeUnhealthyConditions contains the name of the unhealthy conditions config map
10-
const ConfigMapNodeUnhealthyConditions = "node-unhealthy-conditions"
11-
129
// RemediationStrategyType contains remediation strategy type
1310
type RemediationStrategyType string
1411

@@ -41,11 +38,6 @@ type MachineHealthCheckList struct {
4138

4239
// MachineHealthCheckSpec defines the desired state of MachineHealthCheck
4340
type MachineHealthCheckSpec struct {
44-
// RemediationStrategy to use in case of problem detection
45-
// default is machine deletion
46-
// +optional
47-
RemediationStrategy *RemediationStrategyType `json:"remediationStrategy,omitempty"`
48-
4941
// Label selector to match machines whose health will be exercised
5042
Selector metav1.LabelSelector `json:"selector"`
5143

pkg/apis/healthchecking/v1alpha1/zz_generated.deepcopy.go

Lines changed: 0 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/controller/machinehealthcheck/machinehealthcheck_controller.go

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,16 @@ import (
2828
)
2929

3030
const (
31-
machineAnnotationKey = "machine.openshift.io/machine"
32-
machineRebootAnnotationKey = "healthchecking.openshift.io/machine-remediation-reboot"
33-
ownerControllerKind = "MachineSet"
34-
nodeMasterLabel = "node-role.kubernetes.io/master"
35-
machineRoleLabel = "machine.openshift.io/cluster-api-machine-role"
36-
machineMasterRole = "master"
37-
machinePhaseFailed = "Failed"
38-
remediationStrategyReboot = healthcheckingv1alpha1.RemediationStrategyType("reboot")
39-
timeoutForMachineToHaveNode = 10 * time.Minute
31+
machineAnnotationKey = "machine.openshift.io/machine"
32+
machineRebootAnnotationKey = "healthchecking.openshift.io/machine-remediation-reboot"
33+
ownerControllerKind = "MachineSet"
34+
nodeMasterLabel = "node-role.kubernetes.io/master"
35+
machineRoleLabel = "machine.openshift.io/cluster-api-machine-role"
36+
machineMasterRole = "master"
37+
machinePhaseFailed = "Failed"
38+
remediationStrategyAnnotation = "healthchecking.openshift.io/strategy"
39+
remediationStrategyReboot = healthcheckingv1alpha1.RemediationStrategyType("reboot")
40+
timeoutForMachineToHaveNode = 10 * time.Minute
4041
)
4142

4243
// Add creates a new MachineHealthCheck Controller and adds it to the Manager. The Manager will set fields on the Controller
@@ -360,9 +361,11 @@ func (t *target) remediate(r *ReconcileMachineHealthCheck) error {
360361
return nil
361362
}
362363

363-
remediationStrategy := t.MHC.Spec.RemediationStrategy
364-
if remediationStrategy != nil && *remediationStrategy == remediationStrategyReboot {
365-
return t.remediationStrategyReboot(r)
364+
remediationStrategy, ok := t.MHC.Annotations[remediationStrategyAnnotation]
365+
if ok {
366+
if healthcheckingv1alpha1.RemediationStrategyType(remediationStrategy) == remediationStrategyReboot {
367+
return t.remediationStrategyReboot(r)
368+
}
366369
}
367370
if t.isMaster() {
368371
glog.Infof("%s: master node, skipping remediation", t.string())

0 commit comments

Comments
 (0)