-
Notifications
You must be signed in to change notification settings - Fork 767
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
Adaptive schedule strategy for UnitedDeployment #1720
Adaptive schedule strategy for UnitedDeployment #1720
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
ea7f490
to
e9fd8d4
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1720 +/- ##
==========================================
+ Coverage 47.91% 49.53% +1.61%
==========================================
Files 162 192 +30
Lines 23491 19704 -3787
==========================================
- Hits 11256 9760 -1496
+ Misses 11014 8686 -2328
- Partials 1221 1258 +37
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
e58f279
to
1cc7c87
Compare
75b4117
to
c462401
Compare
c462401
to
68e8262
Compare
48f50fd
to
9cb391b
Compare
cba277a
to
a50e39e
Compare
b37c453
to
300e67c
Compare
pkg/controller/uniteddeployment/adapter/advanced_statefulset_adapter.go
Outdated
Show resolved
Hide resolved
fb5c448
to
378185c
Compare
@@ -132,6 +144,11 @@ func (r *ReconcileUnitedDeployment) manageSubsetProvision(ud *appsv1alpha1.Unite | |||
return nil | |||
}) | |||
if createdErr == nil { | |||
// When a new subset is created, regardless of whether it contains newly created Pods, |
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.
is it really necessary to trigger the requeue here given that manageUnschedulableStatusForExistingSubset had already push some duration time.
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.
manageUnscheddulableStatusForExistingSubset pushes some duration time only for existing subsets, new subsets is not processed
… adapter Signed-off-by: AiRanthem <[email protected]>
f9f8a70
to
a998a2b
Compare
Ⅰ. Describe what this PR does
Added an adaptive scheduling strategy to UnitedDeployment. During scaling up, if a subset causes some Pods to be unschedulable for certain reasons, the unschedulable Pods will be rescheduled to other partitions. During scaling down, if elastic allocation is used (i.e., the subset is configured with min/max), each partition will retain the ready Pods as much as possible without exceeding the maximum capacity, rather than strictly scaling down in reverse order of the Subset list.
Ⅱ. Does this pull request fix one issue?
fixes #1673
Ⅲ. Describe how to verify it
Use the yaml below to create a UD with subset-b unschedulable.
subset-c -> subset-b -> subset-a
Ⅳ. Special notes for reviews