-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Extend ClusterSnapshot implementations to include StorageInfos lister #4904
Comments
/help |
@x13n: GuidelinesPlease ensure that the issue body includes answers to the following questions:
For more details on the requirements of such an issue, please see here and ensure that they are met. If this request no longer meets these requirements, the label can be removed In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign |
@x13n there hasn't been a k/k release > v1.25.0-alpha.0 with kubernetes/kubernetes#109715. Besides implementing
Also, I have some questions about the right strategy in the delta snapshot. I don't really see how a PVC cache would be helpful due to the cache invalidation calls in pod add/remove. If the Also, maybe we should consider changing all the caches to maps, which would allow for updating in place and removing invalidation. It would make them more effective and maybe reduce the caching complexity in this file. We can chat on slack at some point this week if that's faster? |
Thanks for working on this!
I think everything can be implemented beforehand, including
Good point about cache invalidation. Since the caches are only used for listing, maintaining them during add/remove makes sense for
Yup, we can, just note I'm in CEST timezone. |
So we chatted about this with @ahaysx on Slack. He won't be able to follow-up on this, but some conclusions were:
|
/unassign @ahaysx |
/assign @jayantjain93 |
I've started looking into this. |
Which component are you using?:
cluster autoscaler
Is your feature request designed to solve a problem? If so describe the problem this feature should solve.:
Recent scheduler framework changes will cause Cluster Autoscaler code to stop compiling once we update the dependency on scheduler.
Describe the solution you'd like.:
There are 3 objects implementing
SharedFramework
interface:Both BasicClusterSnapshot and DeltaClusterSnapshot can maintain a mapping from namespaced PVC names to sets of namespaced pod names.
IsPVCUsedByPods
can then just check if size of the set is non-0. This will have O(1) complexity on adding/removing pods. In delta snapshot case it also needs to track deleted pods similarly to how node infos are tracked today, to avoid O(n) computation when forking.Describe any alternative solutions you've considered.:
Doing no-op implementation - would be simpler, but would incorrectly handle
ReadWriteOncePod
PVCs, leading to scale ups that wouldn't be able to help some pending pods.Additional context.:
Scheduler PR changing SharedLister interface: kubernetes/kubernetes#109715
The text was updated successfully, but these errors were encountered: