ganeti
Safe HaskellNone

Ganeti.HTools.GlobalN1

Description

Implementation of global N+1 redundancy

Synopsis

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.

allocGlobalN1 Source #

Arguments

:: 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.