diff --git a/htools/Ganeti/HTools/IAlloc.hs b/htools/Ganeti/HTools/IAlloc.hs index d881921ce906e16683b1548c4b74b30304f0272b..3d1762689959732602df59de12781e7057d2d5b1 100644 --- a/htools/Ganeti/HTools/IAlloc.hs +++ b/htools/Ganeti/HTools/IAlloc.hs @@ -70,7 +70,8 @@ parseBaseInstance n a = do vcpus <- extract "vcpus" tags <- extract "tags" dt <- extract "disk_template" - return (n, Instance.create n mem disk vcpus Running tags True 0 0 dt 1) + su <- extract "spindle_usage" + return (n, Instance.create n mem disk vcpus Running tags True 0 0 dt su) -- | Parses an instance as found in the cluster instance list. parseInstance :: NameAssoc -- ^ The node name-to-index association list diff --git a/htools/Ganeti/HTools/Luxi.hs b/htools/Ganeti/HTools/Luxi.hs index c484223cc346c18479a9900ef9dce39fa6262d20..cbe8fdb2f06ae51ee4fd5c1011fcc5fa023cce1e 100644 --- a/htools/Ganeti/HTools/Luxi.hs +++ b/htools/Ganeti/HTools/Luxi.hs @@ -106,7 +106,8 @@ queryInstancesMsg :: L.LuxiOp queryInstancesMsg = L.Query L.QRInstance ["name", "disk_usage", "be/memory", "be/vcpus", "status", "pnode", "snodes", "tags", "oper_ram", - "be/auto_balance", "disk_template"] () + "be/auto_balance", "disk_template", + "be/spindle_usage"] () -- | The input data for cluster query. queryClusterInfoMsg :: L.LuxiOp @@ -145,7 +146,7 @@ parseInstance :: NameAssoc -> Result (String, Instance.Instance) parseInstance ktn [ name, disk, mem, vcpus , status, pnode, snodes, tags, oram - , auto_balance, disk_template ] = do + , auto_balance, disk_template, su ] = do xname <- annotateResult "Parsing new instance" (fromJValWithStatus name) let convert a = genericConvert "Instance" xname a xdisk <- convert "disk_usage" disk @@ -162,8 +163,9 @@ parseInstance ktn [ name, disk, mem, vcpus xtags <- convert "tags" tags xauto_balance <- convert "auto_balance" auto_balance xdt <- convert "disk_template" disk_template + xsu <- convert "be/spindle_usage" su let inst = Instance.create xname xmem xdisk xvcpus - xrunning xtags xauto_balance xpnode snode xdt 1 + xrunning xtags xauto_balance xpnode snode xdt xsu return (xname, inst) parseInstance _ v = fail ("Invalid instance query result: " ++ show v) diff --git a/htools/Ganeti/HTools/Rapi.hs b/htools/Ganeti/HTools/Rapi.hs index bae15661d1e52b28eefd8022d8b32c6d6c75408e..e4952bb91c75352a2415bb75aea25a2caa558ff3 100644 --- a/htools/Ganeti/HTools/Rapi.hs +++ b/htools/Ganeti/HTools/Rapi.hs @@ -123,8 +123,9 @@ parseInstance ktn a = do tags <- extract "tags" a auto_balance <- extract "auto_balance" beparams dt <- extract "disk_template" a + su <- extract "spindle_usage" beparams let inst = Instance.create name mem disk vcpus running tags - auto_balance pnode snode dt 1 + auto_balance pnode snode dt su return (name, inst) -- | Construct a node from a JSON object.