Safe Haskell | None |
---|
Implementation of global N+1 redundancy
Synopsis
- evac :: Gdx -> [Ndx] -> (List, List) -> Idx -> Result (List, List)
- recreate :: [Ndx] -> (List, List) -> Instance -> Result (List, List)
- canEvacuateNode :: (List, List) -> Node -> Bool
- redundant :: AlgorithmOptions -> List -> List -> Bool
- redundantGrp :: AlgorithmOptions -> List -> List -> Gdx -> Bool
- allocGlobalN1 :: AlgorithmOptions -> List -> List -> GenericAllocElement a -> Bool
Documentation
evac :: Gdx -> [Ndx] -> (List, List) -> Idx -> Result (List, List) Source #
Foldable function describing how a non-DRBD instance is to be evacuated.
recreate :: [Ndx] -> (List, List) -> Instance -> Result (List, List) Source #
Foldable function describing how a non-movable instance is to be recreated on one of the given nodes.
canEvacuateNode :: (List, List) -> Node -> Bool Source #
Decide if a node can be evacuated, i.e., all DRBD instances failed over and all shared/external storage instances moved off to other nodes.
redundant :: AlgorithmOptions -> List -> List -> Bool Source #
Predicate on wheter a given situation is globally N+1 redundant.
redundantGrp :: AlgorithmOptions -> List -> List -> Gdx -> Bool Source #
Predicate on wheter a given group is globally N+1 redundant.
:: AlgorithmOptions | |
-> List | the original list of nodes |
-> List | the original list of instances |
-> GenericAllocElement a | |
-> Bool |
Predicate on wheter an allocation element leads to a globally N+1 redundant state.