Bug 1404242 - [RFE] Balancing VM's based on the relative memory amount on hosts
Summary: [RFE] Balancing VM's based on the relative memory amount on hosts
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: Backend.Core
Version: 4.1.0
Hardware: x86_64
OS: Linux
unspecified
high vote
Target Milestone: ---
: ---
Assignee: Nobody
QA Contact: Artyom
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-13 13:06 UTC by Artyom
Modified: 2017-01-09 12:21 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-09 12:21:33 UTC
oVirt Team: SLA
rule-engine: planning_ack?
rule-engine: devel_ack?
rule-engine: testing_ack?


Attachments (Terms of Use)

Description Artyom 2016-12-13 13:06:39 UTC
Description of problem:
We have two scheduling policies that can balance the VM's between cluster hosts by memory condition(PowerSaving, EvenlyDistributed). But the balancing does not work correctly in the case when we have hosts with the different amount of memory and we want to have some percentage of memory free on each host.

Version-Release number of selected component (if applicable):
ovirt-engine-4.1.0-0.2.master.20161212172238.gitea103bd.el7.centos.noarch

How reproducible:
Always

Steps to Reproduce:
1. Add two hosts to the engine, host_1 has 4Gb of memory and host_2 has 16Gb of memory.
2. I want that each host will have always 25% memory free
3.

Actual results:
If I will put maximal threshold to 4Gb(25% of 8Gb), I can not use the host with 4Gb at all.

Expected results:
I want to have possibility to define relative values for the upper and lower memory threshold under the scheduler policy(the same way as for CPU thresholds)

Additional info:
Just need to be aware of the fact that we can have the situation, when:
1) host_1 has 4Gb
2) host_2 has 16Gb
3) we define upper threshold to 25%
4) host_1 has 2Gb free memory(50% free memory)
5) host_2 has 7.2Gb free memory(45% free memory)
6) VM for the balancing has 3Gb of memory
If the balancing will choose the host with the biggest percentage of free memory we will choose host_1(but host_1 does not have enough memory to run VM's)
So I believe we need:
1) Filter destination hosts by free memory percentage
2) Order host by exact free memory in a descending way
3) Take first host from the hosts

Comment 1 Doron Fediuck 2017-01-09 12:21:33 UTC
Relative calculation is not a good fit for heterogeneous cluster.
Using a fix amount of memory works better regardless of the server memory size.


Note You need to log in before you can comment on or make changes to this bug.