htools: simplify select tests
[ganeti-local] / htools / Ganeti / HTools / Rapi.hs
index 19a3a20..ce310ed 100644 (file)
@@ -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