You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-node/4960-container-stop-signals/README.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -228,6 +228,12 @@ The signal that we get from `ContainerConfig` can be validated with [ParseSignal
228
228
229
229
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).
230
230
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
+
231
237
### User Stories (Optional)
232
238
233
239
#### Story 1
@@ -272,6 +278,8 @@ Alpha:
272
278
- Test that the validation returns the appropriate error message when an invalid string value is given for the stop signal
273
279
- Tests for verifying behavior when feature gate is disabled after being used to create Pods where the stop signal field is used
274
280
- 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
275
283
276
284
##### e2e tests
277
285
@@ -283,6 +291,7 @@ Alpha:
283
291
- When no stop signal is defined (Stop signal in Status should be SIGTERM)
284
292
- 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
285
293
- 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
286
295
287
296
### Graduation Criteria
288
297
@@ -291,12 +300,13 @@ Alpha:
291
300
- Feature implemented behind a feature flag
292
301
- CRI API implementation completed in containerd marked as experimental
293
302
- CRI API implementation completed for CRI-O
303
+
- Best effort support for Windows for SIGTERM and SIGKILL signals
294
304
- Initial e2e tests completed and enabled, testing the feature against containerd
295
305
- Unit tests for validation, e2e tests for version skew
0 commit comments