diff --git a/htools/Ganeti/HTools/Cluster.hs b/htools/Ganeti/HTools/Cluster.hs index e9e423afda5379deeabad98cb5fa976a7caae722..9500aeafa79213e88dbc52ca39bca6e9186b720e 100644 --- a/htools/Ganeti/HTools/Cluster.hs +++ b/htools/Ganeti/HTools/Cluster.hs @@ -1260,8 +1260,8 @@ computeMoves i inam mv c d = ReplacePrimary _ -> (printf "f r:%s f" c, [mig, rep c, mig]) where morf = if Instance.isRunning i then "migrate" else "failover" mig = printf "%s -f %s" morf inam::String - mig_any = printf "%s -f -n %s %s" morf c inam - rep n = printf "replace-disks -n %s %s" n inam + mig_any = printf "%s -f -n %s %s" morf c inam::String + rep n = printf "replace-disks -n %s %s" n inam::String -- | Converts a placement to string format. printSolutionLine :: Node.List -- ^ The node list @@ -1285,14 +1285,13 @@ printSolutionLine nl il nmlen imlen plc pos = (moves, cmds) = computeMoves inst inam mv npri nsec -- FIXME: this should check instead/also the disk template ostr = if old_sec == Node.noSecondary - then printf "%s" opri - else printf "%s:%s" opri osec + then printf "%s" opri::String + else printf "%s:%s" opri osec::String nstr = if s == Node.noSecondary - then printf "%s" npri - else printf "%s:%s" npri nsec + then printf "%s" npri::String + else printf "%s:%s" npri nsec::String in (printf " %3d. %-*s %-*s => %-*s %12.8f a=%s" - pos imlen inam pmlen (ostr::String) - pmlen (nstr::String) c moves, + pos imlen inam pmlen ostr pmlen nstr c moves, cmds) -- | Return the instance and involved nodes in an instance move. diff --git a/htools/Ganeti/HTools/Utils.hs b/htools/Ganeti/HTools/Utils.hs index 2bc73600d89c6cc2f285ade3939df72e96f6671a..d47f58143e3d205adcfe43f34b986b2398e85b57 100644 --- a/htools/Ganeti/HTools/Utils.hs +++ b/htools/Ganeti/HTools/Utils.hs @@ -2,7 +2,7 @@ {- -Copyright (C) 2009, 2010, 2011 Google Inc. +Copyright (C) 2009, 2010, 2011, 2012 Google Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,7 +40,6 @@ module Ganeti.HTools.Utils import Data.Char (toUpper) import Data.List -import Data.Ratio ((%)) import Debug.Trace @@ -178,8 +177,8 @@ parseUnitValue unit | unit == "T" || upper == "TB" = return $ mbFactor * kbDecimal * kbDecimal | otherwise = fail $ "Unknown unit '" ++ unit ++ "'" where upper = map toUpper unit - kbBinary = 1024 - kbDecimal = 1000 + kbBinary = 1024 :: Rational + kbDecimal = 1000 :: Rational decToBin = kbDecimal / kbBinary -- factor for 1K conversion mbFactor = decToBin * decToBin -- twice the factor for just 1K