From b003b8c0cf3799ab079369506c4a74c4ab3707cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Nussbaumer?= <rn@google.com>
Date: Tue, 13 Mar 2012 11:52:27 +0100
Subject: [PATCH] htools: Convert all the other backends as this is trivial
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: RenΓ© Nussbaumer <rn@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
---
 htools/Ganeti/HTools/IAlloc.hs | 3 ++-
 htools/Ganeti/HTools/Luxi.hs   | 8 +++++---
 htools/Ganeti/HTools/Rapi.hs   | 3 ++-
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/htools/Ganeti/HTools/IAlloc.hs b/htools/Ganeti/HTools/IAlloc.hs
index d881921ce..3d1762689 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 c484223cc..cbe8fdb2f 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 bae15661d..e4952bb91 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.
-- 
GitLab