X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/525bfb36bbd0404b8f2d49169ea20a6e3b064de6..22fac87dc25e7675a98797f0d9fd143f510abb11:/htools/Ganeti/HTools/Rapi.hs diff --git a/htools/Ganeti/HTools/Rapi.hs b/htools/Ganeti/HTools/Rapi.hs index 19a3a20..ce310ed 100644 --- a/htools/Ganeti/HTools/Rapi.hs +++ b/htools/Ganeti/HTools/Rapi.hs @@ -97,12 +97,6 @@ getGroups :: String -> Result [(String, Group.Group)] getGroups body = loadJSArray "Parsing group data" body >>= mapM (parseGroup . fromJSObject) --- | Generates a fake group list. -getFakeGroups :: Result [(String, Group.Group)] -getFakeGroups = - return [(defaultGroupID, - Group.create "default" defaultGroupID AllocPreferred)] - -- | Construct an instance from a JSON object. parseInstance :: NameAssoc -> JSRecord @@ -125,8 +119,9 @@ parseInstance ktn a = do running <- extract "status" a tags <- extract "tags" a auto_balance <- extract "auto_balance" beparams + dt <- extract "disk_template" a let inst = Instance.create name mem disk vcpus running tags - auto_balance pnode snode + auto_balance pnode snode dt return (name, inst) -- | Construct a node from a JSON object. @@ -178,12 +173,7 @@ readData master = do parseData :: (Result String, Result String, Result String, Result String) -> Result ClusterData parseData (group_body, node_body, inst_body, tags_body) = do - group_data <- - -- TODO: handle different ganeti versions properly, not via "all - -- errors mean Ganeti 2.3" - case group_body of - Bad _ -> getFakeGroups - Ok v -> getGroups v + group_data <- group_body >>= getGroups let (group_names, group_idx) = assignIndices group_data node_data <- node_body >>= getNodes group_names let (node_names, node_idx) = assignIndices node_data