The evac-mode goes into the Types.hs module since it needs to be
available to Cluster.hs too.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
, lookupGroup
, commonSuffix
, RelocMode(..)
+ , EvacMode(..)
, RqType(..)
, Request(..)
, ClusterData(..)
-- secondary node
| Evacuate [Ndx] -- ^ Evacuate nodes
| MultiReloc [Idx] RelocMode -- ^ Multi-relocate mode
+ | NodeEvacuate [Idx] EvacMode -- ^ node-evacuate mode
deriving (Show, Read)
-- | A complete request, as received from Ganeti.
, OpResult(..)
, connTimeout
, queryTimeout
+ , EvacMode(..)
) where
import qualified Data.Map as M
name = nameOf e
-- | Updates the index of the element
setIdx :: a -> Int -> a
+
+-- | The iallocator node-evacuate evac_mode type.
+data EvacMode = ChangePrimary
+ | ChangeSecondary
+ | ChangeAll
+ deriving (Show, Read)
idx reqn exnodes
Evacuate exnodes -> Cluster.tryMGEvac gl nl il exnodes
MultiReloc _ _ -> fail "multi-reloc not handled"
+ NodeEvacuate _ _ -> fail "node-evacuate not handled"
-- | Reads the request from the data file(s)
readRequest :: Options -> [String] -> IO Request