Add a helper function converting ispecs to rspecs
authorIustin Pop <iustin@google.com>
Thu, 29 Dec 2011 10:53:42 +0000 (11:53 +0100)
committerIustin Pop <iustin@google.com>
Fri, 13 Jan 2012 13:16:36 +0000 (14:16 +0100)
The rspec type is simpler than the ispec one; most likely it should be
deprecated later.

Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: RenĂ© Nussbaumer <rn@google.com>

htools/Ganeti/HTools/Types.hs

index 497e877..cb69917 100644 (file)
@@ -75,6 +75,7 @@ module Ganeti.HTools.Types
   , ISpec(..)
   , IPolicy(..)
   , defIPolicy
+  , rspecFromISpec
   ) where
 
 import qualified Data.Map as M
@@ -187,6 +188,13 @@ $(THH.buildObject "IPolicy" "iPolicy"
   , THH.renameField "MaxSpec" $ THH.simpleField "max" [t| ISpec |]
   ])
 
+-- | Converts an ISpec type to a RSpec one.
+rspecFromISpec :: ISpec -> RSpec
+rspecFromISpec ispec = RSpec { rspecCpu = iSpecCpuCount ispec
+                             , rspecMem = iSpecMemorySize ispec
+                             , rspecDsk = iSpecDiskSize ispec
+                             }
+
 -- | The default instance policy.
 defIPolicy :: IPolicy
 defIPolicy = IPolicy { iPolicyStdSpec = defStdISpec