Bug 956750

Summary: vdsm is reporting negative values for available memory
Product: Red Hat Enterprise Virtualization Manager Reporter: Ido Begun <ibegun>
Component: ovirt-engineAssignee: Doron Fediuck <dfediuck>
Status: CLOSED CURRENTRELEASE QA Contact: Lukas Svaty <lsvaty>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.2.0CC: acathrow, asegundo, bazulay, byount, cpelland, danken, dfediuck, iheim, jkt, kcleveng, lpeer, michal.skrivanek, omasad, oramraz, pstehlik, Rhev-m-bugs, ukar, yeylon
Target Milestone: ---Keywords: Reopened, ZStream
Target Release: 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: sla
Fixed In Version: is6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 977758 982245 (view as bug list) Environment:
Last Closed: 2013-06-04 10:26:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: SLA RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 977758, 982245, 982639    
Attachments:
Description Flags
vdsm.log none

Description Ido Begun 2013-04-25 14:29:56 UTC
Created attachment 739934 [details]
vdsm.log

Description of problem:
VDSM is reporting negative values for available memory.

Version-Release number of selected component (if applicable):
vdsm-4.10.2-15.0

How reproducible:
100%

Steps to Reproduce:
1. Run memory load on host
2. vdsClient -s 0 getVdsStats | grep memAvailable
  
Actual results:
VDSM reports negative values ( memAvailable = -818 )

Expected results:
VDSM should never report negative values for available memory

Comment 1 Doron Fediuck 2013-06-03 12:04:09 UTC
*** Bug 966165 has been marked as a duplicate of this bug. ***

Comment 2 Saveliev Peter 2013-06-04 10:26:23 UTC
The current memory computation is accurate and takes into account memory overcommitment. That's why one can get negative values there even if there is no KSM running.

Maybe it should be mentioned in the docs — then open docs issue, please. But it is not a bug.

Comment 3 Oded Ramraz 2013-06-05 09:29:29 UTC
Peter , can we show 0 instead of negative number? 
Showing negative numbers as for available memory has bad user experience / impact.

Comment 4 Saveliev Peter 2013-06-05 09:45:12 UTC
Technically speaking, we can show anything. Yes, we can split one value into two: available memory (from 0 to N) and memory overcommitment (from -N to -1).

But since this particular value is used only in the engine, it is better to keep current behaviour:

1. users are not supposed to do anything with VDSM ←→ engine protocol
2. the engine can rely on this values

vdsClient is written to be used by experienced administrators and developers, so it is better to mention this particular case in the project documentation, 'cause it can be confusing.

Comment 5 Michal Skrivanek 2013-06-05 09:58:27 UTC
I second the suggestion to keep showing negative values and provide an explanation in docs.

Comment 6 Doron Fediuck 2013-06-10 16:00:05 UTC
Re-opening on the engine as this is creating false events in the system.
Additionally, the existing logic in the system should be verified in this light.

Comment 7 ofri 2013-06-23 07:45:33 UTC
After discussion: This bug will require both change in VDSM and engine. 
VDSM currently does not report the true free memory on the host. instead it reports the total memory minus the sum of all used memory (for all processes).
VDSM should report true free mem on host. this data should be the one referenced by the engine in context of 'minimum memory' events.

Comment 12 Itamar Heim 2014-01-21 22:28:52 UTC
Closing - RHEV 3.3 Released

Comment 13 Itamar Heim 2014-01-21 22:28:52 UTC
Closing - RHEV 3.3 Released

Comment 14 Itamar Heim 2014-01-21 22:31:52 UTC
Closing - RHEV 3.3 Released

Comment 15 Jiri Moskovcak 2014-02-24 15:16:32 UTC
*** Bug 1049859 has been marked as a duplicate of this bug. ***