Add advance settings to fine tune DRS imbalance calculation#8521
Add advance settings to fine tune DRS imbalance calculation#8521yadvr merged 12 commits intoapache:4.19from
Conversation
|
@blueorangutan package |
|
@vishesh92 a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## 4.19 #8521 +/- ##
============================================
+ Coverage 30.80% 30.94% +0.14%
- Complexity 34043 34220 +177
============================================
Files 5346 5346
Lines 375421 375496 +75
Branches 54598 54607 +9
============================================
+ Hits 115647 116215 +568
+ Misses 244489 243993 -496
- Partials 15285 15288 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8342 |
plugins/drs/cluster/condensed/src/main/java/org/apache/cloudstack/cluster/Condensed.java
Outdated
Show resolved
Hide resolved
plugins/drs/cluster/condensed/src/main/java/org/apache/cloudstack/cluster/Condensed.java
Outdated
Show resolved
Hide resolved
|
@blueorangutan package |
|
@vishesh92 a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8349 |
|
@blueorangutan test |
|
@vishesh92 a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
api/src/main/java/org/apache/cloudstack/cluster/ClusterDrsAlgorithm.java
Outdated
Show resolved
Hide resolved
api/src/main/java/org/apache/cloudstack/cluster/ClusterDrsAlgorithm.java
Outdated
Show resolved
Hide resolved
api/src/main/java/org/apache/cloudstack/cluster/ClusterDrsAlgorithm.java
Outdated
Show resolved
Hide resolved
api/src/main/java/org/apache/cloudstack/cluster/ClusterDrsAlgorithm.java
Outdated
Show resolved
Hide resolved
plugins/drs/cluster/condensed/src/main/java/org/apache/cloudstack/cluster/Condensed.java
Show resolved
Hide resolved
|
@blueorangutan package |
|
@kiranchavala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8402 |
|
@blueorangutan package |
1 similar comment
|
@blueorangutan package |
|
@kiranchavala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
@blueorangutan package |
|
@kiranchavala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8429 |
|
@blueorangutan package |
|
@vishesh92 a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8558 |
|
@blueorangutan package |
|
@vishesh92 a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8567 |
|
@blueorangutan package |
|
@kiranchavala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8569 |
|
@kiranchavala a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress. |
|
UI build: ✔️ |
|
@blueorangutan package |
|
@kiranchavala a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 8584 |
|
@blueorangutan test |
|
@kiranchavala a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-9128)
|
kiranchavala
left a comment
There was a problem hiding this comment.
Tested the new Advanced DRS related settings manually and also the UI improvements
drs.metric.type
drs.metric.use.ratio
drs.imbalance.condensed.skip.threshold
Scenarios
Drs.imbalance= 0.9 and drs.alogirithm=condensed >> The vms got migrated on a single host
Drs.imbalance= 0.4 and drs.alogirthm=balanced >> The vms got distributed across the hosts
Screenshots
Logs
Condensed
2024-02-08 05:35:54,311 DEBUG [o.a.c.c.Balanced] (qtp1491755116-22:ctx-ecfb388b ctx-9739cec5) (logid:8253e2f5) Cluster 2 needs DRS. Imbalance: 0.7158188976374373 Threshold: 0.5 Algorithm: balanced DRS metric: memory Metric Type: used Use ratio: false
2024-02-08 05:35:54,405 DEBUG [o.a.c.c.Balanced] (qtp1491755116-22:ctx-ecfb388b ctx-9739cec5) (logid:8253e2f5) Cluster 2 pre-imbalance: 0.7158188976374373 post-imbalance: 0.7820295697311479 Algorithm: balanced VM: f659a6f7-2915-4a18-9217-11cf8a03dce1 srcHost: 4 destHost: a16c16d2-a2bb-4dbf-93fb-838568f3a2fd
2024-02-08 05:35:54,413 DEBUG [o.a.c.c.Balanced] (qtp1491755116-22:ctx-ecfb388b ctx-9739cec5) (logid:8253e2f5) Cluster 2 pre-imbalance: 0.7158188976374373 post-imbalance: 0.34015067152490375 Algorithm: balanced VM: f659a6f7-2915-4a18-9217-11cf8a03dce1 srcHost: 4 destHost: b1f62d2b-fee5-4fab-b3c1-40ab3ad68a45
2024-02-08 05:35:54,413 DEBUG [o.a.c.c.ClusterDrsServiceImpl] (qtp1491755116-22:ctx-ecfb388b ctx-9739cec5) (logid:8253e2f5) Plan for VM e1096698-c0f3-4c75-8c9a-fc3526c938dd to migrate from host 722009bc-e65f-465c-a55f-1e26b70b93ae to host b1f62d2b-fee5-4fab-b3c1-40ab3ad68a45
2024-02-08 05:35:54,417 DEBUG [o.a.c.c.Balanced] (qtp1491755116-22:ctx-ecfb388b ctx-9739cec5) (logid:8253e2f5) Cluster 2 does not need DRS. Imbalance: 0.34015067152490375 Threshold: 0.5 Algorithm: balanced DRS metric: memory Metric Type: used Use ratio: false
Balanced
2024-02-08 05:49:16,865 DEBUG [o.a.c.c.Condensed] (qtp1491755116-22:ctx-dbbaeaf5 ctx-975fb795) (logid:d6ccccf6) Cluster 2 needs DRS. Imbalance: 0.34015067152490375 Threshold: 0.8999999761581421 Algorithm: condensed DRS metric: memory Metric Type: used Use ratio: false SkipThreshold: 0.95
2024-02-08 05:49:17,055 DEBUG [o.a.c.c.Condensed] (qtp1491755116-22:ctx-dbbaeaf5 ctx-975fb795) (logid:d6ccccf6) Cluster 2 pre-imbalance: 0.7820295697311479 post-imbalance: 1.0523488093445659 Algorithm: condensed VM: f659a6f7-2915-4a18-9217-11cf8a03dce1 srcHost: 4 destHost: a16c16d2-a2bb-4dbf-93fb-838568f3a2fd
2024-02-08 05:49:17,060 DEBUG [o.a.c.c.Condensed] (qtp1491755116-22:ctx-dbbaeaf5 ctx-975fb795) (logid:d6ccccf6) Cluster 2 pre-imbalance: 0.7820295697311479 post-imbalance: 0.6428243465332251 Algorithm: condensed VM: f659a6f7-2915-4a18-9217-11cf8a03dce1 srcHost: 4 destHost: b1f62d2b-fee5-4fab-b3c1-40ab3ad68a45
2024-02-08 05:49:16,965 DEBUG [o.a.c.c.ClusterDrsServiceImpl] (qtp1491755116-22:ctx-dbbaeaf5 ctx-975fb795) (logid:d6ccccf6) Plan for VM e1096698-c0f3-4c75-8c9a-fc3526c938dd to migrate from host b1f62d2b-fee5-4fab-b3c1-40ab3ad68a45 to host a16c16d2-a2bb-4dbf-93fb-838568f3a2fd
2024-02-08 05:49:17,060 DEBUG [o.a.c.c.ClusterDrsServiceImpl] (qtp1491755116-22:ctx-dbbaeaf5 ctx-975fb795) (logid:d6ccccf6) Plan for VM 0381cd82-f9dd-417d-836f-99dd300720e7 to migrate from host 722009bc-e65f-465c-a55f-1e26b70b93ae to host a16c16d2-a2bb-4dbf-93fb-838568f3a2fd
2024-02-08 05:49:17,064 DEBUG [o.a.c.c.Condensed] (qtp1491755116-22:ctx-dbbaeaf5 ctx-975fb795) (logid:d6ccccf6) Cluster 2 does not need DRS. Imbalance: 1.0523488093445659 Threshold: 0.8999999761581421 Algorithm: condensed DRS metric: memory Metric Type: used Use ratio: false SkipThreshold: 0.95
|
LGTM, thanks for the fixes and testing @vishesh92 @kiranchavala |
) * Use free/total instead of free metric to calculate imbalance * Filter out hosts for condensed while checking imbalance * Make DRS more configurable * code refactor * Add unit tests * fixup * Fix validation for drs.imbalance.condensed.skip.threshold * Add logging and other minor changes for drs * Add some logging for drs * Change format for drs imbalance to string * Show drs imbalance as percentage * Fixup label for memorytotal in en.json



Description
Doc PR: apache/cloudstack-documentation#374
This PR addresses two issues:
drs.metric.use.ratio.drs.imbalance.condensed.skip.thresholdifdrs.metric.typeisfreeand greater thandrs.imbalance.condensed.skip.thresholdifdrs.metric.typeisusedto remove the skew and check if we need drs or not.Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
How did you try to break this feature and the system with this change?