Skip to content

Commit fd206a0

Browse files
committed
Add comments for restart rules not used for unknown container status and probes
1 parent 4b479da commit fd206a0

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

pkg/kubelet/kuberuntime/kuberuntime_container.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,6 +1222,9 @@ func (m *kubeGenericRuntimeManager) computeInitContainerActions(ctx context.Cont
12221222

12231223
restartOnFailure := restartOnFailure
12241224
if utilfeature.DefaultFeatureGate.Enabled(features.ContainerRestartRules) {
1225+
// Only container-level restart policy is used. The container-level restart
1226+
// rules are not evaluated because the container might not have exited, so
1227+
// there is no exit code on which the rules can be used.
12251228
if container.RestartPolicy != nil {
12261229
restartOnFailure = *container.RestartPolicy != v1.ContainerRestartPolicyNever
12271230
}

pkg/kubelet/kuberuntime/kuberuntime_manager.go

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -589,16 +589,6 @@ func containerChanged(container *v1.Container, containerStatus *kubecontainer.St
589589
}
590590

591591
func shouldRestartOnFailure(pod *v1.Pod) bool {
592-
// With feature ContainerRestartRules enabled, the pod should be restarted
593-
// on failure if any of its containers have container-level restart policy
594-
// that is restartable.
595-
if utilfeature.DefaultFeatureGate.Enabled(features.ContainerRestartRules) {
596-
for _, c := range pod.Spec.Containers {
597-
if podutil.IsContainerRestartable(pod.Spec, c) {
598-
return true
599-
}
600-
}
601-
}
602592
return pod.Spec.RestartPolicy != v1.RestartPolicyNever
603593
}
604594

@@ -1147,6 +1137,8 @@ func (m *kubeGenericRuntimeManager) computePodActions(ctx context.Context, pod *
11471137
var reason containerKillReason
11481138
restart := shouldRestartOnFailure(pod)
11491139
if utilfeature.DefaultFeatureGate.Enabled(features.ContainerRestartRules) {
1140+
// For probe failures, use container-level restart policy only. Container-level restart
1141+
// rules are not evaluated because the container is still running.
11501142
if container.RestartPolicy != nil {
11511143
restart = *container.RestartPolicy != v1.ContainerRestartPolicyNever
11521144
}

0 commit comments

Comments
 (0)