These patches were extended, refactored, then reviewed and merged using GitHub:
https://github.com/ganeti/ganeti/pull/33 https://github.com/ganeti/ganeti/pull/34 https://github.com/ganeti/ganeti/pull/35 On Wednesday, March 22, 2017 at 2:32:48 PM UTC, Viktor Bachraty wrote: > > > [This patch is reviewed in parallel on GitHub] > > Hi, > > Please review my latest take on fixing ganeti memory model. I've tried to > implement the memory model as discussed in [1] and proposed in [2], but > without introducing memory overcommitment (swap etc) or dependencies on > 2.17 features. The changes should fix missing memory, node memory as > reported by hbal & friends resulting in a more conservative estimation of > available memory on the node. This should prevent situations, when the KVM > node is involuntarily oversubscribed - as instances touch more memory, they > grow and at some point this leads to OOM kills. This implementation of the > proposed memory model can be easily extended to support memory > overcommitment (as in [2]) by adding additional state variables > (total/available swap size) and a additional constraint based on > overcommitment ratio, some hints are left in code comments. > > To comment on this patch using GitHub see [3]. > > [1] https://code.google.com/p/ganeti/issues/detail?id=127 > [2] > https://groups.google.com/forum/#!searchin/ganeti-devel/memory$20model%7Csort:relevance/ganeti-devel/lDfiAvBeqPw/JBXyAUfuAwAJ > > [3] https://github.com/RafaelMarinheiro/ganeti/pull/3 > > Viktor Bachraty (3): > Htools should use state-of-record instance size > Add optStaticKvmNodeMemory to HTools > Redesign Ganeti memory model > > src/Ganeti/HTools/Backend/Luxi.hs | 19 ++-- > src/Ganeti/HTools/CLI.hs | 13 ++- > src/Ganeti/HTools/Cluster.hs | 17 ++-- > src/Ganeti/HTools/ExtLoader.hs | 6 +- > src/Ganeti/HTools/Loader.hs | 26 +++-- > src/Ganeti/HTools/Node.hs | 155 > +++++++++++++++++++++-------- > src/Ganeti/HTools/Program/Hail.hs | 1 + > src/Ganeti/HTools/Program/Hbal.hs | 1 + > src/Ganeti/HTools/Program/Hinfo.hs | 1 + > src/Ganeti/HTools/Program/Hroller.hs | 1 + > src/Ganeti/HTools/Program/Hspace.hs | 1 + > src/Ganeti/HTools/Program/Hsqueeze.hs | 1 + > test/hs/Test/Ganeti/HTools/Backend/Text.hs | 14 ++- > test/hs/Test/Ganeti/HTools/Node.hs | 11 +- > 14 files changed, 190 insertions(+), 77 deletions(-) > > -- > 2.12.0.367.g23dc2f6d3c-goog > >
