Roy Golan has submitted this change and it was merged.
Change subject: scheduling: Add selector step to the scheduler
......................................................................
scheduling: Add selector step to the scheduler
The new selector step (and relevant policy units) enhances the
flexibility of our scheduling process.
We used to have just two steps:
- filter out all non-compliant hosts
- compute weight for all remaining hosts
And then a hardcoded routine selected the "best" host
according to the accumulated weights.
The selector replaces this hardcoded logic with a pluggable
policy unit of type SELECTOR. Two example units are provided.
- BasicWeightSelector - copies the old logic
and
- RankSelector - uses rank instead of the raw weights
Change-Id: If63b90c3f5e02d9ccdc77dd920233e3013e933e0
Signed-off-by: Martin Sivák <msivak(a)redhat.com>
---
M
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/InternalClusterPolicies.java
M
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/InternalPolicyUnits.java
M
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/PolicyUnitImpl.java
M
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/policyunits/BasicWeightSelectorPolicyUnit.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/policyunits/RankSelectorPolicyUnit.java
A
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/selector/SelectorInstance.java
A
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/scheduling/policyunits/BasicWeightSelectorPolicyUnitTest.java
A
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/scheduling/policyunits/RankSelectorPolicyUnitTest.java
M
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/ClusterPolicy.java
M
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnitType.java
11 files changed, 523 insertions(+), 36 deletions(-)
Approvals:
Martin Sivák: Verified
Jenkins CI: Passed CI tests
Roy Golan: Looks good to me, approved
--
To view, visit
https://gerrit.ovirt.org/47772
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: If63b90c3f5e02d9ccdc77dd920233e3013e933e0
Gerrit-PatchSet: 28
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Sivák <msivak(a)redhat.com>
Gerrit-Reviewer: Andrej Krejcir <akrejcir(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Jenny Tokar <jtokar(a)redhat.com>
Gerrit-Reviewer: Martin Sivák <msivak(a)redhat.com>
Gerrit-Reviewer: Phillip Bailey <phbailey(a)redhat.com>
Gerrit-Reviewer: Roman Mohr <rmohr(a)redhat.com>
Gerrit-Reviewer: Roy Golan <rgolan(a)redhat.com>
Gerrit-Reviewer: Yanir Quinn <yquinn(a)redhat.com>
Gerrit-Reviewer: gerrit-hooks <automation(a)ovirt.org>