The reason for this patch is the same as for Luxi backend fix.
Signed-off-by: Oleg Ponomarev <[email protected]>
---
lib/masterd/iallocator.py | 1 +
src/Ganeti/HTools/Backend/IAlloc.hs | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/masterd/iallocator.py b/lib/masterd/iallocator.py
index 547c939..d8b36ea 100644
--- a/lib/masterd/iallocator.py
+++ b/lib/masterd/iallocator.py
@@ -572,6 +572,7 @@ class IAllocator(object):
"master_capable": ninfo.master_capable,
"vm_capable": ninfo.vm_capable,
"ndparams": cfg.GetNdParams(ninfo),
+ "hv_state": cfg.GetFilledHvStateParams(ninfo)
})
for ninfo in node_cfg.values())
diff --git a/src/Ganeti/HTools/Backend/IAlloc.hs
b/src/Ganeti/HTools/Backend/IAlloc.hs
index d704950..5946efe 100644
--- a/src/Ganeti/HTools/Backend/IAlloc.hs
+++ b/src/Ganeti/HTools/Backend/IAlloc.hs
@@ -147,9 +147,11 @@ parseNode :: NameAssoc -- ^ The group association
parseNode ktg n a = do
let desc = "invalid data for node '" ++ n ++ "'"
extract x = tryFromObj desc a x
+ extractDef def key = fromObjWithDefault a key def
offline <- extract "offline"
drained <- extract "drained"
guuid <- extract "group"
+ hvstate <- extractDef emptyContainer "hv_state"
vm_capable <- annotateResult desc $ maybeFromObj a "vm_capable"
let vm_capable' = fromMaybe True vm_capable
gidx <- lookupGroup ktg n guuid
@@ -168,7 +170,8 @@ parseNode ktg n a = do
dfree <- lvextract 0 "free_disk"
ctotal <- lvextract 0.0 "total_cpus"
cnos <- lvextract 0 "reserved_cpus"
- let node = Node.create n mtotal mnode mfree dtotal dfree ctotal cnos
+ let node_mem = obtainNodeMemory hvstate mnode
+ node = Node.create n mtotal node_mem mfree dtotal dfree ctotal cnos
(not live || drained) sptotal spfree gidx excl_stor
return (n, node)
--
2.6.0.rc2.230.g3dd15c0