-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KEP-1967: promote size memory backed volumes to stable #4812
KEP-1967: promote size memory backed volumes to stable #4812
Conversation
kannon92
commented
Aug 28, 2024
- One-line PR description: Promote 1967 to stable.
- Issue link: Support to size memory backed volumes #1967
- Other comments:
3d10e3f
to
0a1da02
Compare
/assign @mrunalp |
@@ -2,6 +2,7 @@ title: Size memory backed volumes | |||
kep-number: 1967 | |||
authors: | |||
- "@derekwaynecarr" | |||
- "@kannon92" #for stable promotion | |||
owning-sig: sig-node | |||
participating-sigs: | |||
- sig-storage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also change status (line 8 9) to 'implemented' ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not yet. I think after the GA PR goes in in k8s/k8s.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, it's usually done after it was finished.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Are there any ongoing issues related?
|
Looking at these, I don't see anything blocking GA for this feature. There was one item that was concerning in that list but the author did post a website update for this feature which I think was the right call. This is a feature for NodeSwap with EmptyDir which we are forbiding in 1.31. So this would need to be a new KEP if the community thinks this is useful. This one seems to go the route of documentation. EmptyDir with Memory follows cgroup settings for memory so it is recommended to use cgroups with this feature for memory. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#memory-backed-emptydir documents this here. Separate feature request. Not in scope for this feature. This seems to be a security feature request but any progress on this would break existing users |
Thanks for the detailed explanation. /assign @johnbelamaric |
0a1da02
to
32203b7
Compare
1d88f57
to
db42c77
Compare
/unassign @johnbelamaric |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[PRR Shadow] there seem to be some formatting errors from updating the KEP template, nothing major jumped out.
d1e8126
to
27d50a4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments, the biggest one around missing testing coverage listed in the doc, because it seems the functionality has the required tests.
We have eviction tests that make sure size backed volumes cannot exceed the size limit. | ||
|
||
See [eviction test](https://github.com/kubernetes/kubernetes/blob/b2031b3cb46e946ee72eab7bda87b046db138d62/test/e2e_node/eviction_test.go#L366). | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The entire test section is missing/not aligned with latest template. Given this is planned to go to stable it would be good to ensure we have the sufficient coverage in units and integration/e2e (or both).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
Pods that run on that node will have memory backed volumes sized based on Linux | ||
host default. The sizing may not align with actual available memory for an app. | ||
|
||
* **Are there any tests for feature enablement/disablement?** | ||
#### Are there any tests for feature enablement/disablement? | ||
|
||
No, testing behavior with the feature disabled is dependent on node operating |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like tests exist verifying just that, see https://github.com/kubernetes/kubernetes/blob/f7fef0384ec1c666e6b68cae83a3b3c6d95aa7b0/pkg/volume/emptydir/empty_dir_test.go#L1046-L1063
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated.
None. | ||
|
||
* **Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?** | ||
#### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested? | ||
|
||
I do not believe this is applicable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Manual testing is sufficient for this functionality with a cluster which has the feature turned on and then turning it off (or downgrade). I'd hope such tests were performed to ensure the correctness of this functionality, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure if they were performed. This was the answer for the PRR questions around 1.22.
I don't know if the upgrade/rollback is really that relevant given that this has been on since 1.22.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are examples across different KEPs, using kind:
https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/1669-proxy-terminating-endpoints#were-upgrade-and-rollback-tested-was-the-upgrade-downgrade-upgrade-path-tested
Where you can disable a feature, and thus achieving a "fake" rollback to test it w/o going this far back. It shouldn't take more than an hour, and would definitely be good to go through to ensure it's good enough for GA.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For kubelet, the best I can do is to create kind clusters with feature gates on and feature gates off. I don't think I can toggle a feature gate on an existing cluster for kubelet. Kind doesn't run kubelet as a pod so I can't really edit the feature gate in place.
Is that sufficent?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it's definitely better than nothing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pushed an update.
* **What are the SLIs (Service Level Indicators) an operator can use to determine | ||
the health of the service?** | ||
#### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service? | ||
|
||
This does not seem relevant to this feature. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about the general pod startup latencies https://github.com/kubernetes/community/blob/master/sig-scalability/slos/pod_startup_latency.md ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated.
@@ -2,6 +2,7 @@ title: Size memory backed volumes | |||
kep-number: 1967 | |||
authors: | |||
- "@derekwaynecarr" | |||
- "@kannon92" #for stable promotion | |||
owning-sig: sig-node | |||
participating-sigs: | |||
- sig-storage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, it's usually done after it was finished.
b76477f
to
db021e7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
the PRR
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kannon92, mrunalp, soltysh The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
We have approval from sig-node and PRR. Can I get a lgtm to merge this? |
/lgtm |