Hi,
As part of the KEP-4330: Compatibility Versions in Kubernetes k8s is now changing the way we graduate KEPs. Can you please share updated instructions on what is the expected way to graduate KEPs?
In SIG Node we like to graduate KEPs early in the code development process to make sure to give enough reviewers cycles to new KEPs development. If there is no instruction yet, when is it planned to be created?
Specific questions raised during the discussion of this in SIG Node:
What is the plan to support e2e_node tests running in version emulation mode? Not all SIG Node features can be tested with the e2e/node tests.
Can you give an example on how to convert tests that were previously testing the feature gate disablement behavior? Our understanding is that since the feature gate is locked, those tests need to somehow be converted into emulation mode tests. So best practices and some test framework helper methods would be greatly appreciated.
If you have a good example of KEP being GA-d under the new process, please share. If not, we can collaborate on one of the SIG Node KEPs. For example these two:
https://github.com/kubernetes/kubernetes/pull/126981#discussion_r1799779745
https://github.com/kubernetes/kubernetes/pull/128046#discussion_r1799759192
Are there any changes needed from the SIG Node side to enforce the proper version skew better? We envision way more confusion with this. As a minimum it must be very well explained in docs so we can link anybody to that explanation.
One question we discussed during the SIG Node meeting today is whether to keep the “dead code” around in kubelet. Since kubelet has no plans to support emulated versions, we can potentially delete the code from it on feature GA. However to simplify reviews we will likely just keep the code in place. This creates liability of “dead untested code” being present as well as a risk 3 versions down the road to break the feature that was GA-ed. But the risk is similar to what we have with other components. Once you have general instruction up, we will update it specifically for the kubelet development.
Again, lack of clear documentation now is stalling a couple of PRs and we would appreciate clear instructions that can be widely shared.
Sergey and SIG Node leads