Incorrect handling of overcommit_memory kernel sysctl.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Medium
|
Eric MacDonald |
Bug Description
Title
-----
Incorrect handling of overcommit_memory kernel sysctl.
Brief Description
-----------------
In the code for collectd (and similar code for rmon) there is logic that reads /proc/sys/
Unfortunately, this is wrong. A value of 0 means "heuristic overcommit", a value of 1 means "always overcommit", while a value of 2 means "don't overcommit". (See https:/
The end result is that we end up raising critical memory alarms when there is still 50% of the memory unused.
Severity
--------
Major: it results in a spurious critical memory alarm, which causes the node to go "degraded"
Steps to Reproduce
------------------
Install StarlingX, configure with "--kubernetes", install openstack application. Active controller node will be degraded due to spurious critical memory alarm.
Expected Behavior
------------------
There is over 50% of memory still unused, should not have critical memory alarm.
Actual Behavior
----------------
There's a spurious critical memory alarm.
Reproducibility
---------------
Reproducible
System Configuration
-------
Dedicated storage, kubernetes
Branch/Pull Time/Commit
-------
starlingx master branch, 2018-12-10_20-18-00
Timestamp/Logs
--------------
N/A
description: | updated |
Changed in starlingx: | |
assignee: | nobody → Eric MacDonald (rocksolidmtce) |
tags: | added: stx.metal |
Changed in starlingx: | |
importance: | Undecided → Medium |
tags: | added: stx.2019.03 |
tags: |
added: stx.2019.05 removed: stx.2019.03 |
tags: |
added: stx.2.0 removed: stx.2019.05 |
Reviewed: https:/ /review. openstack. org/624821 /git.openstack. org/cgit/ openstack/ stx-integ/ commit/ ?id=0ec17253719 2932c11f7a9cdc7 99fbc7e49a22e1
Committed: https:/
Submitter: Zuul
Branch: master
commit 0ec172537192932 c11f7a9cdc799fb c7e49a22e1
Author: Eric MacDonald <email address hidden>
Date: Wed Dec 12 17:15:10 2018 -0500
Fix collectd Memory plugin Strict Mode learning
Existing code sets overcommit strict mode to True vm/overcommit_ memory.
if any non-zero value is returned from a read
of /proc/sys/
This is incorrect.
Strict mode should only be set when the returned
value is 2.
Change-Id: I2c5328624571bb 3b2f478d5a79615 650bb92cbd2
Closes-Bug: 1808225
Signed-off-by: Eric MacDonald <email address hidden>