From 1de50907c387610e7f2e68c81c5195c97840d2fa Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Tue, 26 May 2009 10:28:25 +0100 Subject: [PATCH] Port offline node fixes from Rapi to IAllocator The IAllocator source was copied from Rapi before the offline node fixes were made. This changes such that offline nodes are accepted correctly. --- Ganeti/HTools/IAlloc.hs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Ganeti/HTools/IAlloc.hs b/Ganeti/HTools/IAlloc.hs index 07b114d7b..f3fc99687 100644 --- a/Ganeti/HTools/IAlloc.hs +++ b/Ganeti/HTools/IAlloc.hs @@ -64,15 +64,19 @@ parseInstance ktn n a = do parseNode :: String -> JSObject JSValue -> Result (String, Node.Node) parseNode n a = do let name = n - mtotal <- fromObj "total_memory" a - mnode <- fromObj "reserved_memory" a - mfree <- fromObj "free_memory" a - dtotal <- fromObj "total_disk" a - dfree <- fromObj "free_disk" a offline <- fromObj "offline" a drained <- fromObj "drained" a - return $ (name, Node.create n mtotal mnode mfree dtotal dfree - (offline || drained)) + node <- (case offline of + True -> return $ Node.create name 0 0 0 0 0 True + _ -> do + mtotal <- fromObj "total_memory" a + mnode <- fromObj "reserved_memory" a + mfree <- fromObj "free_memory" a + dtotal <- fromObj "total_disk" a + dfree <- fromObj "free_disk" a + return $ Node.create n mtotal mnode mfree + dtotal dfree (offline || drained)) + return (name, node) parseData :: String -> Result Request parseData body = do -- GitLab