-
Notifications
You must be signed in to change notification settings - Fork 39.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
Deprecate cloudprovider specific volume limit predicates #74544
Deprecate cloudprovider specific volume limit predicates #74544
Conversation
@@ -79,12 +79,20 @@ const ( | |||
// CheckServiceAffinityPred defines the name of predicate checkServiceAffinity. | |||
CheckServiceAffinityPred = "CheckServiceAffinity" | |||
// MaxEBSVolumeCountPred defines the name of predicate MaxEBSVolumeCount. | |||
// DEPRECATED |
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.
Where is the in-tree translation layer to CSI going to live? Directly in the CSI predicate? cc @davidz627
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 thinking translation layer is going to live in attach_limit.go util file which is shared between volume plugins and scheduler. But as we discussed I am working on a proposal for using CSINodeInfo
for storing attach limits and this detail will be more flexed out in that KEP - kubernetes/enhancements#730
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.
nit: I think adding a comment mentioning enhancements KEP PR within code as a comment might be helpful?
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.
When will it be truly deprecated? I mean that there is still relevant code in effect.
Is the replacement already available? |
@misterikkit Since we are in process of migrating in-tree volume plugins to CSI, there is already a CSI predicate available which handles all volume plugins and hence when using CSI volumes - the cloudprovider specific predicates are not required. We will be able to truly remove these predicates once CSI migration goes GA but we will have a translation layer as well, which would take care of handling in-tree volume plugins even if you are not using CSI. |
/kind feature |
/test pull-kubernetes-integration |
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
@bsalamat - Do you have any other suggestions? If not, can you add milestone PR?
/retest |
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
MaxEBSVolumeCountPred = "MaxEBSVolumeCount" | ||
// MaxGCEPDVolumeCountPred defines the name of predicate MaxGCEPDVolumeCount. | ||
// DEPRECATED |
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.
Any timeline set to move these out of the scheduler ?
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.
Thank you, @gnufied! I am glad that to see progress here. I have a minor comment.
@@ -79,12 +79,20 @@ const ( | |||
// CheckServiceAffinityPred defines the name of predicate checkServiceAffinity. | |||
CheckServiceAffinityPred = "CheckServiceAffinity" | |||
// MaxEBSVolumeCountPred defines the name of predicate MaxEBSVolumeCount. | |||
// DEPRECATED |
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.
Please point out what the replacement is in the comment. Without a clear replacement, deprecating an existing feature causes confusion.
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.
But it is mentioned right there!
// DEPRECATED
// All cloudprovider specific predicates are deprecated in favour of MaxCSIVolumeCountPred.
MaxCSIVolumeCountPred
will support all these in-tree volume types via migration path we discussed. I am working on updating the Volume limit KEP as per what we discussed - kubernetes/enhancements#730 .
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.
MaxCSIVolumeCountPred
will support these in-tree volume types even if you are not using CSI.
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
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bsalamat, gnufied 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 |
Fixes #72920
/sig storage
/sig scheduling
cc @bsalamat @ravisantoshgudimetla @msau42