[root@cert-rhosp-02 ~]# oc project openshift-workload-availability Already on project "openshift-workload-availability" on server "https://api.ocp-edge-cluster-0.qe.lab.redhat.com:6443". [root@cert-rhosp-02 ~]# oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.21.0-0.nightly-2026-02-12-134401 True False 35h Cluster version is 4.21.0-0.nightly-2026-02-12-134401 [root@cert-rhosp-02 ~]# oc get csv NAME DISPLAY VERSION REPLACES PHASE fence-agents-remediation.v0.7.0 Fence Agents Remediation Operator 0.7.0 fence-agents-remediation.v0.6.0 Succeeded machine-deletion-remediation.v0.6.0 Machine Deletion Remediation operator 0.6.0 machine-deletion-remediation.v0.5.0 Succeeded node-healthcheck-operator.v0.11.0 Node Health Check Operator 0.11.0 node-healthcheck-operator.v0.10.1 Succeeded node-maintenance-operator.v5.6.0 Node Maintenance Operator 5.6.0 node-maintenance-operator.v5.5.0 Succeeded self-node-remediation.v0.12.0 Self Node Remediation Operator 0.12.0 self-node-remediation.v0.11.0 Succeeded [root@cert-rhosp-02 ~]# PODS=$(oc get pods -o name -n openshift-workload-availability | grep fence-agents-remediation-controller-manager) [root@cert-rhosp-02 ~]# echo $PODS pod/fence-agents-remediation-controller-manager-67cf65c64-9rvzx pod/fence-agents-remediation-controller-manager-67cf65c64-gh6xd [root@cert-rhosp-02 ~]# for p in $PODS; do > echo "== $p" > oc get "$p" -n openshift-workload-availability -o json | jq .spec.nodeName > done == pod/fence-agents-remediation-controller-manager-67cf65c64-9rvzx "worker-0-1" == pod/fence-agents-remediation-controller-manager-67cf65c64-gh6xd "worker-0-0" [root@cert-rhosp-02 ~]# PODS=$(oc get pods -o name -n openshift-workload-availability | grep node-healthcheck-controller-manager) [root@cert-rhosp-02 ~]# echo $PODS pod/node-healthcheck-controller-manager-59d6c4dcf8-xsz6s pod/node-healthcheck-controller-manager-59d6c4dcf8-zl29b [root@cert-rhosp-02 ~]# for p in $PODS; do > echo "== $p" > oc get "$p" -n openshift-workload-availability -o json | jq .spec.nodeName > done == pod/node-healthcheck-controller-manager-59d6c4dcf8-xsz6s "master-0-0" == pod/node-healthcheck-controller-manager-59d6c4dcf8-zl29b "master-0-1" [root@cert-rhosp-02 ~]# PODS=$(oc get pods -o name -n openshift-workload-availability | grep self-node-remediation-controller-manager) [root@cert-rhosp-02 ~]# echo $PODS pod/self-node-remediation-controller-manager-56cbdd5844-nlmbp pod/self-node-remediation-controller-manager-56cbdd5844-sltv5 [root@cert-rhosp-02 ~]# for p in $PODS; do > echo "== $p" > oc get "$p" -n openshift-workload-availability -o json | jq .spec.nodeName > done == pod/self-node-remediation-controller-manager-56cbdd5844-nlmbp "worker-0-1" == pod/self-node-remediation-controller-manager-56cbdd5844-sltv5 "worker-0-0" [root@cert-rhosp-02 ~]# PODS=$(oc get pods -o name -n openshift-workload-availability | grep machine-deletion-remediation-controller) [root@cert-rhosp-02 ~]# echo $PODS pod/machine-deletion-remediation-controller-manager-c6c7cccf9-cvvwt [root@cert-rhosp-02 ~]# for p in $PODS; do > echo "== $p" > oc get "$p" -n openshift-workload-availability -o json | jq .spec.nodeName > done == pod/machine-deletion-remediation-controller-manager-c6c7cccf9-cvvwt "worker-0-0" [root@cert-rhosp-02 ~]# PODS=$(oc get pods -o name -n openshift-workload-availability | grep node-maintenance-operator-controller-manager) [root@cert-rhosp-02 ~]# echo $PODS pod/node-maintenance-operator-controller-manager-75fc769cb4-bgfd2 [root@cert-rhosp-02 ~]# for p in $PODS; do > echo "== $p" > oc get "$p" -n openshift-workload-availability -o json | jq .spec.nodeName > done == pod/node-maintenance-operator-controller-manager-75fc769cb4-bgfd2 "master-0-0" [root@cert-rhosp-02 ~]# oc debug node/worker-0-2 -- chroot /host bash -c "date" Starting pod/worker-0-2-debug ... To use host binaries, run `chroot /host` Tue Feb 17 19:13:36 UTC 2026 Removing debug pod ... [root@cert-rhosp-02 ~]# oc debug node/worker-0-2 -- chroot /host bash -c "systemctl stop kubelet" Starting pod/worker-0-2-debug ... [root@cert-rhosp-02 ~]# oc get nodes NAME STATUS ROLES AGE VERSION master-0-0 Ready control-plane,master 36h v1.34.2 master-0-1 Ready control-plane,master 36h v1.34.2 master-0-2 Ready control-plane,master 36h v1.34.2 worker-0-0 Ready worker 35h v1.34.2 worker-0-1 Ready worker 35h v1.34.2 worker-0-2 NotReady worker 35h v1.34.2 [root@cert-rhosp-02 ~]# cat snr_standalone.yaml apiVersion: self-node-remediation.medik8s.io/v1alpha1 kind: SelfNodeRemediation metadata: namespace: openshift-workload-availability name: worker-2-manual annotations: remediation.medik8s.io/node-name: worker-0-2 spec: remediationStrategy: Automatic [root@cert-rhosp-02 ~]# oc apply -f snr_standalone.yaml selfnoderemediation.self-node-remediation.medik8s.io/worker-2-manual created [root@cert-rhosp-02 ~]# oc get snr NAME AGE worker-2-manual 7s [root@cert-rhosp-02 ~]# oc get snr -oyaml apiVersion: v1 items: - apiVersion: self-node-remediation.medik8s.io/v1alpha1 kind: SelfNodeRemediation metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"self-node-remediation.medik8s.io/v1alpha1","kind":"SelfNodeRemediation","metadata":{"annotations":{"remediation.medik8s.io/node-name":"worker-0-2"},"name":"worker-2-manual","namespace":"openshift-workload-availability"},"spec":{"remediationStrategy":"Automatic"}} remediation.medik8s.io/node-name: worker-0-2 creationTimestamp: "2026-02-17T19:18:38Z" finalizers: - self-node-remediation.medik8s.io/snr-finalizer generation: 1 name: worker-2-manual namespace: openshift-workload-availability resourceVersion: "768194" uid: 8a2d5d9a-8c04-46e5-bff6-f6bf1fd687a6 spec: remediationStrategy: Automatic status: conditions: - lastTransitionTime: "2026-02-17T19:18:38Z" message: "" reason: RemediationStarted status: "True" type: Processing - lastTransitionTime: "2026-02-17T19:18:38Z" message: "" reason: RemediationStarted status: Unknown type: Succeeded phase: Pre-Reboot-Completed timeAssumedRebooted: "2026-02-17T19:20:38Z" kind: List metadata: resourceVersion: "" selfLink: "" [root@cert-rhosp-02 ~]# oc get nodes NAME STATUS ROLES AGE VERSION master-0-0 Ready control-plane,master 36h v1.34.2 master-0-1 Ready control-plane,master 36h v1.34.2 master-0-2 Ready control-plane,master 36h v1.34.2 worker-0-0 Ready worker 35h v1.34.2 worker-0-1 Ready worker 35h v1.34.2 worker-0-2 Ready worker 35h v1.34.2 [root@cert-rhosp-02 ~]# oc get snr NAME AGE worker-2-manual 4m22s [root@cert-rhosp-02 ~]# oc debug node/worker-0-2 -- chroot /host bash -c "date" Starting pod/worker-0-2-debug ... To use host binaries, run `chroot /host` Tue Feb 17 19:30:38 UTC 2026 Removing debug pod ... [root@cert-rhosp-02 ~]# oc delete pod/self-node-remediation-controller-manager-56cbdd5844-nlmbp pod/self-node-remediation-controller-manager-56cbdd5844-sltv5 pod "self-node-remediation-controller-manager-56cbdd5844-nlmbp" deleted pod "self-node-remediation-controller-manager-56cbdd5844-sltv5" deleted [root@cert-rhosp-02 ~]# cat nhc_snr.ymal apiVersion: remediation.medik8s.io/v1alpha1 kind: NodeHealthCheck metadata: name: nhc-worker-test spec: minHealthy: 1 healthyDelay: 5s stormCooldownDuration: 60s remediationTemplate: apiVersion: self-node-remediation.medik8s.io/v1alpha1 kind: SelfNodeRemediationTemplate name: selfnoderemediationtemplate-sample namespace: openshift-workload-availability selector: matchExpressions: - key: node-role.kubernetes.io/worker operator: Exists unhealthyConditions: - duration: 30s status: 'False' type: Ready - duration: 30s status: Unknown type: Ready --- apiVersion: self-node-remediation.medik8s.io/v1alpha1 kind: SelfNodeRemediationTemplate metadata: namespace: openshift-workload-availability name: selfnoderemediationtemplate-sample spec: template: spec: remediationStrategy: Automatic [root@cert-rhosp-02 ~]# oc get pods NAME READY STATUS RESTARTS AGE fence-agents-remediation-controller-manager-67cf65c64-9rvzx 2/2 Running 0 4d19h fence-agents-remediation-controller-manager-67cf65c64-gh6xd 2/2 Running 0 4d19h machine-deletion-remediation-controller-manager-c6c7cccf9-cvvwt 2/2 Running 0 4d19h node-healthcheck-controller-manager-59d6c4dcf8-xsz6s 2/2 Running 0 4d23h node-healthcheck-controller-manager-59d6c4dcf8-zl29b 2/2 Running 0 4d23h node-healthcheck-node-remediation-console-plugin-67896dccb6vhq6 1/1 Running 0 4d23h node-maintenance-operator-controller-manager-75fc769cb4-bgfd2 1/1 Running 0 4d19h self-node-remediation-controller-manager-56cbdd5844-jcvhn 2/2 Running 0 25h self-node-remediation-controller-manager-56cbdd5844-m446j 2/2 Running 0 28h self-node-remediation-ds-9dgvz 1/1 Running 0 4d19h self-node-remediation-ds-gs869 1/1 Running 0 4d19h self-node-remediation-ds-hs66n 1/1 Running 0 4d19h self-node-remediation-ds-k5crg 1/1 Running 0 28h self-node-remediation-ds-tgr2q 1/1 Running 0 4d19h self-node-remediation-ds-v2rlh 1/1 Running 0 4d19h [root@cert-rhosp-02 ~]# oc get nodes NAME STATUS ROLES AGE VERSION master-0-0 Ready control-plane,master 6d7h v1.34.2 master-0-1 Ready control-plane,master 6d7h v1.34.2 master-0-2 Ready control-plane,master 6d7h v1.34.2 worker-0-0 Ready worker 6d6h v1.34.2 worker-0-1 Ready worker 6d6h v1.34.2 worker-0-2 Ready worker 6d6h v1.34.2 [root@cert-rhosp-02 ~]# oc apply -f nhc_snr.ymal nodehealthcheck.remediation.medik8s.io/nhc-worker-test created selfnoderemediationtemplate.self-node-remediation.medik8s.io/selfnoderemediationtemplate-sample created [root@cert-rhosp-02 ~]# oc get snr No resources found in openshift-workload-availability namespace. [root@cert-rhosp-02 ~]# oc get nhc NAME AGE nhc-worker-test 7s [root@cert-rhosp-02 ~]# oc debug node/worker-0-2 -- chroot /host bash -c "date" Starting pod/worker-0-2-debug ... To use host binaries, run `chroot /host` Sun Feb 22 14:08:45 UTC 2026 Removing debug pod ... [root@cert-rhosp-02 ~]# oc debug node/worker-0-2 -- chroot /host bash -c "systemctl stop kubelet" Starting pod/worker-0-2-debug ... To use host binaries, run `chroot /host` [root@cert-rhosp-02 ~]# oc get nodes NAME STATUS ROLES AGE VERSION master-0-0 Ready control-plane,master 6d7h v1.34.2 master-0-1 Ready control-plane,master 6d7h v1.34.2 master-0-2 Ready control-plane,master 6d7h v1.34.2 worker-0-0 Ready worker 6d6h v1.34.2 worker-0-1 Ready worker 6d6h v1.34.2 worker-0-2 NotReady worker 6d6h v1.34.2 [root@cert-rhosp-02 ~]# oc get snr NAME AGE worker-0-2-x9knz 1s [root@cert-rhosp-02 ~]# oc get snr -oyaml apiVersion: v1 items: - apiVersion: self-node-remediation.medik8s.io/v1alpha1 kind: SelfNodeRemediation metadata: annotations: remediation.medik8s.io/node-name: worker-0-2 remediation.medik8s.io/template-name: selfnoderemediationtemplate-sample creationTimestamp: "2026-02-22T14:10:12Z" finalizers: - self-node-remediation.medik8s.io/snr-finalizer generateName: worker-0-2- generation: 1 labels: app.kubernetes.io/part-of: node-healthcheck-controller name: worker-0-2-x9knz namespace: openshift-workload-availability ownerReferences: - apiVersion: remediation.medik8s.io/v1alpha1 controller: false kind: NodeHealthCheck name: nhc-worker-test uid: 373041e8-7e2e-4960-953c-b16f78b5cbc4 resourceVersion: "3380713" uid: 461560f5-6591-4d8d-ab17-5bc9adea4d8d spec: remediationStrategy: Automatic status: conditions: - lastTransitionTime: "2026-02-22T14:10:12Z" message: "" reason: RemediationStarted status: "True" type: Processing - lastTransitionTime: "2026-02-22T14:10:12Z" message: "" reason: RemediationStarted status: Unknown type: Succeeded phase: Pre-Reboot-Completed timeAssumedRebooted: "2026-02-22T14:12:12Z" kind: List metadata: resourceVersion: "" selfLink: "" [root@cert-rhosp-02 ~]# oc get node/worker-0-2 -oyaml | yq .spec.taints - effect: NoSchedule key: node.kubernetes.io/unreachable timeAdded: "2026-02-22T14:09:41Z" - effect: NoExecute key: node.kubernetes.io/unreachable timeAdded: "2026-02-22T14:09:42Z" - effect: NoSchedule key: remediation.medik8s.io/self-node-remediation timeAdded: "2026-02-22T14:10:12Z" [root@cert-rhosp-02 ~]# oc get node NAME STATUS ROLES AGE VERSION master-0-0 Ready control-plane,master 6d7h v1.34.2 master-0-1 Ready control-plane,master 6d7h v1.34.2 master-0-2 Ready control-plane,master 6d7h v1.34.2 worker-0-0 Ready worker 6d6h v1.34.2 worker-0-1 Ready worker 6d6h v1.34.2 worker-0-2 Ready worker 6d6h v1.34.2 [root@cert-rhosp-02 ~]# oc get node/worker-0-2 -oyaml | yq .spec.taints null [root@cert-rhosp-02 ~]# oc get pods NAME READY STATUS RESTARTS AGE node-healthcheck-controller-manager-7cd7bb4c77-7tx65 2/2 Running 0 33s node-healthcheck-controller-manager-7cd7bb4c77-lzxjk 2/2 Running 0 33s node-healthcheck-node-remediation-console-plugin-67896dccbrzbwq 1/1 Running 0 33s self-node-remediation-controller-manager-696954dcc7-6d8bq 2/2 Running 0 61s self-node-remediation-controller-manager-696954dcc7-zvftf 2/2 Running 0 61s self-node-remediation-ds-669pg 1/1 Running 0 18s self-node-remediation-ds-l7pv7 1/1 Running 0 18s self-node-remediation-ds-sf5j9 1/1 Running 0 18s self-node-remediation-ds-w5g4h 1/1 Running 0 18s self-node-remediation-ds-xgc6j 1/1 Running 0 18s [root@cert-rhosp-02 ~]# oc get nodes NAME STATUS ROLES AGE VERSION master-0-0 Ready control-plane,master 6d9h v1.34.2 master-0-1 Ready control-plane,master 6d9h v1.34.2 master-0-2 Ready control-plane,master 6d9h v1.34.2 worker-0-0 Ready worker 6d8h v1.34.2 worker-0-1 Ready worker 6d8h v1.34.2 worker-0-2 NotReady worker 6d8h v1.34.2 [root@cert-rhosp-02 ~]# cat esc_snr_far.yaml --- apiVersion: self-node-remediation.medik8s.io/v1alpha1 kind: SelfNodeRemediationTemplate metadata: namespace: openshift-workload-availability name: selfnoderemediationtemplate-sample spec: template: spec: remediationStrategy: Automatic --- apiVersion: fence-agents-remediation.medik8s.io/v1alpha1 kind: FenceAgentsRemediationTemplate metadata: name: fenceagentsremediationtemplate-test namespace: openshift-workload-availability spec: template: spec: agent: fence_ipmilan retrycount: 1 retryinterval: 60s timeout: 120s nodeparameters: '--ipport': master-0-0: '6230' master-0-1: '6231' master-0-2: '6232' worker-0-0: '6233' worker-0-1: '6234' worker-0-2: '6235' sharedparameters: '--action': reboot '--lanplus': '' '--ip': 192.168.123.1 '--password': password '--username': admin --- apiVersion: remediation.medik8s.io/v1alpha1 kind: NodeHealthCheck metadata: name: nhc-escalation spec: maxUnhealthy: 2 escalatingRemediations: - remediationTemplate: apiVersion: self-node-remediation.medik8s.io/v1alpha1 kind: SelfNodeRemediationTemplate name: selfnoderemediationtemplate-sample namespace: openshift-workload-availability order: 1 timeout: 300s - remediationTemplate: apiVersion: fence-agents-remediation.medik8s.io/v1alpha1 kind: FenceAgentsRemediationTemplate name: fenceagentsremediationtemplate-test namespace: openshift-workload-availability order: 2 timeout: 600s selector: matchExpressions: - key: node-role.kubernetes.io/worker operator: Exists unhealthyConditions: - type: Ready status: "False" duration: 30s - type: Ready status: Unknown duration: 30s [root@cert-rhosp-02 ~]# oc get csv NAME DISPLAY VERSION REPLACES PHASE fence-agents-remediation.v0.7.0 Fence Agents Remediation Operator 0.7.0 fence-agents-remediation.v0.6.0 Succeeded node-healthcheck-operator.v0.11.0 Node Health Check Operator 0.11.0 node-healthcheck-operator.v0.10.1 Succeeded self-node-remediation.v0.12.0 Self Node Remediation Operator 0.12.0 self-node-remediation.v0.11.0 Succeeded [root@cert-rhosp-02 ~]# oc apply -f esc_snr_far.yaml selfnoderemediationtemplate.self-node-remediation.medik8s.io/selfnoderemediationtemplate-sample created fenceagentsremediationtemplate.fence-agents-remediation.medik8s.io/fenceagentsremediationtemplate-test configured nodehealthcheck.remediation.medik8s.io/nhc-escalation unchanged [root@cert-rhosp-02 ~]# oc get snr No resources found in openshift-workload-availability namespace. [root@cert-rhosp-02 ~]# oc get far No resources found in openshift-workload-availability namespace. [root@cert-rhosp-02 ~]# oc get snr -oyaml apiVersion: v1 items: - apiVersion: self-node-remediation.medik8s.io/v1alpha1 kind: SelfNodeRemediation metadata: annotations: remediation.medik8s.io/node-name: worker-0-2 remediation.medik8s.io/template-name: selfnoderemediationtemplate-sample creationTimestamp: "2026-02-22T17:00:50Z" generateName: worker-0-2- generation: 1 labels: app.kubernetes.io/part-of: node-healthcheck-controller name: worker-0-2-m7d7z namespace: openshift-workload-availability ownerReferences: - apiVersion: remediation.medik8s.io/v1alpha1 controller: false kind: NodeHealthCheck name: nhc-escalation uid: 0f90f757-d7fb-4b55-9d93-78530d2abf5b resourceVersion: "3447681" uid: ebb6cb78-cc75-45d8-86b6-d9f5bbedaff3 spec: remediationStrategy: Automatic status: conditions: - lastTransitionTime: "2026-02-22T17:00:50Z" message: "" reason: RemediationStarted status: "True" type: Processing - lastTransitionTime: "2026-02-22T17:00:50Z" message: "" reason: RemediationStarted status: Unknown type: Succeeded lastError: Node is not capable to reboot itself kind: List metadata: resourceVersion: "" selfLink: "" [root@cert-rhosp-02 ~]# oc get far -oyaml apiVersion: v1 items: - apiVersion: fence-agents-remediation.medik8s.io/v1alpha1 kind: FenceAgentsRemediation metadata: annotations: remediation.medik8s.io/node-name: worker-0-2 remediation.medik8s.io/template-name: fenceagentsremediationtemplate-test creationTimestamp: "2026-02-22T17:05:50Z" finalizers: - fence-agents-remediation.medik8s.io/far-finalizer generateName: worker-0-2- generation: 1 labels: app.kubernetes.io/part-of: node-healthcheck-controller name: worker-0-2-vjm6c namespace: openshift-workload-availability ownerReferences: - apiVersion: remediation.medik8s.io/v1alpha1 controller: false kind: NodeHealthCheck name: nhc-escalation uid: 0f90f757-d7fb-4b55-9d93-78530d2abf5b resourceVersion: "3449504" uid: c10bef6f-9407-4ddc-bdc9-d05ffa10900f spec: agent: fence_ipmilan nodeparameters: --ipport: master-0-0: "6230" master-0-1: "6231" master-0-2: "6232" worker-0-0: "6233" worker-0-1: "6234" worker-0-2: "6235" remediationStrategy: ResourceDeletion retrycount: 1 retryinterval: 1m0s sharedparameters: --action: reboot --ip: 192.168.123.1 --lanplus: "" --password: password --username: admin timeout: 2m0s status: conditions: - lastTransitionTime: "2026-02-22T17:05:56Z" message: The unhealthy node was fully remediated (it was tainted, fenced using the fence agent and all the node resources have been deleted) reason: RemediationFinishedSuccessfully status: "False" type: Processing - lastTransitionTime: "2026-02-22T17:05:55Z" message: FAR taint was added and the fence agent command has been created and executed successfully reason: FenceAgentSucceeded status: "True" type: FenceAgentActionSucceeded - lastTransitionTime: "2026-02-22T17:05:56Z" message: The unhealthy node was fully remediated (it was tainted, fenced using the fence agent and all the node resources have been deleted) reason: RemediationFinishedSuccessfully status: "True" type: Succeeded lastUpdateTime: "2026-02-22T17:05:56Z" kind: List metadata: resourceVersion: "" selfLink: "" [root@cert-rhosp-02 ~]# oc get far No resources found in openshift-workload-availability namespace. [root@cert-rhosp-02 ~]# oc get snr No resources found in openshift-workload-availability namespace. [root@cert-rhosp-02 ~]# oc get nodes NAME STATUS ROLES AGE VERSION master-0-0 Ready control-plane,master 6d10h v1.34.2 master-0-1 Ready control-plane,master 6d10h v1.34.2 master-0-2 Ready control-plane,master 6d10h v1.34.2 worker-0-0 Ready worker 6d9h v1.34.2 worker-0-1 Ready worker 6d9h v1.34.2 worker-0-2 Ready worker 6d9h v1.34.2 SNR Stand Alone LOGS: 2026-02-17T18:34:07.525808724Z INFO setup Go Version: go1.25.3 (Red Hat 1.25.3-1.el9_7) X:strictfipsruntime 2026-02-17T18:34:07.525922197Z INFO setup Go OS/Arch: linux/amd64 2026-02-17T18:34:07.525925316Z INFO setup Operator Version: 3477dbe 2026-02-17T18:34:07.525928296Z INFO setup Git Commit: 3477dbe48d1c5f3e04213c5917ccb1013278d75f 2026-02-17T18:34:07.525930739Z INFO setup Build Date: 2026-01-28T09:37:18+00:00 2026-02-17T18:34:07.525932741Z INFO setup HTTP/2 for metrics and webhook server disabled 2026-02-17T18:34:07.533586753Z INFO utils-taints out of service taint strategy {"isSupported": true, "k8sMajorVersion": 1, "k8sMinorVersion": 34} 2026-02-17T18:34:07.533613283Z INFO utils-taints out of service taint strategy {"isGA": true, "k8sMajorVersion": 1, "k8sMinorVersion": 34} 2026-02-17T18:34:07.533619982Z INFO setup Starting as a manager that installs the daemonset 2026-02-17T18:34:07.533653898Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "self-node-remediation.medik8s.io/v1alpha1, Kind=SelfNodeRemediationConfig", "path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationconfig"} 2026-02-17T18:34:07.533739154Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationconfig"} 2026-02-17T18:34:07.533796386Z INFO controller-runtime.builder Registering a mutating webhook {"GVK": "self-node-remediation.medik8s.io/v1alpha1, Kind=SelfNodeRemediationTemplate", "path": "/mutate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationtemplate"} 2026-02-17T18:34:07.533890657Z INFO controller-runtime.webhook Registering webhook {"path": "/mutate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationtemplate"} 2026-02-17T18:34:07.533909814Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "self-node-remediation.medik8s.io/v1alpha1, Kind=SelfNodeRemediationTemplate", "path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationtemplate"} 2026-02-17T18:34:07.533942006Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationtemplate"} 2026-02-17T18:34:07.533982172Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "self-node-remediation.medik8s.io/v1alpha1, Kind=SelfNodeRemediation", "path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediation"} 2026-02-17T18:34:07.534090601Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediation"} 2026-02-17T18:34:07.534195819Z INFO setup starting manager 2026-02-17T18:34:07.534493433Z INFO controller-runtime.metrics Starting metrics server 2026-02-17T18:34:07.534634303Z INFO controller-runtime.metrics Serving metrics server {"bindAddress": "127.0.0.1:8080", "secure": false} 2026-02-17T18:34:07.534723408Z INFO starting server {"name": "health probe", "addr": "[::]:8081"} 2026-02-17T18:34:07.534756177Z INFO controller-runtime.webhook Starting webhook server 2026-02-17T18:34:07.53496923Z INFO controller-runtime.certwatcher Updated current TLS certificate 2026-02-17T18:34:07.535021977Z INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443} 2026-02-17T18:34:07.53510096Z INFO controller-runtime.certwatcher Starting certificate poll+watcher {"interval": "10s"} I0217 18:34:07.535142 1 leaderelection.go:257] attempting to acquire leader lease openshift-workload-availability/547f6cb6.medik8s.io... I0217 18:34:22.952843 1 leaderelection.go:271] successfully acquired lease openshift-workload-availability/547f6cb6.medik8s.io 2026-02-17T18:34:22.952883399Z DEBUG events self-node-remediation-controller-manager-56cbdd5844-nlmbp_ecba7c12-a7cb-4be3-b71c-31c47f0e6464 became leader {"type": "Normal", "object": {"kind":"Lease","namespace":"openshift-workload-availability","name":"547f6cb6.medik8s.io","uid":"d43ff4a5-267e-4a29-a315-7ea9a070c0da","apiVersion":"coordination.k8s.io/v1","resourceVersion":"748949"}, "reason": "LeaderElection"} 2026-02-17T18:34:22.953141913Z INFO Starting EventSource {"controller": "selfnoderemediationconfig", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediationConfig", "source": "kind source: *v1.DaemonSet"} 2026-02-17T18:34:22.95316208Z INFO Starting EventSource {"controller": "selfnoderemediationconfig", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediationConfig", "source": "kind source: *v1alpha1.SelfNodeRemediationConfig"} 2026-02-17T18:34:22.953781754Z INFO Starting EventSource {"controller": "selfnoderemediation", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediation", "source": "kind source: *v1alpha1.SelfNodeRemediation"} 2026-02-17T18:34:22.966810645Z INFO selfnoderemediationconfig-resource validate create {"name": "self-node-remediation-config"} 2026-02-17T18:34:23.062771684Z INFO Starting Controller {"controller": "selfnoderemediationconfig", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediationConfig"} 2026-02-17T18:34:23.062918122Z INFO Starting workers {"controller": "selfnoderemediationconfig", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediationConfig", "worker count": 1} 2026-02-17T18:34:23.062778315Z INFO Starting Controller {"controller": "selfnoderemediation", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediation"} 2026-02-17T18:34:23.062992838Z INFO Starting workers {"controller": "selfnoderemediation", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediation", "worker count": 1} 2026-02-17T18:34:23.063148126Z INFO controllers.SelfNodeRemediationConfig Syncing certs 2026-02-17T18:34:23.163525702Z INFO controllers.SelfNodeRemediationConfig Cert secret already exists 2026-02-17T18:34:23.163567538Z INFO controllers.SelfNodeRemediationConfig.syncConfigDaemonset Start to sync config daemonset 2026-02-17T18:34:23.164314519Z INFO controllers.SelfNodeRemediationConfig Updating DS tolerations 2026-02-17T18:34:23.16434671Z INFO controllers.SelfNodeRemediationConfig snr didn't find old daemonset to be deleted 2026/02/17 18:34:23 reconciling (apps/v1, Kind=DaemonSet) openshift-workload-availability/self-node-remediation-ds 2026/02/17 18:34:23 does not exist, creating (apps/v1, Kind=DaemonSet) openshift-workload-availability/self-node-remediation-ds 2026/02/17 18:34:23 successfully created (apps/v1, Kind=DaemonSet) openshift-workload-availability/self-node-remediation-ds 2026-02-17T18:34:23.176875561Z INFO controllers.SelfNodeRemediationConfig Syncing certs 2026-02-17T18:34:23.176904548Z INFO controllers.SelfNodeRemediationConfig Cert secret already exists 2026-02-17T18:34:23.176911068Z INFO controllers.SelfNodeRemediationConfig.syncConfigDaemonset Start to sync config daemonset 2026-02-17T18:34:23.177633156Z INFO controllers.SelfNodeRemediationConfig Updating DS tolerations 2026/02/17 18:34:23 reconciling (apps/v1, Kind=DaemonSet) openshift-workload-availability/self-node-remediation-ds 2026/02/17 18:34:23 update was successful 2026-02-17T18:34:32.958234294Z INFO selfnoderemediationtemplate-resource default {"name": "self-node-remediation-automatic-strategy-template"} 2026-02-17T18:34:32.961512563Z INFO selfnoderemediationtemplate-resource validate create {"name": "self-node-remediation-automatic-strategy-template"} 2026-02-17T19:18:38.299530176Z INFO selfnoderemediation-resource validate create {"name": "worker-2-manual"} 2026-02-17T19:18:38.403565482Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:38.403598447Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:38.403644015Z DEBUG events [remediation] Remediation started by SNR manager {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-2-manual","uid":"8a2d5d9a-8c04-46e5-bff6-f6bf1fd687a6","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"768186"}, "reason": "RemediationStarted"} 2026-02-17T19:18:38.507115355Z INFO selfnoderemediation-resource validate update {"name": "worker-2-manual"} 2026-02-17T19:18:38.509794958Z INFO controllers.SelfNodeRemediation finalizer added {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:38.509936766Z DEBUG events [remediation] Remediation process - successful adding finalizer {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-2-manual","uid":"8a2d5d9a-8c04-46e5-bff6-f6bf1fd687a6","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"768189"}, "reason": "AddFinalizer"} 2026-02-17T19:18:38.513767266Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:38.513786576Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:38.525915648Z INFO controllers.SelfNodeRemediation NoSchedule taint added {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}, "new taints": [{"key":"node.kubernetes.io/unreachable","effect":"NoSchedule","timeAdded":"2026-02-17T19:14:32Z"},{"key":"node.kubernetes.io/unreachable","effect":"NoExecute","timeAdded":"2026-02-17T19:14:32Z"},{"key":"remediation.medik8s.io/self-node-remediation","effect":"NoSchedule","timeAdded":"2026-02-17T19:18:38Z"}]} 2026-02-17T19:18:38.526102569Z INFO rebootDurationCalculator No SafeTimeToAssumeNodeRebootedSeconds specified, using calculated minimum safe reboot time {"calculated minimum time in seconds": 120} 2026-02-17T19:18:38.52610182Z DEBUG events [remediation] Remediation process - NoSchedule taint added to the unhealthy node {"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"768192"}, "reason": "AddNoScheduleTaint"} 2026-02-17T19:18:38.526121284Z INFO controllers.SelfNodeRemediation setting SNR's time to assume node has been rebooted {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time": "2026-02-17 19:20:38.526120468 +0000 UTC m=+2791.015132252"} 2026-02-17T19:18:38.526300891Z DEBUG events [remediation] Remediation process - about to update required fencing time on snr {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-2-manual","uid":"8a2d5d9a-8c04-46e5-bff6-f6bf1fd687a6","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"768191"}, "reason": "UpdateTimeAssumedRebooted"} 2026-02-17T19:18:38.532797574Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:38.532827374Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:38.533315181Z INFO rebootDurationCalculator No SafeTimeToAssumeNodeRebootedSeconds specified, using calculated minimum safe reboot time {"calculated minimum time in seconds": 120} 2026-02-17T19:18:38.533333963Z INFO controllers.SelfNodeRemediation setting SNR's time to assume node has been rebooted {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time": "2026-02-17 19:20:38.533333047 +0000 UTC m=+2791.022344820"} 2026-02-17T19:18:38.533465257Z DEBUG events [remediation] Remediation process - about to update required fencing time on snr {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-2-manual","uid":"8a2d5d9a-8c04-46e5-bff6-f6bf1fd687a6","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"768191"}, "reason": "UpdateTimeAssumedRebooted"} 2026-02-17T19:18:38.541357539Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:38.543989247Z INFO controllers.SelfNodeRemediation Node didn't reboot yet, waiting for it to reboot {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time left": "2m0.456014044s"} 2026-02-17T19:18:39.541493527Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:18:39.541511806Z INFO controllers.SelfNodeRemediation Node didn't reboot yet, waiting for it to reboot {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time left": "1m59.458488735s"} 2026-02-17T19:20:39.00505245Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:20:39.005086469Z INFO controllers.SelfNodeRemediation TimeAssumedRebooted is old. The unhealthy node assumed to been rebooted {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}, "node name": "worker-0-2"} 2026-02-17T19:20:39.010511912Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} 2026-02-17T19:20:39.018884504Z INFO controllers.SelfNodeRemediation out-of-service taint added {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}, "new taints": [{"key":"remediation.medik8s.io/self-node-remediation","effect":"NoSchedule","timeAdded":"2026-02-17T19:18:38Z"},{"key":"node.kubernetes.io/out-of-service","value":"nodeshutdown","effect":"NoExecute","timeAdded":"2026-02-17T19:20:39Z"}]} 2026-02-17T19:20:39.019904723Z DEBUG events [remediation] Remediation process - add out-of-service taint to unhealthy node {"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"769602"}, "reason": "AddOutOfService"} 2026-02-17T19:20:39.136811196Z INFO controllers.SelfNodeRemediation out-of-service taint removed {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}, "new taints": [{"key":"remediation.medik8s.io/self-node-remediation","effect":"NoSchedule","timeAdded":"2026-02-17T19:18:38Z"}]} 2026-02-17T19:20:39.136922555Z DEBUG events [remediation] Remediation process - remove out-of-service taint from node {"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"769627"}, "reason": "RemoveOutOfService"} 2026-02-17T19:20:39.137185806Z DEBUG events [remediation] Remediation process - finished deleting unhealthy node resources {"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"769627"}, "reason": "DeleteResources"} 2026-02-17T19:20:39.143578187Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-2-manual","namespace":"openshift-workload-availability"}} NHC + SNR Logs: [root@cert-rhosp-02 ~]# oc logs pods/self-node-remediation-controller-manager-56cbdd5844-m446j -c manager 2026-02-21T09:43:06.392761825Z INFO setup Go Version: go1.25.3 (Red Hat 1.25.3-1.el9_7) X:strictfipsruntime 2026-02-21T09:43:06.392863756Z INFO setup Go OS/Arch: linux/amd64 2026-02-21T09:43:06.392867858Z INFO setup Operator Version: 3477dbe 2026-02-21T09:43:06.392870523Z INFO setup Git Commit: 3477dbe48d1c5f3e04213c5917ccb1013278d75f 2026-02-21T09:43:06.392872197Z INFO setup Build Date: 2026-01-28T09:37:18+00:00 2026-02-21T09:43:06.392874016Z INFO setup HTTP/2 for metrics and webhook server disabled 2026-02-21T09:43:06.399650779Z INFO utils-taints out of service taint strategy {"isSupported": true, "k8sMajorVersion": 1, "k8sMinorVersion": 34} 2026-02-21T09:43:06.399686293Z INFO utils-taints out of service taint strategy {"isGA": true, "k8sMajorVersion": 1, "k8sMinorVersion": 34} 2026-02-21T09:43:06.399693062Z INFO setup Starting as a manager that installs the daemonset 2026-02-21T09:43:06.399720626Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "self-node-remediation.medik8s.io/v1alpha1, Kind=SelfNodeRemediationConfig", "path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationconfig"} 2026-02-21T09:43:06.399790947Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationconfig"} 2026-02-21T09:43:06.399831Z INFO controller-runtime.builder Registering a mutating webhook {"GVK": "self-node-remediation.medik8s.io/v1alpha1, Kind=SelfNodeRemediationTemplate", "path": "/mutate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationtemplate"} 2026-02-21T09:43:06.39986325Z INFO controller-runtime.webhook Registering webhook {"path": "/mutate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationtemplate"} 2026-02-21T09:43:06.399878648Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "self-node-remediation.medik8s.io/v1alpha1, Kind=SelfNodeRemediationTemplate", "path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationtemplate"} 2026-02-21T09:43:06.399911133Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediationtemplate"} 2026-02-21T09:43:06.399938898Z INFO controller-runtime.builder Registering a validating webhook {"GVK": "self-node-remediation.medik8s.io/v1alpha1, Kind=SelfNodeRemediation", "path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediation"} 2026-02-21T09:43:06.399970446Z INFO controller-runtime.webhook Registering webhook {"path": "/validate-self-node-remediation-medik8s-io-v1alpha1-selfnoderemediation"} 2026-02-21T09:43:06.400028656Z INFO setup starting manager 2026-02-21T09:43:06.403543658Z INFO controller-runtime.metrics Starting metrics server 2026-02-21T09:43:06.403669253Z INFO controller-runtime.webhook Starting webhook server 2026-02-21T09:43:06.403636577Z INFO starting server {"name": "health probe", "addr": "[::]:8081"} I0221 09:43:06.403893 1 leaderelection.go:257] attempting to acquire leader lease openshift-workload-availability/547f6cb6.medik8s.io... 2026-02-21T09:43:06.403922779Z INFO controller-runtime.certwatcher Updated current TLS certificate 2026-02-21T09:43:06.404014239Z INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443} 2026-02-21T09:43:06.404088815Z INFO controller-runtime.certwatcher Starting certificate poll+watcher {"interval": "10s"} 2026-02-21T09:43:06.404523884Z INFO controller-runtime.metrics Serving metrics server {"bindAddress": "127.0.0.1:8080", "secure": false} 2026-02-21T09:43:23.43242914Z INFO selfnoderemediationconfig-resource validate create {"name": "self-node-remediation-config"} 2026-02-21T09:49:56.037229573Z INFO selfnoderemediation-resource validate update {"name": "worker-2-manual"} 2026-02-21T09:50:32.361799467Z INFO selfnoderemediation-resource validate create {"name": "worker-2-manual"} 2026-02-21T09:50:32.469063591Z INFO selfnoderemediation-resource validate update {"name": "worker-2-manual"} I0221 12:18:48.037517 1 leaderelection.go:271] successfully acquired lease openshift-workload-availability/547f6cb6.medik8s.io 2026-02-21T12:18:48.037570864Z DEBUG events self-node-remediation-controller-manager-56cbdd5844-m446j_7d264e3a-af87-41e8-b67f-d32ba928c369 became leader {"type": "Normal", "object": {"kind":"Lease","namespace":"openshift-workload-availability","name":"547f6cb6.medik8s.io","uid":"d43ff4a5-267e-4a29-a315-7ea9a070c0da","apiVersion":"coordination.k8s.io/v1","resourceVersion":"2785720"}, "reason": "LeaderElection"} 2026-02-21T12:18:48.037999444Z INFO Starting EventSource {"controller": "selfnoderemediationconfig", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediationConfig", "source": "kind source: *v1.DaemonSet"} 2026-02-21T12:18:48.038150168Z INFO Starting EventSource {"controller": "selfnoderemediationconfig", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediationConfig", "source": "kind source: *v1alpha1.SelfNodeRemediationConfig"} 2026-02-21T12:18:48.038190106Z INFO Starting EventSource {"controller": "selfnoderemediation", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediation", "source": "kind source: *v1alpha1.SelfNodeRemediation"} 2026-02-21T12:18:48.052351512Z INFO selfnoderemediationconfig-resource validate create {"name": "self-node-remediation-config"} 2026-02-21T12:18:48.145953493Z INFO Starting Controller {"controller": "selfnoderemediation", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediation"} 2026-02-21T12:18:48.145981838Z INFO Starting workers {"controller": "selfnoderemediation", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediation", "worker count": 1} 2026-02-21T12:18:48.146018984Z INFO Starting Controller {"controller": "selfnoderemediationconfig", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediationConfig"} 2026-02-21T12:18:48.146023615Z INFO Starting workers {"controller": "selfnoderemediationconfig", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediationConfig", "worker count": 1} 2026-02-21T12:18:48.146158934Z INFO controllers.SelfNodeRemediationConfig Syncing certs 2026-02-21T12:18:48.246732394Z INFO controllers.SelfNodeRemediationConfig Cert secret already exists 2026-02-21T12:18:48.246770956Z INFO controllers.SelfNodeRemediationConfig.syncConfigDaemonset Start to sync config daemonset 2026-02-21T12:18:48.24748622Z INFO controllers.SelfNodeRemediationConfig Updating DS tolerations 2026/02/21 12:18:48 reconciling (apps/v1, Kind=DaemonSet) openshift-workload-availability/self-node-remediation-ds 2026/02/21 12:18:48 update was successful 2026-02-21T12:18:48.256314007Z INFO controllers.SelfNodeRemediationConfig Syncing certs 2026-02-21T12:18:48.256340217Z INFO controllers.SelfNodeRemediationConfig Cert secret already exists 2026-02-21T12:18:48.256343299Z INFO controllers.SelfNodeRemediationConfig.syncConfigDaemonset Start to sync config daemonset 2026-02-21T12:18:48.256912058Z INFO controllers.SelfNodeRemediationConfig Updating DS tolerations 2026/02/21 12:18:48 reconciling (apps/v1, Kind=DaemonSet) openshift-workload-availability/self-node-remediation-ds 2026/02/21 12:18:48 update was successful 2026-02-21T12:18:58.051226817Z INFO selfnoderemediationtemplate-resource validate create {"name": "self-node-remediation-automatic-strategy-template"} 2026-02-22T07:38:12.116931164Z INFO controllers.SelfNodeRemediationConfig Syncing certs 2026-02-22T07:38:12.117139066Z INFO controllers.SelfNodeRemediationConfig Cert secret already exists 2026-02-22T07:38:12.117142712Z INFO controllers.SelfNodeRemediationConfig.syncConfigDaemonset Start to sync config daemonset 2026-02-22T07:38:12.117894835Z INFO controllers.SelfNodeRemediationConfig Updating DS tolerations 2026/02/22 07:38:12 reconciling (apps/v1, Kind=DaemonSet) openshift-workload-availability/self-node-remediation-ds 2026/02/22 07:38:12 update was successful 2026-02-22T14:08:22.440310169Z INFO selfnoderemediationtemplate-resource default {"name": "selfnoderemediationtemplate-sample"} 2026-02-22T14:08:22.44383857Z INFO selfnoderemediationtemplate-resource validate create {"name": "selfnoderemediationtemplate-sample"} 2026-02-22T14:10:12.343043068Z INFO selfnoderemediation-resource validate create {"name": "worker-0-2-x9knz"} 2026-02-22T14:10:12.454610135Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:12.454640633Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:12.454797388Z DEBUG events [remediation] Remediation started by SNR manager {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-x9knz","uid":"461560f5-6591-4d8d-ab17-5bc9adea4d8d","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3380703"}, "reason": "RemediationStarted"} 2026-02-22T14:10:12.561825456Z INFO selfnoderemediation-resource validate update {"name": "worker-0-2-x9knz"} 2026-02-22T14:10:12.564936368Z INFO controllers.SelfNodeRemediation finalizer added {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:12.565063337Z DEBUG events [remediation] Remediation process - successful adding finalizer {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-x9knz","uid":"461560f5-6591-4d8d-ab17-5bc9adea4d8d","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3380708"}, "reason": "AddFinalizer"} 2026-02-22T14:10:12.569498899Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:12.56951249Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:12.578027113Z INFO controllers.SelfNodeRemediation NoSchedule taint added {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "new taints": [{"key":"node.kubernetes.io/unreachable","effect":"NoSchedule","timeAdded":"2026-02-22T14:09:41Z"},{"key":"node.kubernetes.io/unreachable","effect":"NoExecute","timeAdded":"2026-02-22T14:09:42Z"},{"key":"remediation.medik8s.io/self-node-remediation","effect":"NoSchedule","timeAdded":"2026-02-22T14:10:12Z"}]} 2026-02-22T14:10:12.578197582Z DEBUG events [remediation] Remediation process - NoSchedule taint added to the unhealthy node {"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"3380711"}, "reason": "AddNoScheduleTaint"} 2026-02-22T14:10:12.578632489Z INFO rebootDurationCalculator No SafeTimeToAssumeNodeRebootedSeconds specified, using calculated minimum safe reboot time {"calculated minimum time in seconds": 120} 2026-02-22T14:10:12.57865694Z INFO controllers.SelfNodeRemediation setting SNR's time to assume node has been rebooted {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time": "2026-02-22 14:12:12.578655637 +0000 UTC m=+102546.200226637"} 2026-02-22T14:10:12.578774289Z DEBUG events [remediation] Remediation process - about to update required fencing time on snr {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-x9knz","uid":"461560f5-6591-4d8d-ab17-5bc9adea4d8d","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3380710"}, "reason": "UpdateTimeAssumedRebooted"} 2026-02-22T14:10:12.584771999Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:12.5847956Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:12.585134147Z INFO rebootDurationCalculator No SafeTimeToAssumeNodeRebootedSeconds specified, using calculated minimum safe reboot time {"calculated minimum time in seconds": 120} 2026-02-22T14:10:12.585148996Z INFO controllers.SelfNodeRemediation setting SNR's time to assume node has been rebooted {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time": "2026-02-22 14:12:12.585147902 +0000 UTC m=+102546.206718853"} 2026-02-22T14:10:12.585318556Z DEBUG events [remediation] Remediation process - about to update required fencing time on snr {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-x9knz","uid":"461560f5-6591-4d8d-ab17-5bc9adea4d8d","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3380710"}, "reason": "UpdateTimeAssumedRebooted"} 2026-02-22T14:10:12.58912377Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:12.589227648Z INFO controllers.SelfNodeRemediation Node didn't reboot yet, waiting for it to reboot {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time left": "2m0.410773208s"} 2026-02-22T14:10:13.59002054Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:10:13.590118002Z INFO controllers.SelfNodeRemediation Node didn't reboot yet, waiting for it to reboot {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time left": "1m59.409882624s"} 2026-02-22T14:11:58.354895387Z INFO selfnoderemediation-resource validate update {"name": "worker-0-2-x9knz"} 2026-02-22T14:11:58.358538925Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:11:58.358558281Z INFO controllers.SelfNodeRemediation Node didn't reboot yet, waiting for it to reboot {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time left": "14.641442669s"} 2026-02-22T14:12:04.029307734Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:12:04.029323854Z INFO controllers.SelfNodeRemediation Node didn't reboot yet, waiting for it to reboot {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time left": "8.970676751s"} 2026-02-22T14:12:13.006074853Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:12:13.006093547Z INFO controllers.SelfNodeRemediation TimeAssumedRebooted is old. The unhealthy node assumed to been rebooted {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "node name": "worker-0-2"} 2026-02-22T14:12:13.011154009Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:12:13.017993745Z INFO controllers.SelfNodeRemediation out-of-service taint added {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "new taints": [{"key":"remediation.medik8s.io/self-node-remediation","effect":"NoSchedule","timeAdded":"2026-02-22T14:10:12Z"},{"key":"node.kubernetes.io/out-of-service","value":"nodeshutdown","effect":"NoExecute","timeAdded":"2026-02-22T14:12:13Z"}]} 2026-02-22T14:12:13.018147267Z DEBUG events [remediation] Remediation process - add out-of-service taint to unhealthy node{"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"3381531"}, "reason": "AddOutOfService"} 2026-02-22T14:12:13.136283254Z INFO controllers.SelfNodeRemediation out-of-service taint removed {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "new taints": [{"key":"remediation.medik8s.io/self-node-remediation","effect":"NoSchedule","timeAdded":"2026-02-22T14:10:12Z"}]} 2026-02-22T14:12:13.136369206Z DEBUG events [remediation] Remediation process - remove out-of-service taint from node {"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"3381570"}, "reason": "RemoveOutOfService"} 2026-02-22T14:12:13.136411122Z DEBUG events [remediation] Remediation process - finished deleting unhealthy node resources{"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"3381570"}, "reason": "DeleteResources"} 2026-02-22T14:12:13.142161473Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:12:13.142181148Z INFO controllers.SelfNodeRemediation fencing completed, cleaning up {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:12:13.154616668Z INFO controllers.SelfNodeRemediation NoSchedule taint removed {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "new taints": null} 2026-02-22T14:12:13.154846238Z DEBUG events [remediation] Remediation process - remove NoSchedule taint from healthy remediated node {"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"3381575"}, "reason": "RemoveNoScheduleTaint"} 2026-02-22T14:12:13.162177792Z INFO selfnoderemediation-resource validate update {"name": "worker-0-2-x9knz"} 2026-02-22T14:12:13.167176271Z INFO controllers.SelfNodeRemediation finalizer removed {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:12:13.167338533Z DEBUG events [remediation] Remediation process - remove finalizer from snr {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-x9knz","uid":"461560f5-6591-4d8d-ab17-5bc9adea4d8d","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3381571"}, "reason": "RemoveFinalizer"} 2026-02-22T14:12:13.167407243Z DEBUG events [remediation] Remediation finished {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-x9knz","uid":"461560f5-6591-4d8d-ab17-5bc9adea4d8d","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3381571"}, "reason": "RemediationFinished"} 2026-02-22T14:12:13.169452726Z ERROR controllers.SelfNodeRemediation failed to update snr status {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "error": "selfnoderemediations.self-node-remediation.medik8s.io \"worker-0-2-x9knz\" not found"} github.com/medik8s/self-node-remediation/controllers.(*SelfNodeRemediationReconciler).updateSnrStatus /app/self-node-remediation/controllers/selfnoderemediation_controller.go:671 github.com/medik8s/self-node-remediation/controllers.(*SelfNodeRemediationReconciler).ReconcileManager.func1 /app/self-node-remediation/controllers/selfnoderemediation_controller.go:209 github.com/medik8s/self-node-remediation/controllers.(*SelfNodeRemediationReconciler).ReconcileManager /app/self-node-remediation/controllers/selfnoderemediation_controller.go:313 github.com/medik8s/self-node-remediation/controllers.(*SelfNodeRemediationReconciler).Reconcile /app/self-node-remediation/controllers/selfnoderemediation_controller.go:151 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile /app/self-node-remediation/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler /app/self-node-remediation/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:340 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem /app/self-node-remediation/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:300 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.1 /app/self-node-remediation/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:202 2026-02-22T14:12:13.169549082Z ERROR Reconciler error {"controller": "selfnoderemediation", "controllerGroup": "self-node-remediation.medik8s.io", "controllerKind": "SelfNodeRemediation", "SelfNodeRemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}, "namespace": "openshift-workload-availability", "name": "worker-0-2-x9knz", "reconcileID": "663123d2-b685-40f8-b12e-14bec809289d", "error": "selfnoderemediations.self-node-remediation.medik8s.io \"worker-0-2-x9knz\" not found", "errorCauses": [{"error": "selfnoderemediations.self-node-remediation.medik8s.io \"worker-0-2-x9knz\" not found"}]} sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler /app/self-node-remediation/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:353 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem /app/self-node-remediation/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:300 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.1 /app/self-node-remediation/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:202 2026-02-22T14:12:13.169616634Z INFO controllers.SelfNodeRemediation SNR already deleted {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:12:13.174670652Z INFO controllers.SelfNodeRemediation SNR already deleted {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-x9knz","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.346458652Z INFO selfnoderemediation-resource validate create {"name": "worker-0-2-bxclv"} 2026-02-22T14:13:23.349193448Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.349555508Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.349277096Z DEBUG events [remediation] Remediation started by SNR manager {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-bxclv","uid":"f05e445b-508f-4a96-baa1-4aeac94afec7","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3382065"}, "reason": "RemediationStarted"} 2026-02-22T14:13:23.354970089Z INFO selfnoderemediation-resource validate update {"name": "worker-0-2-bxclv"} 2026-02-22T14:13:23.357513038Z INFO controllers.SelfNodeRemediation finalizer added {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.357698794Z DEBUG events [remediation] Remediation process - successful adding finalizer {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-bxclv","uid":"f05e445b-508f-4a96-baa1-4aeac94afec7","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3382069"}, "reason": "AddFinalizer"} 2026-02-22T14:13:23.362111153Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.362190356Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.370117666Z INFO controllers.SelfNodeRemediation NoSchedule taint added {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}, "new taints": [{"key":"node.kubernetes.io/unreachable","effect":"NoSchedule","timeAdded":"2026-02-22T14:12:52Z"},{"key":"node.kubernetes.io/unreachable","effect":"NoExecute","timeAdded":"2026-02-22T14:12:52Z"},{"key":"remediation.medik8s.io/self-node-remediation","effect":"NoSchedule","timeAdded":"2026-02-22T14:13:23Z"}]} 2026-02-22T14:13:23.370257504Z INFO rebootDurationCalculator No SafeTimeToAssumeNodeRebootedSeconds specified, using calculated minimum safe reboot time {"calculated minimum time in seconds": 120} 2026-02-22T14:13:23.37026631Z INFO controllers.SelfNodeRemediation setting SNR's time to assume node has been rebooted {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time": "2026-02-22 14:15:23.370265549 +0000 UTC m=+102736.991836500"} 2026-02-22T14:13:23.370389591Z DEBUG events [remediation] Remediation process - NoSchedule taint added to the unhealthy node {"type": "Normal", "object": {"kind":"Node","name":"worker-0-2","uid":"935ced32-7e99-4d30-af6f-2e31fc7f40c5","apiVersion":"v1","resourceVersion":"3382072"}, "reason": "AddNoScheduleTaint"} 2026-02-22T14:13:23.370420602Z DEBUG events [remediation] Remediation process - about to update required fencing time on snr {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-bxclv","uid":"f05e445b-508f-4a96-baa1-4aeac94afec7","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3382071"}, "reason": "UpdateTimeAssumedRebooted"} 2026-02-22T14:13:23.376706235Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.376800089Z INFO controllers.SelfNodeRemediation pre-reboot not completed yet, prepare for rebooting {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.377148393Z INFO rebootDurationCalculator No SafeTimeToAssumeNodeRebootedSeconds specified, using calculated minimum safe reboot time {"calculated minimum time in seconds": 120} 2026-02-22T14:13:23.377206799Z INFO controllers.SelfNodeRemediation setting SNR's time to assume node has been rebooted {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time": "2026-02-22 14:15:23.377205637 +0000 UTC m=+102736.998776595"} 2026-02-22T14:13:23.377400708Z DEBUG events [remediation] Remediation process - about to update required fencing time on snr {"type": "Normal", "object": {"kind":"SelfNodeRemediation","namespace":"openshift-workload-availability","name":"worker-0-2-bxclv","uid":"f05e445b-508f-4a96-baa1-4aeac94afec7","apiVersion":"self-node-remediation.medik8s.io/v1alpha1","resourceVersion":"3382071"}, "reason": "UpdateTimeAssumedRebooted"} 2026-02-22T14:13:23.381861822Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:23.381900445Z INFO controllers.SelfNodeRemediation Node didn't reboot yet, waiting for it to reboot {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time left": "2m0.618100292s"} 2026-02-22T14:13:24.382016338Z INFO controllers.SelfNodeRemediation Remediating with OutOfServiceTaint Remediation strategy (auto-selected) {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}} 2026-02-22T14:13:24.382035144Z INFO controllers.SelfNodeRemediation Node didn't reboot yet, waiting for it to reboot {"pod": "manager", "selfnoderemediation": {"name":"worker-0-2-bxclv","namespace":"openshift-workload-availability"}, "node name": "worker-0-2", "time left": "1m59.617965912s"}