This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1278324 - CPU limitation for VM does not work when balloon device is not present
CPU limitation for VM does not work when balloon device is not present
Status: CLOSED DUPLICATE of bug 1337834
Product: mom
Classification: oVirt
Component: Core (Show other bugs)
0.5.1
All Linux
high Severity high (vote)
: ovirt-4.0.1
: ---
Assigned To: Martin Sivák
Ilanit Stein
:
Depends On:
Blocks: 1191119
  Show dependency treegraph
 
Reported: 2015-11-05 04:30 EST by Artyom
Modified: 2016-06-15 04:51 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-06-15 04:51:33 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: SLA
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
rgolan: ovirt‑4.0.z?
rule-engine: planning_ack?
rule-engine: devel_ack?
rule-engine: testing_ack?


Attachments (Terms of Use)
host logs (5.58 MB, application/zip)
2015-11-05 04:30 EST, Artyom
no flags Details
mom debug (30.32 KB, text/plain)
2015-11-08 03:04 EST, Artyom
no flags Details

  None (edit)
Description Artyom 2015-11-05 04:30:14 EST
Created attachment 1089995 [details]
host logs

Description of problem:
CPU limitation not works on vm, it does not matter what cpu profile use vm.

Version-Release number of selected component (if applicable):
mom-0.5.1-1.el7ev.noarch
vdsm-4.17.10.1-0.el7ev.noarch

How reproducible:
Always

Steps to Reproduce:
1. Create CPU QoS with 10% limitation
2. Create CPU profile with CPU QoS above
3. Attach CPU profile above to vm(have number of cpu equal to half of hosts cpu's)
4. Load vm CPU to 100%

Actual results:
Host CPU loaded to 50%

Expected results:
Host CPU must be loaded only on 10%

Additional info:
I do not really sure if problem in MoM of in VDSM

Also I do not see at all parameters of period and quota under <cputune> parameter
<metadata xmlns:ovirt="http://ovirt.org/vm/tune/1.0">                                                                                                   
    <ovirt:qos xmlns:ovirt="http://ovirt.org/vm/tune/1.0">                                                                                                
        <ovirt:vcpuLimit>10</ovirt:vcpuLimit>
</ovirt:qos>
  </metadata>
  <maxMemory slots='16' unit='KiB'>4294967296</maxMemory>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static' current='12'>16</vcpu>
  <cputune>
    <shares>1020</shares>
  </cputune>
Comment 1 Martin Sivák 2015-11-06 05:32:43 EST
I do not see the ready status for the VM in mom.log. That usually means some data is missing for mom to start the policy evaluation.
Comment 2 Martin Sivák 2015-11-06 05:33:44 EST
Can you run the test with DEBUG logging enabled please?
Comment 3 Artyom 2015-11-08 03:04 EST
Created attachment 1091225 [details]
mom debug
Comment 4 Martin Sivák 2015-11-10 09:21:03 EST
So the issue is that balloon info is missing:

test_cpu_profile: Incomplete data: missing set(['balloon_max', 'balloon_cur', 'balloon_min'])

The balloonInfo should always be reported by VDSM. Can you attach the getVmStats output for the VM please?
Comment 5 Martin Sivák 2015-11-10 10:01:55 EST
Ok so we found out what is wrong. This whole issue is caused by a missing memory balloon device which is currently required for any QoS to work properly.

Can you please check whether your VM had a memory ballon device enabled checkbox set in the VM edit / Resource allocation subtab?
Comment 6 Artyom 2015-11-10 10:43:14 EST
You right, balloon device under vm disabled, if I enabled it I can see that period and quota appear under dumpxml:
<cputune>
    <shares>1020</shares>
    <period>100000</period>
    <quota>20000</quota>
</cputune> 

But I first time hear that QoS need balloon device to work, we just add vm to some cgroup with specific parameters on host, how it connect to balloon device?
Comment 7 Martin Sivák 2015-11-10 11:18:35 EST
MOM requires the balloon device to be able to do the load computations based on memory. It might not be necessary in this case though so the bug might still be valid with a different title.

And btw, balloon was always required. I am lowering the severity and removing the regression keyword.
Comment 8 Sandro Bonazzola 2016-05-02 05:47:41 EDT
Moving from 4.0 alpha to 4.0 beta since 4.0 alpha has been already released and bug is not ON_QA.
Comment 9 Yaniv Lavi (Dary) 2016-05-23 09:12:44 EDT
oVirt 4.0 beta has been released, moving to RC milestone.
Comment 10 Martin Sivák 2016-06-15 04:51:33 EDT

*** This bug has been marked as a duplicate of bug 1337834 ***

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