-
Notifications
You must be signed in to change notification settings - Fork 993
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
support preemption when the number of attachment volumes of a node reaches the upper limit #3211
Conversation
844cacd
to
016071d
Compare
Please associate with the corresponding issue and complete the description. |
@Lily922 Please rebase and solve the confliction :) |
pvcName = ephemeral.VolumeClaimName(pod, &vol) | ||
isEphemeral = true | ||
default: | ||
// TODO: support Inline volumes. |
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 mark the submitter information in todo. Such as: "@Lily922 TODO: support Inline volumes."
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.
Done
|
||
csiSource := pv.Spec.PersistentVolumeSource.CSI | ||
if csiSource == nil { | ||
// TODO: support non-CSI volumes and migrating pvc |
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.
Same as above.
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.
Done
…aches the upper limit Signed-off-by: lili <lili_9309@163.com>
fa16e63
to
182acee
Compare
Signed-off-by: lili <lili_9309@163.com>
/lgtm |
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
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: william-wang 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 |
predicateStatus = append(predicateStatus, nodeVolumeStatus) | ||
return predicateStatus, fmt.Errorf("plugin %s predicates failed %s", nodeVolumeLimitsCSIFilter.Name(), status.Message()) | ||
} | ||
predicateStatus = append(predicateStatus, nodeVolumeStatus) |
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.
Why don't retrun if failed here? see issue #3050
support feature described in #3191
Design:
Add a workqueue for node resource :
nodeQueue workqueue.RateLimitingInterface
, addnodeName
to the queue when handling aCSINode
resource orNode
resource change event.The reasons for this are as follows:
By using workqueue, we can ignore the change events is from Node or CSINode
workqueue
, we can useAddRateLimited
to add the resources that failed to be processed to workqueue and wait for retry processingDon't check whether the CSI volume type has a quantity limit while
NewTaskInfo
orSetNode
, Add all csi volumes on CSINode to cache, because the storage may change from unattachable volumes to attachable volumes after the cache set up, in this case it is very difficult to refresh all task caches, like case: