Bug 977758

Summary: vdsm is reporting negative values for available memory
Product: Red Hat Enterprise Virtualization Manager Reporter: Doron Fediuck <dfediuck>
Component: vdsmAssignee: Doron Fediuck <dfediuck>
Status: CLOSED ERRATA QA Contact: Lukas Svaty <lsvaty>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.2.0CC: abaron, acathrow, asegundo, bazulay, byount, cpelland, danken, dfediuck, iheim, jkt, lpeer, michal.skrivanek, oramraz, pstehlik, Rhev-m-bugs, yeylon
Target Milestone: ---Keywords: Reopened, Triaged, ZStream
Target Release: 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: sla
Fixed In Version: is6 Doc Type: Bug Fix
Doc Text:
For various reasons, such as memory over-commitment usage, VDSM could end up reporting negative memory values, which could affect scheduling decisions. The new memFree option reports a proper value, so scheduling now gets the proper information.
Story Points: ---
Clone Of: 956750
: 982639 (view as bug list) Environment:
Last Closed: 2014-01-21 16:09:20 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: 956750, 982245    
Bug Blocks: 982639    

Description Doron Fediuck 2013-06-25 09:28:37 UTC
Cloning for VDSM part

+++ This bug was initially created as a clone of Bug #956750 +++

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

--- Additional comment from Doron Fediuck on 2013-06-03 15:04:09 IDT ---



--- Additional comment from Saveliev Peter on 2013-06-04 13:26:23 IDT ---

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.

--- Additional comment from Oded Ramraz on 2013-06-05 12:29:29 IDT ---

Peter , can we show 0 instead of negative number? 
Showing negative numbers as for available memory has bad user experience / impact.

--- Additional comment from Saveliev Peter on 2013-06-05 12:45:12 IDT ---

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.

--- Additional comment from Michal Skrivanek on 2013-06-05 12:58:27 IDT ---

I second the suggestion to keep showing negative values and provide an explanation in docs.

--- Additional comment from Doron Fediuck on 2013-06-10 19:00:05 IDT ---

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.

--- Additional comment from ofri on 2013-06-23 10:45:33 IDT ---

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 4 Charlie 2013-11-28 00:31:25 UTC
This bug is currently attached to errata RHBA-2013:15291. If this change is not to be documented in the text for this errata please either remove it from the errata, set the requires_doc_text flag to 
minus (-), or leave a "Doc Text" value of "--no tech note required" if you do not have permission to alter the flag.

Otherwise to aid in the development of relevant and accurate release documentation, please fill out the "Doc Text" field above with these four (4) pieces of information:

* Cause: What actions or circumstances cause this bug to present.
* Consequence: What happens when the bug presents.
* Fix: What was done to fix the bug.
* Result: What now happens when the actions or circumstances above occur. (NB: this is not the same as 'the bug doesn't present anymore')

Once filled out, please set the "Doc Type" field to the appropriate value for the type of change made and submit your edits to the bug.

For further details on the Cause, Consequence, Fix, Result format please refer to:

https://bugzilla.redhat.com/page.cgi?id=fields.html#cf_release_notes 

Thanks in advance.

Comment 5 errata-xmlrpc 2014-01-21 16:09:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-0040.html