Skip to content
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

Merged

Conversation

kannon92
Copy link
Contributor

  • One-line PR description: Promote 1967 to stable.
  • Other comments:

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Aug 28, 2024
@k8s-ci-robot k8s-ci-robot added kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/node Categorizes an issue or PR as relevant to SIG Node. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Aug 28, 2024
@kannon92 kannon92 force-pushed the promote-size-backed-volumes-stable branch from 3d10e3f to 0a1da02 Compare September 18, 2024 15:32
@kannon92
Copy link
Contributor Author

/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
Copy link
Contributor

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' ?

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor

@mrunalp mrunalp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 19, 2024
@pacoxu
Copy link
Member

pacoxu commented Sep 23, 2024

@kannon92
Copy link
Contributor Author

kannon92 commented Sep 24, 2024

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

@pacoxu
Copy link
Member

pacoxu commented Sep 30, 2024

Thanks for the detailed explanation.
/lgtm

/assign @johnbelamaric
for PRR review

@kannon92 kannon92 force-pushed the promote-size-backed-volumes-stable branch from 0a1da02 to 32203b7 Compare October 3, 2024 13:15
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Oct 3, 2024
@kannon92 kannon92 force-pushed the promote-size-backed-volumes-stable branch 2 times, most recently from 1d88f57 to db42c77 Compare October 4, 2024 14:57
@kannon92
Copy link
Contributor Author

kannon92 commented Oct 4, 2024

/unassign @johnbelamaric
/assign @soltysh

@k8s-ci-robot k8s-ci-robot assigned soltysh and unassigned johnbelamaric Oct 4, 2024
Copy link
Member

@BenTheElder BenTheElder left a 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.

@kannon92 kannon92 force-pushed the promote-size-backed-volumes-stable branch from d1e8126 to 27d50a4 Compare October 8, 2024 14:22
Copy link
Contributor

@soltysh soltysh left a 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).

Copy link
Contributor

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).

Copy link
Contributor Author

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

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.
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor Author

@kannon92 kannon92 Oct 9, 2024

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?

Copy link
Contributor

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.

Copy link
Contributor Author

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

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
Copy link
Contributor

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.

@kannon92 kannon92 force-pushed the promote-size-backed-volumes-stable branch from b76477f to db021e7 Compare October 9, 2024 14:58
Copy link
Contributor

@soltysh soltysh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
the PRR

@k8s-ci-robot
Copy link
Contributor

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 9, 2024
@kannon92
Copy link
Contributor Author

kannon92 commented Oct 9, 2024

We have approval from sig-node and PRR. Can I get a lgtm to merge this?

@mrunalp
Copy link
Contributor

mrunalp commented Oct 9, 2024

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 9, 2024
@k8s-ci-robot k8s-ci-robot merged commit df1832c into kubernetes:master Oct 9, 2024
4 checks passed
@k8s-ci-robot k8s-ci-robot added this to the v1.32 milestone Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/node Categorizes an issue or PR as relevant to SIG Node. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Development

Successfully merging this pull request may close these issues.

9 participants