Skip to content

Commit

Permalink
Merge pull request #2294 from SergeyKanzhelev/execProbetimeOutSmallUp…
Browse files Browse the repository at this point in the history
…dates

Updated graduation criteria for ExecProbeTimeout removal
  • Loading branch information
k8s-ci-robot authored Jan 26, 2021
2 parents 8433cac + b77357a commit a9072eb
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions keps/sig-node/1972-kubelet-exec-probe-timeouts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Items marked with (R) are required *prior to targeting to a milestone / release*

Kubelet today does not respect exec probe timeouts. This is considered a bug we should fix since
the timeout value is supported in the Container Probe API. Because exec probe timeouts
were never respected by kubelet, a new feature gate `ExecProbeTimeouts` will be introduced.
were never respected by kubelet, a new feature gate `ExecProbeTimeout` will be introduced.
With this feature, nodes can be configured to preserve the current behavior while the proper
timeouts are enabled for exec probes.

Expand All @@ -69,8 +69,8 @@ Kubelet not respecting the probe timeout is a bug and should be fixed.

Changes to kubelet:
* Ensure kubelet handles timeout errors and registers them as failing probes.
* Add feature gate `ExecProbeTimeouts` that is GA and on by default.
* If the feature gate `ExecProbeTimeouts` is disabled and an exec probe timeout is reached, add warning logs to inform users that exec probes are timing out.
* Add feature gate `ExecProbeTimeout` that is GA and on by default.
* If the feature gate `ExecProbeTimeout` is disabled and an exec probe timeout is reached, add warning logs to inform users that exec probes are timing out.
* Re-enable existing exec liveness probe e2e test.
* Add new exec readiness probe e2e test.

Expand All @@ -79,11 +79,19 @@ Changes to kubelet:
E2E tests:
* re-enable [existing exec liveness probe e2e test](https://github.com/kubernetes/kubernetes/blob/ea1458550077bdf3b26ac34551a3591d280fe1f5/test/e2e/common/container_probe.go#L210-L227) that is currently being skipped
* add new exec readiness probe e2e test.
* exec probe tests are promotes to Conformance ([#97619](https://github.com/kubernetes/kubernetes/pull/97619)).

### Graduation Criteria

This is a bug fix so the feature gate will be GA and on by default from the start.

The feature flag should be kept available till we get a sufficient evidence of people not being
affected by this bug fix - either directly (adjusting the timeouts in pod definition), or
indirectly, when the timeout is not specified in some third party templates and products
that cannot be easily fixed by end user.

Tentative timeline is to lock the feature flag to `true` in 1.22.

### Upgrade / Downgrade Strategy

N/A
Expand All @@ -95,6 +103,9 @@ N/A
## Implementation History

* 2020-09-08 - the KEP was merged as implementable for v1.20
* 2020-12-08 - Timeout is respected in [Kubernetes 1.20: The Raddest Release](https://kubernetes.io/blog/2020/12/08/kubernetes-1-20-release-announcement/),
and can be disabled with the feature flag


## Drawbacks

Expand All @@ -104,6 +115,6 @@ the timeout now may result in unexpected behavior for some workloads.
## Alternatives

Some alternatives that were considered:

1. Increasing the default timeout for exec probes
2. Continuing to ignore the exec probe timeout

0 comments on commit a9072eb

Please sign in to comment.