diff --git a/api/v1alpha1/selfnoderemediationconfig_types.go b/api/v1alpha1/selfnoderemediationconfig_types.go index 4aa94ecb..dd4b967d 100644 --- a/api/v1alpha1/selfnoderemediationconfig_types.go +++ b/api/v1alpha1/selfnoderemediationconfig_types.go @@ -25,10 +25,10 @@ import ( // NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. const ( - ConfigCRName = "self-node-remediation-config" - defaultWatchdogPath = "/dev/watchdog" - defaultSafetToAssumeNodeRebootTimeout = 180 - defaultIsSoftwareRebootEnabled = true + ConfigCRName = "self-node-remediation-config" + defaultWatchdogPath = "/dev/watchdog" + DefaultSafeToAssumeNodeRebootTimeout = 180 + defaultIsSoftwareRebootEnabled = true ) // SelfNodeRemediationConfigSpec defines the desired state of SelfNodeRemediationConfig @@ -162,7 +162,7 @@ func NewDefaultSelfNodeRemediationConfig() SelfNodeRemediationConfig { ObjectMeta: metav1.ObjectMeta{Name: ConfigCRName}, Spec: SelfNodeRemediationConfigSpec{ WatchdogFilePath: defaultWatchdogPath, - SafeTimeToAssumeNodeRebootedSeconds: defaultSafetToAssumeNodeRebootTimeout, + SafeTimeToAssumeNodeRebootedSeconds: DefaultSafeToAssumeNodeRebootTimeout, IsSoftwareRebootEnabled: defaultIsSoftwareRebootEnabled, }, } diff --git a/controllers/selfnoderemediationconfig_controller.go b/controllers/selfnoderemediationconfig_controller.go index df1e2154..c2aac60b 100644 --- a/controllers/selfnoderemediationconfig_controller.go +++ b/controllers/selfnoderemediationconfig_controller.go @@ -129,11 +129,11 @@ func (r *SelfNodeRemediationConfigReconciler) syncConfigDaemonSet(ctx context.Co data.Data["EndpointHealthCheckUrl"] = snrConfig.Spec.EndpointHealthCheckUrl data.Data["HostPort"] = snrConfig.Spec.HostPort - timeToAssumeNodeRebooted := snrConfig.Spec.SafeTimeToAssumeNodeRebootedSeconds - if timeToAssumeNodeRebooted == 0 { - timeToAssumeNodeRebooted = 180 + safeTimeToAssumeNodeRebootedSeconds := snrConfig.Spec.SafeTimeToAssumeNodeRebootedSeconds + if safeTimeToAssumeNodeRebootedSeconds == 0 { + safeTimeToAssumeNodeRebootedSeconds = selfnoderemediationv1alpha1.DefaultSafeToAssumeNodeRebootTimeout } - data.Data["TimeToAssumeNodeRebooted"] = fmt.Sprintf("\"%d\"", timeToAssumeNodeRebooted) + data.Data["TimeToAssumeNodeRebooted"] = fmt.Sprintf("\"%d\"", safeTimeToAssumeNodeRebootedSeconds) data.Data["IsSoftwareRebootEnabled"] = fmt.Sprintf("\"%t\"", snrConfig.Spec.IsSoftwareRebootEnabled) diff --git a/main.go b/main.go index 1eff41a2..a1f9d9d1 100644 --- a/main.go +++ b/main.go @@ -249,10 +249,10 @@ func initSelfNodeRemediationAgent(mgr manager.Manager) { apiServerTimeout := getDurEnvVarOrDie("API_SERVER_TIMEOUT") //timeout for each api-connectivity check peerDialTimeout := getDurEnvVarOrDie("PEER_DIAL_TIMEOUT") //timeout for establishing connection to peer peerRequestTimeout := getDurEnvVarOrDie("PEER_REQUEST_TIMEOUT") //timeout for each peer request - timeToAssumeNodeRebooted := getDurEnvVarOrDie("TIME_TO_ASSUME_NODE_REBOOTED") + timeToAssumeNodeRebootedInSeconds := getIntEnvVarOrDie("TIME_TO_ASSUME_NODE_REBOOTED") peerHealthDefaultPort := getIntEnvVarOrDie("HOST_PORT") - safeRebootCalc := reboot.NewSafeTimeCalculator(mgr.GetClient(), wd, maxErrorThreshold, apiCheckInterval, apiServerTimeout, peerDialTimeout, peerRequestTimeout, timeToAssumeNodeRebooted) + safeRebootCalc := reboot.NewSafeTimeCalculator(mgr.GetClient(), wd, maxErrorThreshold, apiCheckInterval, apiServerTimeout, peerDialTimeout, peerRequestTimeout, time.Duration(timeToAssumeNodeRebootedInSeconds)*time.Second) if err = mgr.Add(safeRebootCalc); err != nil { setupLog.Error(err, "failed to add safe reboot time calculator to the manager") os.Exit(1)