Safe Haskell | None |
---|
Ganeti.HTools.Backend.IAlloc
Description
Implementation of the iallocator interface.
Synopsis
- formatAllocate :: List -> GenericAllocSolution a -> Result IAllocResult
- formatMultiAlloc :: (List, List, GenericAllocSolutionList a) -> Result IAllocResult
- processRelocate :: AlgorithmOptions -> List -> List -> List -> Idx -> Int -> [Ndx] -> Result (List, List, [Ndx])
- readRequest :: FilePath -> Int -> IO Request
- formatIAllocResult :: Result IAllocResult -> (Maybe (List, List), String)
- runIAllocator :: AlgorithmOptions -> Request -> (Maybe (List, List), String)
- loadData :: FilePath -> Int -> IO (Result ClusterData)
Documentation
formatAllocate :: List -> GenericAllocSolution a -> Result IAllocResult Source #
Convert allocation/relocation results into the result format.
formatMultiAlloc :: (List, List, GenericAllocSolutionList a) -> Result IAllocResult Source #
Convert multi allocation results into the result format.
Arguments
:: AlgorithmOptions | |
-> List | The group list |
-> List | The node list |
-> List | The instance list |
-> Idx | The index of the instance to move |
-> Int | The number of nodes required |
-> [Ndx] | Nodes which should not be used |
-> Result (List, List, [Ndx]) | Solution list |
Runs relocate for a single instance.
This is wrapper over the tryNodeEvac
function that is run
with a single instance (ours), and further it checks that the
result it got (in the nodes field) is actually consistent, as
tryNodeEvac is designed to output primarily an opcode list, not a
node list.
Arguments
:: FilePath | Path to IAllocator input file |
-> Int | Static node memory size, see optStaticKvmNodeMemory |
-> IO Request |
Reads the request from the data file(s).
formatIAllocResult :: Result IAllocResult -> (Maybe (List, List), String) Source #
Format an IAlloc result to maybe the new cluster and a response.
runIAllocator :: AlgorithmOptions -> Request -> (Maybe (List, List), String) Source #
Main iallocator pipeline.
Arguments
:: FilePath | Path to IAllocator input file |
-> Int | Static node memory size, see optStaticKvmNodeMemory |
-> IO (Result ClusterData) |
Load the data from an iallocation request file