Commit e97f211e authored by Guido Trotter's avatar Guido Trotter
Browse files

parseNode: don't lookup values in drained nodes

Currently parseNode skips looking for values in offline nodes, but tries
to read them for drained ones. With this patch we treat offline and
drained nodes in the same way (which is compatible with the iallocator
protocol changes introduced in Ganeti 2.0.4, but also doesn't break
retrocompatibility). As a bonus we don't need to calculate the value of
the internal Node "offline" parameter, because we know that the node is
going to be online anyway, if we lookup values (and it was statically
set to offline, before, in the offline case).
Signed-off-by: default avatarGuido Trotter <>
Reviewed-by: default avatarMichael Hanselmann <>
parent a2e90275
......@@ -78,7 +78,7 @@ parseNode n a = do
let name = n
offline <- fromObj "offline" a
drained <- fromObj "drained" a
node <- (if offline
node <- (if offline || drained
then return $ Node.create name 0 0 0 0 0 0 True
else do
mtotal <- fromObj "total_memory" a
......@@ -88,7 +88,7 @@ parseNode n a = do
dfree <- fromObj "free_disk" a
ctotal <- fromObj "total_cpus" a
return $ Node.create n mtotal mnode mfree
dtotal dfree ctotal (offline || drained))
dtotal dfree ctotal False)
return (name, node)
-- | Top-level parser.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment