Skip to content

Commit 9101efb

Browse files
Added section on windows support
1 parent c04e3e0 commit 9101efb

File tree

1 file changed

+11
-1
lines changed
  • keps/sig-node/4960-container-stop-signals

1 file changed

+11
-1
lines changed

keps/sig-node/4960-container-stop-signals/README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,12 @@ The signal that we get from `ContainerConfig` can be validated with [ParseSignal
228228

229229
Find the entire diff for containerd which was done for the POC [here](https://github.com/containerd/containerd/compare/main...sreeram-venkitesh:containerd:added-custom-stop-signal?expand=1).
230230

231+
### Windows support
232+
233+
After discussing with SIG Windows, we came to the decision that for Windows Pods we'll only support SIGTERM and SIGKILL as the valid stop signals. The behaviour of how kubelet handles stop signals is not different for Linux and Windows environments and the CRI API works in both cases.
234+
235+
We will have additional validation for Windows Pods to restrict the set of valid stop signals to SIGTERM and SIGKILL. There will be an admission check that validates that the stop signal is only set to either SIGTERM or SIGKILL if spec.Os.Name == windows.
236+
231237
### User Stories (Optional)
232238

233239
#### Story 1
@@ -272,6 +278,8 @@ Alpha:
272278
- Test that the validation returns the appropriate error message when an invalid string value is given for the stop signal
273279
- Tests for verifying behavior when feature gate is disabled after being used to create Pods where the stop signal field is used
274280
- Tests for verifying behavior when feature gate is reenabled after being disabled after creating Pods with stop signal
281+
- Test that the validation allows SIGTERM and SIGKILL signals for Windows Pods
282+
- Test that the validation doesn't allow non valid signals for Windows Pods
275283

276284
##### e2e tests
277285

@@ -283,6 +291,7 @@ Alpha:
283291
- When no stop signal is defined (Stop signal in Status should be SIGTERM)
284292
- Test that the stop signal is gracefully degraded when stop signal is specified but the container runtime is on a version that doesn't support the implementation
285293
- Test that the feature is gracefully degraded when stop signal is not supported in Kubelet but is supported in the container runtime
294+
- Test that Windows Pods can be created with the correct stop signals and that the containers are killed with the respective signals
286295

287296
### Graduation Criteria
288297

@@ -291,12 +300,13 @@ Alpha:
291300
- Feature implemented behind a feature flag
292301
- CRI API implementation completed in containerd marked as experimental
293302
- CRI API implementation completed for CRI-O
303+
- Best effort support for Windows for SIGTERM and SIGKILL signals
294304
- Initial e2e tests completed and enabled, testing the feature against containerd
295305
- Unit tests for validation, e2e tests for version skew
296306

297307
#### Beta
298308

299-
- Add support for Windows
309+
- Further test Windows support and add e2e tests
300310
- Gather feedback from developers and surveys
301311
- e2e tests for CRI-O
302312

0 commit comments

Comments
 (0)