From 34c00528ac07cadc45cf805e210bd09ae1e66ce4 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Tue, 21 Dec 2010 11:14:30 +0100 Subject: [PATCH] Convert Loader.RqType to ClusterData Signed-off-by: Iustin Pop <iustin@google.com> Reviewed-by: Balazs Lecz <leczb@google.com> --- Ganeti/HTools/IAlloc.hs | 2 +- Ganeti/HTools/Loader.hs | 2 +- hail.hs | 13 +++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Ganeti/HTools/IAlloc.hs b/Ganeti/HTools/IAlloc.hs index f015f9d42..68a598f5b 100644 --- a/Ganeti/HTools/IAlloc.hs +++ b/Ganeti/HTools/IAlloc.hs @@ -156,7 +156,7 @@ parseData body = do let ex_ndx = map Node.idx ex_nodes return $ Evacuate ex_ndx other -> fail ("Invalid request type '" ++ other ++ "'") - return $ Request rqtype map_g map_n map_i ptags + return $ Request rqtype (ClusterData map_g map_n map_i ptags) -- | Format the result formatRVal :: RqType -> [Node.AllocElement] -> JSValue diff --git a/Ganeti/HTools/Loader.hs b/Ganeti/HTools/Loader.hs index 81ccbfee9..13c10d655 100644 --- a/Ganeti/HTools/Loader.hs +++ b/Ganeti/HTools/Loader.hs @@ -73,7 +73,7 @@ data RqType deriving (Show) -- | A complete request, as received from Ganeti. -data Request = Request RqType Group.List Node.List Instance.List [String] +data Request = Request RqType ClusterData deriving (Show) -- | The cluster state. diff --git a/hail.hs b/hail.hs index 9fdaea64d..ed6700571 100644 --- a/hail.hs +++ b/hail.hs @@ -37,7 +37,7 @@ import qualified Ganeti.HTools.Cluster as Cluster import Ganeti.HTools.CLI import Ganeti.HTools.IAlloc import Ganeti.HTools.Types -import Ganeti.HTools.Loader (RqType(..), Request(..)) +import Ganeti.HTools.Loader (RqType(..), Request(..), ClusterData(..)) import Ganeti.HTools.ExtLoader (loadExternalData) -- | Options list and functions @@ -68,7 +68,7 @@ processResults _ as = processRequest :: Request -> Result Cluster.AllocSolution processRequest request = - let Request rqtype gl nl il _ = request + let Request rqtype (ClusterData gl nl il _) = request in case rqtype of Allocate xi reqn -> Cluster.tryMGAlloc gl nl il xi reqn Relocate idx reqn exnodes -> Cluster.tryReloc nl il idx reqn exnodes @@ -90,8 +90,8 @@ readRequest opts args = do r2 <- if isJust (optDataFile opts) || (not . null . optNodeSim) opts then do (gl, nl, il, ctags) <- loadExternalData opts - let Request rqt _ _ _ _ = r1 - return $ Request rqt gl nl il ctags + let Request rqt _ = r1 + return $ Request rqt (ClusterData gl nl il ctags) else return r1 return r2 @@ -105,11 +105,12 @@ main = do request <- readRequest opts args - let Request rq _ nl _ _ = request + let Request rq cdata = request when (isJust shownodes) $ do hPutStrLn stderr "Initial cluster status:" - hPutStrLn stderr $ Cluster.printNodes nl (fromJust shownodes) + hPutStrLn stderr $ Cluster.printNodes (cdNodes cdata) + (fromJust shownodes) let sols = processRequest request >>= processResults rq let (ok, info, rn) = -- GitLab