Subject: [v1.38] Enhancements Freeze exception request: KEP-6249 Publish Graceful Node Shutdown state for DaemonSet coordination
Hello Release Team,
Filing this in advance of the v1.38 Enhancements Freeze (12:00 UTC, Wednesday 30 September). The KEP is expected to miss it by a small margin. Ryan Hallisey (@rthallisey, WG Node Lifecycle lead) is sponsoring this request for SIG Node.
- Enhancement name: Publish Graceful Node Shutdown state for DaemonSet coordination
- Enhancement status (alpha/beta/stable): alpha
- SIG: sig-node (participating: sig-apps)
- k/enhancements repo issue #:
https://github.com/kubernetes/enhancements/issues/6249- PR #'s:
https://github.com/kubernetes/enhancements/pull/6351- Additional time needed (in calendar days, due end of day AoE): 2 days, until end of day Friday 2 October 2026 AoE
- Reason this enhancement is critical for this milestone:
The KEP stops the create/reject/delete churn between the DaemonSet controller and the kubelet during Graceful Node Shutdown (kubernetes/kubernetes#122912, #137895). Reviewers from SIG Node, SIG Apps, PRR, the API reviewer, and the WG lead all engaged this week and the design converged on 29 September to the smallest shape asked for by SIG Node. The remaining work is one review pass: SIG Node approval and PRR approval on a KEP whose content is settled. The WG lead has lgtm'd. Missing the freeze by a day would push a settled alpha to v1.39.
- Risks from adding code late (to k8s stability, testing, etc.):
None to code. This request is for the KEP document only. The feature is alpha behind a new default-off gate, DaemonSetGracefulNodeShutdown, that depends on NodeLifecycleConditions. Code freeze is 18 November, seven weeks away.
- Risks from cutting enhancement (partial implementation, critical customer usecase, etc.):
No partial implementation; nothing has merged in k/k. The cost of cutting is another release cycle of the churn reported in the issues above, and of the DaemonSet-controller item of KEP-5683's alpha-2 milestone staying open.
Thanks,
Daniel Bruno (@danbruno101)